Używam kodu aktualnie podanego na http://www.quuxlabs.com/blogPrzykład faktoryzacji macierzy sklearn przykład
Daje dobry wynik. I widzę wyraźnie, jakie zmiany w matrycy się wydarzyły.
Próbowałem również użyć biblioteki sklearn pod adresem sklearn.decomposition.NMF Ale wyniki, które otrzymałem z tym samym wpisem, nie są wystarczająco dobre. Może coś mi brakuje.
Oto mój przykładowy kod -
from sklearn.decomposition import NMF , ProjectedGradientNMF
R = [
[5,3,0,1],
[4,0,0,1],
[1,1,0,5],
[1,0,0,4],
[0,1,5,4],
]
R = numpy.array(R)
nmf = NMF(beta=0.001, eta=0.0001, init='random', max_iter=2000,nls_max_iter=20000, random_state=0, sparseness=None,tol=0.001)
nR = nmf.fit_transform(R)
print nR
print
print nmf.reconstruction_err_
print
Nie jest utrzymanie wyjściu/wypełnionych wartości w macierzy jak widzę przy użyciu kodu podanego w blogu.
Czy ktoś może mi pomóc zrozumieć!
nie jesteś głupi. Dokumentacja nie jest dobra, jeśli musimy przeczytać źródło. (poza tym powinniśmy zawsze czytać kod i rozumieć, jak działa, a nie traktować go jak czarną skrzynkę). –
To wydaje się być stara odpowiedź. Czy zauważyłeś, że wyniki kodu http://www.quuxlabs.com/blog i sklearn są różne dla wartości 0? – futurenext110