一文讀懂如何對混合型數據做聚類分析!

點擊上方關注,All in AI中國

總的來說,對無監督數據進行聚類並非易事。現如今的數據處理和探索無法準確的測量數據。這也意味著我們對數據的處理和探索變得愈發困難。

此外,關於在無監督學習的入門課程中,對拿來討論的理想的案例,k-means教程,也只適用於數值特性。

一文讀懂如何對混合型數據做聚類分析!

在這篇文章中,作者將通過R語言進行非監督分類訓練。

  • 第一部分包括方法論:作者正在討論使用距離的數學概念來衡量個體間相似性的問題。然後介紹了PAM集群算法(圍繞medoids進行分割)以及選擇最佳集群數(輪廓係數)的方法。
  • 在第二部分中,作者將使用uci機器學習數據庫中提供的銀行營銷數據集和Rtsne軟件包中的一些函數來說明該方法。該數據集與葡萄牙某銀行機構的電話營銷活動相關。我們會把這些數據用於對監督學習情況的討論。

第一部分:方法論

如何測量相似性

一文讀懂如何對混合型數據做聚類分析!

(數據科學家作用在於在對未知數據進行集群時,我們不能盲人摸象,只看到事物的一面。他們主張與數據產生一定的"距離",以便更全面地瞭解它們。)

距離是對個體之間相隔多遠的數值度量,也就是說,用於測量個體之間的接近度或相似度的度量。面對眾多的度量,作者必須要介紹的是Gower distance (1971)。

Gower距離被用於計算個體之間部分差異的平均值。(Gower距離的範圍為[0 1]。)

一文讀懂如何對混合型數據做聚類分析!

其中表示不相似的(d_ij ^ f)計算取決於被評估的變量的類型。這意味著每個特性都應該有一個固定的標準,並且兩個個體之間的距離是所有特性距離的平均值。

· 對於數值特性f,部分相異性是:觀察的絕對差異x_i和x_j之間的比率,從所有個體觀察到的最大範圍:d_ij ^ f = | x_i - x_j | / |(max_N(x) - min_N(x))| ,N是數據集中的個體數量。

一文讀懂如何對混合型數據做聚類分析!

數值特性的部分差異度計算(R_f =觀察到的最大範圍)

· 對於定性特性f,僅當觀測值y_i和y_j具有不同的值時,部分相異度等於1。否則為0。

注意:Gower距離可使用R集群包中的daisy()函數。首先自動標準化特性(即重新縮放以落在[0 1]範圍內)。

聚類算法:圍繞MEDOIDS(PAM)進行分區

Gower距離與k-medoids算法非常相似。k-medoid是一種經典的聚類技術,它將n個對象的數據集集群變為已知的k個集群。

與k-means算法非常相似,PAM具有以下特性:

· 優點:與k-means(由於使用距離的屬性)相比,它更直觀,對噪聲和異常值更敏感,並且它為每個集群產生一個"典型個體"。

· 缺點:它耗費時間,屬於計算機密集型(運行時和內存是二次的)。

評估數據集群內的一致性

除非你有一個很好的先驗原理來強制特定數量的集群k,否則你可能會向計算機請求基於統計數據的推薦。存在若干方法來限定所選的集群的相關性。在第二部分中,我們使用了輪廓係數。

解釋

基本上有兩種方法可以調查這種集群實踐的結果,以便得出一些專業的解釋。

1.每個集群基本都要使用R中的summary()函數。

2.學會利用t-SNE,它是一種用於降維的技術,其特別適合於高維數據集的可視化。

我們在用例中介紹了這兩種情況(第二部分)。讓我們應用和說明!

第二部分:使用案例

在此用例中,我們將嘗試根據以下特性對銀行客戶進行分組:

· 年齡(數字)

· 工作類型(類別):'行政'、'藍領'、'企業家'、'女傭'、'管理'、'退休'、'自僱'、'服務'、'學生'、'技師'、'失業'、'未知'

· 婚姻狀況(類別):'離婚'、'已婚'、'單身'、'未知'

· 教育(類別):'初級'、'中級'、'大專'、'未知'

· 違約:有過違約記錄嗎?(類別):'沒有'、'有'、'未知'

· 餘額(數字):年平均餘額,以歐元為單位

· 住房:有住房貸款嗎?(類別):'沒有'、'有'、'未知'

一文讀懂如何對混合型數據做聚類分析!

一文讀懂如何對混合型數據做聚類分析!

根據Gower距離劃分的相似和不同的客戶:

一文讀懂如何對混合型數據做聚類分析!

一文讀懂如何對混合型數據做聚類分析!

一文讀懂如何對混合型數據做聚類分析!

一文讀懂如何對混合型數據做聚類分析!

一文讀懂如何對混合型數據做聚類分析!

在商業環境中,我們通常會搜索一些有意義且易於記憶的集群,即最多2到8個集群。輪廓圖有助於我們確定最佳選擇。

一文讀懂如何對混合型數據做聚類分析!

一文讀懂如何對混合型數據做聚類分析!

一文讀懂如何對混合型數據做聚類分析!

7具有最高的輪廓寬度。但是5更簡單,我們選擇k = 5

解釋

每個集群的摘要

一文讀懂如何對混合型數據做聚類分析!

在這裡,可以嘗試為集群內的客戶派生一些常見模式。例如,集群1由"管理x三級x無違約x無住房"客戶組成,集群2由"藍領x二級x無違約x住房"客戶等組成。

較低維度空間中的可視化

一文讀懂如何對混合型數據做聚類分析!

一文讀懂如何對混合型數據做聚類分析!

一文讀懂如何對混合型數據做聚類分析!

儘管不是很完美(尤其是集群3),但顏色大多位於相似區域,這證實了劃分的相關性。

結論

本文回顧了作者在嘗試對混合類型無監督數據集執行聚類算法時的想法。作者認為它可以為其他數據科學家帶來一些有意思的想法,從而實現共享。

一文讀懂如何對混合型數據做聚類分析!

運營:李佳惠


分享到:


相關文章: