2016-04-17 13 views
-3

前回の質問に続き、Pythonを使用して膨大な文字列のクラスタリングアルゴリズムを実装しました& Levenshtein distance..Butクラスタリングを完了するのに非常に時間がかかります。何か提案してください?再びリストをリスト内の各項目のループ ためのランでリストTHROLevenshtein distanceを使用してPythonで階層的クラスタリングを実装する

<> 反復、類似度>閾値場合に類似パーセンテージ を見つけるために、最初のループ

+1

Cythonでホットな部分を書き換えます。 –

答えて

0

のクラスタ 末尾に移動プロファイラを使用して、ほとんどの時間が費やされている場所を確認します。私はそれが実際のLevenshteinの計算にあると思うが、確かに良いことだ。それIFF は次のとおりです。

  1. はCythonとのレーベンシュタイン機能を実装します。これにより、すでに大規模なスピードアップが実現します。
  2. 複数のスレッドでペアを計算します。例えば。 1000文字列の場合は1000000ペアなので、8つのスレッドそれぞれに125000ペアを割り当てることができます。
+0

ありがとうございました。これをチェックしてみましょう。 –

+0

はいレベンズテン機能は時間の90%を取っています。 –

関連する問題