ソフトウェア工学の学生で、Data Miningの新機能で、興味とスキル(文字列セット)に基づいて類似のユーザーを見つけるソリューションを実装したいと考えています。String prepertiesに基づいた類似ユーザーの検索
は私が誰かを喜ばせることを助けることができれば、私は編集距離(レーベンシュタインまたは...)
を使用してK最近傍を使用しないことができると思い
ソフトウェア工学の学生で、Data Miningの新機能で、興味とスキル(文字列セット)に基づいて類似のユーザーを見つけるソリューションを実装したいと考えています。String prepertiesに基づいた類似ユーザーの検索
は私が誰かを喜ばせることを助けることができれば、私は編集距離(レーベンシュタインまたは...)
を使用してK最近傍を使用しないことができると思い
あなたが最初にすべきことは、いくつかのにデータを変換しています合理的な表現、適切に表現されたユーザー間の距離の明確な概念を持つようになります。
すべての文字列を標準形式に変換し、n
という異なるスキルと興味文字列を辞書D
にソートすることをお勧めします。今度は各ユーザu
のv(u)
のn
コンポーネントを構成します。辞書エントリi
のプロパティが存在する場合はi
番目のコンポーネントが1に設定され、それ以外の場合は0が設定されます。本質的には、各ユーザを、自分の興味/スキルの特徴的なベクトルで表現した。
Jaccard indexとユーザーを比較できるようになりました(これは単なる例であり、あなたにとって最適なものを見つけ出す必要があります)。手の届く距離の概念で、さまざまなアプローチを試みることができます。ここにいくつかの春の気があります:
これらの文字列から機能を抽出することはあまりありません。 sklearn(美しいpythonベースのML-lib)[this](http://scikit-learn.org/stable/modules/feature_extraction.html)では、この種の前処理にドキュメントの一部が適用されています。全体の前処理は、何らかの形でモデル駆動されます。あなたの機能はbool、ordinalまたはnominalであり、前処理はこれを反映する必要があります。 – sascha