問題タブ [nmf]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
1771 参照

python - 疎行列の scikit-learn 非負行列分解 (NMF)

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

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

0 投票する
0 に答える
308 参照

scikit-learn - 「cdnmf_fast import _update_cdnmf_fast から」sklearn 並列モジュールを使用すると、並列化が機能しません。

(初めて質問するので、タグや説明が間違っていると思われる場合は、教えてください、ありがとう!)

私は作業を行っており 、モジュールが別のモジュールを Matrix Factorization使用するモジュールを使用しています。 このモジュールはファイルからのものです 。この Web サイトでソース コードを確認 できます/sklearn/decomposition/cdnmf_fast.pyx C 言語を使用していることがわかります。 with nogil:」なので、並列化を使用したに違いないと思います。したがって、次のようにテストするために同様のコードを記述します。sklearn.decomposition.nmffrom sklearn.decomposition.cdnmf_fast import _update_cdnmf_fastcdnmf_fast.so

期待される結果は、X=X+VW*U=0+V-0=V です。ただし、結果は奇妙で、np.dot() よりもはるかに遅いです。次に、このコードを並列化コードではなく、通常の Python コードに変更します。結果は以前と同じです。したがって、その並列化が機能していないと確信しています。Xを変更しながらXを使用しているため、結果はもちろん間違っています。並列化が機能しない理由がわかりません。モジュールのバグなのか、インポートの仕方のせいなのか。

実際、これは sklearn.decomposition.nmf モジュールを使用するときに心配になります。このモジュールをいつ使用するか、その並列化も機能していないかどうかはわかりません。そのため、並列化がどのように機能するかを知りたいです。

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