这是一个全新的问题,我对Python很陌生,我了解NMF的基本知识,但是当用sklearn实现它时,似乎有点费解,我想问是否有人知道如何利用结果。
我从一个文件中导入了数据,创建并形成了一个数组,现在已经实现了一些我从在线学习指南中学到的初始NMF代码。
nmf = NMF(init='nndsvd', max_iter=2000, random_state=0, shuffle=False, solver='cd',verbose=0)
W = nmf.fit_transform(myfile);
H = nmf.components_;
#X_new = np.array(?)
#W_new = model.transform(X_new)但这是我迷路的地方--为什么我把最后两行评论掉了-- X_new是从哪里来的,我是不是应该被导入另一个矩阵来比较--我认为NMF的意义在于识别正在分析的矩阵的关键特性?
任何帮助都非常感谢。
发布于 2018-08-11 10:15:39
API允许两种类型的操作:学习和转换正在分析的矩阵。或者,学习一个矩阵(myfile / X)上的因式分解,然后对具有相同列数(但可能不同的行数)的新矩阵(X_new)应用相同的转换。
把它看作是学习一组输入数据的基变换(.fit方法),然后对新的数据集(.transform方法)应用相同的基变换。
如果您对转换相同的矩阵感兴趣(在您的例子中是我的文件),那么只使用fit_transform方法而不是转换。
https://datascience.stackexchange.com/questions/36765
复制相似问题