2016-04-30 55 views
2

私は文字列のリストを持っており、Pythonでクラスタリングを使用して文字列を分類したいと考えています。Pythonの文字列クラスタリング

list = ['String1', 'String2', 'String3',...] 

私はLevenshtein距離を使いたいので、私はクラゲライブラリーを使用しました。与えられた2つの文字列が、私は彼らの距離は、この方法を見つけることができることを知っている:

jellyfish.levenshtein_distance('string1', 'string2') 

私の問題は、私は、各クラスタのPythonでリストを取得するためにscipy.cluster.hierarchyを使用する方法がわからないということです。私はまた、リンク機能を使用して試しました:

linkage(y[, method, metric]) 

しかし、私はクラスターで最終的なリストを得ることができません。

助けが必要ですか?

+1

はこちらをご覧:http://stackoverflow.com/questions/21638130/tutorial-for-scipy-cluster-hierarchy – tfv

答えて

0

あなたが持っている距離に階層的クラスタリングを実装するためにlinkageを使用した後、cluster.hierarchy.cut_treeを使用してツリーを切り取る必要があります。 次の2つのクラスタが必要な場合:

cluster.hierarchy.cut_tree(linkage_output,2).ravel() #.ravel makes it 1D array.