2016-06-28 437 views
-1

我有一個數據集,它由建立names.eg {Hill View,Hills View,Hill Apartment ...}組成,我想使用機器學習對這些字符串進行聚類。聚類後​​,一個簇應該包含類似或有點類似的字符串{Hills,Hill ...}。我嘗試過各種scikit算法,如K-means,Affinity Propagation等,但沒有成功。善良的幫助。如何使用python中的機器學習來聚類不同的字符串

回答

0

機器學習並不神奇! 它使用數學對象和函數。

你需要的第一個步驟 - 通常稱爲數據挖掘 - 哪種在於:

  • 將任何輸入(字符串,圖片,視頻,什麼...),以 號(向量,矩陣或任何相關結構)。 (=輸入數字表示之間的距離〜=字符串,圖片,視頻之間的距離,任何東西)之間的距離和相似度。

這不是微不足道的,根據您的數據/目標可以採取不同的方式。

因爲我不知道你在CS/ML/Maths中的背景,所以我可以給你一個一般的方法,在一般情況下,它是相當好/容易的。

這是一般的言論,在實踐中,這個問題很複雜,並且有很多東西需要學習。 你很可能需要編輯距離這是詞之間最直觀的距離,你也應該考慮詞幹哪個。

如果沒有關於數據/上下文的更多信息,無法給出更好的瀏覽器。

問候

+0

明白了。修改文件聚類到字符串聚類使用kmeans ..它現在的作品:)。謝謝反正。:) –

0

明白了: 請點擊此鏈接文本聚類: http://brandonrose.org/clustering ,你有名稱的列表,它給出了一個確切的精確description.In爲了將其轉換成正常的字符串集羣(串)只是通過列表代替解釋中傳遞的標題列表。也可以將示例中的每個出現的提要列表替換爲要加入的列表(在此情況下包含要加入的字符串的列表)

你可以跳過一些片段,因爲它們提供了額外的信息該代碼不會傷害你最終的集羣。