2016-05-13 5 views
-1

ソフトウェア工学の学生で、Data Miningの新機能で、興味とスキル(文字列セット)に基づいて類似のユーザーを見つけるソリューションを実装したいと考えています。String prepertiesに基づいた類似ユーザーの検索

は私が誰かを喜ばせることを助けることができれば、私は編集距離(レーベンシュタインまたは...)

を使用してK最近傍を使用しないことができると思い

+0

これらの文字列から機能を抽出することはあまりありません。 sklearn(美しいpythonベースのML-lib)[this](http://scikit-learn.org/stable/modules/feature_extraction.html)では、この種の前処理にドキュメントの一部が適用されています。全体の前処理は、何らかの形でモデル駆動されます。あなたの機能はbool、ordinalまたはnominalであり、前処理はこれを反映する必要があります。 – sascha

答えて

0

あなたが最初にすべきことは、いくつかのにデータを変換しています合理的な表現、適切に表現されたユーザー間の距離の明確な概念を持つようになります。

すべての文字列を標準形式に変換し、nという異なるスキルと興味文字列を辞書Dにソートすることをお勧めします。今度は各ユーザuv(u)nコンポーネントを構成します。辞書エントリiのプロパティが存在する場合はi番目のコンポーネントが1に設定され、それ以外の場合は0が設定されます。本質的には、各ユーザを、自分の興味/スキルの特徴的なベクトルで表現した。

Jaccard indexとユーザーを比較できるようになりました(これは単なる例であり、あなたにとって最適なものを見つけ出す必要があります)。手の届く距離の概念で、さまざまなアプローチを試みることができます。ここにいくつかの春の気があります:

  • ユーザーの数が十分に少ない場合、階層型クラスタリングを適用します。
  • association rule learningを適用します(詳細を考えておきます)。
  • など
関連する問題