numpy、scipy、scikit-learnモジュールでPythonを使用しています。スパース行列の類似度を計算する
非常に大きな疎な行列で配列を分類したいと思います。 (*10万10万)
行列の値は私が持っている唯一のものは
a = [0,1,0,1,0,1,0,1,0,1,0]
b = [0,0,1,0,1,0,1,0,1,0,1]
を意味する値= 1
a = [1,3,5,7,9]
b = [2,4,6,8,10]
のインデックスである0または1に等しいですscipyでインデックス配列をスパース配列に変更するにはどうすればよいですか?
これらの配列を簡単にどのように分類できますか?
ありがとうございました。
とにかく1であるので、フロートあたり64ビットではなく、それぞれ1ビットしか使用しません。 (私はこれがあなたの問題を解決することはないと知っていますが、あなたの質問は私にこの問題を提起させました) – usethedeathstar
どのような類似性を計算したいですか?インデックスを使うのではなく、なぜ疎な行列が必要なのですか? len(set(a)&set(b))/ float(len(a))のような単純なものはどうですか? –
実際には、これらの配列を類似性からグループ化したいと思います。たとえば、[1,1,1,0]は[1,1,0,0]に似ていますが、[0,0,0,1]とは逆です。列と行の数が多いためです。私はそれをもっと早くできる方法があるのか分かりません。 –