私はPythonでベクトルを動的に育てることを望んでいます。さらに、これらの疎ベクトル間の距離を計算したいと思います。scipy.spatial.distanceの距離関数を使用することをお勧めします(他の提案は歓迎します)。どのようにこれを行うにはどのようなアイデア? (初めは効率的である必要はありません)Python - 疎ベクトル/距離計算
ありがとうございます!
私はPythonでベクトルを動的に育てることを望んでいます。さらに、これらの疎ベクトル間の距離を計算したいと思います。scipy.spatial.distanceの距離関数を使用することをお勧めします(他の提案は歓迎します)。どのようにこれを行うにはどのようなアイデア? (初めは効率的である必要はありません)Python - 疎ベクトル/距離計算
ありがとうございます!
通常のPythonリスト(動的なもの)をベクトルとして使用できます。簡単な例を次に示します。それは持っている -
import numpy
a = numpy.array([1,2,3])
あなたの質問のまばらな部分は、私はそのためにscipyのダウンロードを使用したい不可欠である場合:aganders3の提案を1として
from scipy.spatial.distance import sqeuclidean
a = [1,2,3]
b = [0,0,0]
print sqeuclidean(a,b) # 14
、必要に応じて、あなたもnumpyの配列を使用することに注意してくださいスパース行列のサポート1xnの行列を定義してベクトルとして使用できます。これは、(パラメータはデフォルトではゼロで満たされ、行列のサイズである)作品:
sqeuclidean(scipy.sparse.coo_matrix((1,3)),scipy.sparse.coo_matrix((1,3))) # 0
スパースマトリックスのmany kinds、ベースの一部の辞書は(コメントを参照)があります。 [pairwise_distances(http://scikit-learn.sourceforge.net/dev/modules/generated/sklearn.metricsを参照して、疎な距離について
scipy.sparse.csr_matrix([1,2,3])
:あなたはこのようなリストから行スパース行列を定義することができます。 pairwise.pairwise_distances.html)をscikit-learnで学んでください。 scipy.spatial.distanceを使用すると、たとえばcdist(X.todense()、Y.todense()、metric = ...) – denis