2016-05-13 27 views
-1

我是一名軟件工程專業的學生,​​也是Data Mining的新成員,我希望實施一種解決方案,根據用戶的興趣和技能(字符串集)找到類似的用戶。根據字符串屬性查找類似用戶

我想我不能使用k近鄰使用編輯距離(萊文斯坦或..)

如果有人可以提供幫助的請

+0

如果不從這些字符串中提取特徵,就沒有太多的工作要做。在sklearn(美麗的基於python的ML-lib)[this](http://scikit-learn.org/stable/modules/feature_extraction.html)文檔的一部分適用於這種預處理。整個預處理在某種程度上是模型驅動的。你的功能可能是bool,ordinal或名義上的,你的預處理應該反映這一點。 – sascha

回答

0

你應該做的第一件事是您的數據轉換成一些合理的代表,這樣你就可以在適當表示的用戶之間有一個明確的距離概念。

我建議將所有字符串轉換爲一些規範形式,然後將所有n不同技能和興趣字符串排序爲字典D。現在對於每個用戶u,構建一個帶有n組件的向量v(u),如果存在字典條目i中的屬性,則組件的第i個分組設置爲0,否則爲0。基本上,我們用每個用戶的興趣/技能來表示一個特徵向量。

現在您可以將用戶與Jaccard index進行比較(這只是一個示例,您必須找出最適合您的方式)。隨着距離的概念,你可以開始嘗試各種方法。下面是一些想到的春天: