I just posted part 1 of a 3-part series on unmixing of data sets using non-negative matrix factorization.

https://dblog.vitumbre.tech/dart/unmixing-using-non-negative-matrix-factorization-nmf-part-1-introduction-and-implementation/

Part 1 contains implementations in Python, Julia, and R, and includes an assessment of the relative accuracy of these implementations.

Parts 2 and 3 will follow shortly, and will contain more detail on the identification of, and accurate characterization of, unmixing end members.

#DataAnalysis #DataExploration #Python #JuliaLang #RStats #Unmixing #NMF

Unmixing Using Non-negative Matrix Factorization (NMF). Part 1: Introduction and Implementation

Data sets that can be represented as a matrix of cases (rows) and variables (columns) often have structure within them that is not immediately apparent. There are a number of techniques for identifying and characterizing hidden structure in data sets. Unmixing is a method that is appropriate when the data

Stones in my Shoe
@rdnielsen Nice comparison between the 3 languages. I’m curious to know which one you may have preferred to code in? For example, was there one language you found easier to express your ideas in? Is there one you find more readable?
@EpicBear
I have used Python for about 25 years, R for 20, and Julia for only about five--and not very intensively. I think Julia is the best language in a lot of ways, but I'll probably never be as fast with it as I am with Python, simply because of all the years of Python use. R was an essential language before Python had the numpy and scikit libraries, but now it feels a little clunky. But R has surely the broadest set of packages still.