聚類都有兩個前提:距離相近的實體更有可能是同乙個類;a與b相似,b與c相似,則a與c相似的可能性很大。所以,在聚類演算法中,距離的定義至關重要。
考慮一下購物籃分析,試著給商品聚類。所知道的資訊只有某些商品同時被買的記錄,這也是關聯規則發現所需要的最基本的資訊。
可以根據a和b出現在同一購物籃中的頻率來定義距離,頻率越高,則距離越小。
人的生活包含吃喝嫖賭,去商場買東西,是要滿足這些各個需求的,吃和喝,喝和嫖,嫖和賭一起出現的可能性很高,最終很有可能聚聚成乙個大類。
能聚類的不僅要有聚集性,還要有可分性,類內距離小,類間距離大。
聚類還應該有一些假設:資料由多個混合分布產生的。比如,k均值演算法在資料為多個高斯混合分布的時候,會表現很好,聚類中心接近高斯分布中心。
但是購物籃應該服從什麼分布呢?
假設人購物的需求來自四種類別:吃喝嫖賭。因為吃而購買吃的東西的可能性很大,購買其他的可能性很小,這個分布很高斯。
但是問題是購物行為並不是由一種類別驅動的,即乙個人想吃又想喝,購物籃就表現為吃喝共同影響的結果,並非某乙個類別分布影響的結果。
聯想到此前談到的樸素貝葉斯演算法的第二個假設:資料由乙個分布產生(web資料探勘原文92頁是:there is one-to-one correspondence between mixture components and document classes,這個定義是關於文字挖掘的,不知道怎麼翻譯)。購物籃分析並不符合第二個假設,所以購物籃不適合聚類和分類。
關聯規則分析相對聚類演算法,假設少,所以推廣泛化能力很弱,或者說根本沒有泛化能力,只是根據歷史資料總結一些規則,歷史中沒有出現的東西,關聯規則無能為力,比如某一商品沒有被買過,關聯規則演算法不會得到關於此商品的結論。
關聯規則就在於發現規則,聚類在此或許就沒有意義,因為商品的類別很清楚明白,不過聚類可以用在顧客集合上,距離也要重新定義了。
邊想邊寫,思路不是很整齊啊!
關聯規則發現和新詞發現
關聯規則發現常常用在購物籃分析中。假設a和b同時被買的頻率很高 支援度 買a的人同時買b的可能性也很高 置信度 則可以形成一條規則 a b。表示買a的人也會買b。對於自然語言處理來說,分詞非常關鍵,而分詞都要依賴詞庫。新詞每天都在產生,如果詞庫中不包含某乙個新詞,則這個詞就不會被分出來,所以自動發現...
R語言實戰k means聚類和關聯規則演算法
1 r語言關於k means聚類 資料集格式如下所示 河東路與嶴東路 河東路與聚賢橋路,河東路與嶴東路 新悅路與嶴東路,河東路與嶴東路 火炬路與聚賢橋路,河東路與嶴東路 火炬路與匯智橋路,河東路與嶴東路 匯智橋與智力島路,新悅路與嶴東路 火炬路與聚賢橋路,新悅路與嶴東路 河東路與聚賢橋路,新悅路與嶴...
聚類和EM演算法 密度聚類
模型原型 class sklearn.cluster.dbscan eps 0.5,min samples 5,metric euclidean algorithm auto leaf size 30,p none,random state none 引數 eps 引數,用於確定鄰域大小 min s...