如何測試我的二進制數據聚類是否重要
我正在做購物車分析我的數據集是一組交易向量,以及所購買的產品。
在交易上應用 k-means 時,我總會得到一些結果。隨機矩陣可能還會顯示一些簇。
有沒有辦法測試我發現的聚類是否重要,或者這很可能是一個巧合。如果是,我該怎麼做。
關於購物車分析,我認為主要目標是個性化客戶最常購買的產品組合。這
association rules
代表了這裡最自然的方法(實際上它們實際上是為此目的而開發的)。分析客戶購買的產品組合,以及這些組合重複的次數,得出“如果條件,則結果”類型的規則以及相應的興趣度測量。您還可以考慮Log-linear models
以調查所考慮變量之間的關聯。現在關於集群,這裡有一些可能會派上用場的信息:
起初考慮
Variable clustering
。變量聚類用於評估共線性、冗餘,並將變量分成可以作為單個變量評分的聚類,從而減少數據。查找varclus
函數(R 中的包 Hmisc)集群穩定性評估:函數
clusterboot
{R package fpc}用於集群驗證的基於距離的統計信息:函數
cluster.stats
{R package fpc}正如 mbq 所提到的,使用輪廓寬度來評估最佳集群數量。看這個。關於輪廓寬度,另請參見optsil函數。
通過差距統計估計數據集中的集群數量
要計算差異指數和距離測量,請參閱dsvdis和vegdist
EM 聚類算法可以通過交叉驗證來決定創建多少個聚類,(如果您不能先驗地指定要生成多少個聚類)。雖然 EM 算法保證收斂到最大值,但這是一個局部最大值,不一定與全局最大值相同。為了更好地獲得全局最大值,整個過程應該重複幾次,對參數值進行不同的初始猜測。整體對數似然圖可用於比較獲得的不同最終配置:只需選擇局部最大值中的最大值即可。您可以在開源項目WEKA中找到 EM 集群器的實現
這也是一個有趣的鏈接。
也在這裡搜索
Finding the Right Number of Clusters in k-Means and EM Clustering: v-Fold Cross-Validation
最後,您可以使用clusterfly探索聚類結果