2017-02-21 19 views
1

Scikit-learnの非負行列分解(NMF)を使用して、ゼロエントリにデータがない疎行列でNMFを実行しています。私は、Scikit-learnのNMF実装でゼロエントリが0または欠落しているデータを表示するかどうか疑問に思っていました。スパイク行列のScikit学習非負行列分解(NMF)

ありがとうございました!

答えて

1

欠損値は0にすることができますが、非常に疎なマトリックスのために一杯のゼロを格納するのではなく、各行がCSRフォーマットで格納されています。

推奨事項としてNMFを使用している場合、3つの行列がすべて負でないという条件でW.HがXにほぼ等しくなるようにWとHを見つけることによって、データ行列Xを因数分解します。この行列Xを再構成すると、欠損値の一部(ゼロを格納していた部分)はゼロ以外の値になり、ゼロが残る場合もあります。この時点で、再構成された行列では、値はあなたの予測値です。

質問に答えるには、NMFモデルのデータが0か欠落していますか?一度フィットしたNMFモデルには予測値が含まれるため、ゼロとしてカウントします。これは、データの欠損値を予測する方法です。

+0

「それらをゼロとしてカウントする」 - それはどういう意味ですか? @cechは、疎行列が暗示しているゼロエントリが損失関数(0のエントリを再構築しようとする$ WH $製品)であると考えているのか、あるいは損失関数が後で推論の暗黙のゼロエントリAは製品Bを評価しなかったが、彼がした場合には何を評価するだろう...そのユーザーではない。 – Robert

関連する問題