當前位置:
首頁 > 最新 > ML:教你聚類並構建學習模型處理數據

ML:教你聚類並構建學習模型處理數據

翻譯: 王雨桐

校對: 顧佳妮

本文約1500字,建議閱讀6分鐘。

本文以Ames住房數據集為例,對數據進行聚類,並構建回歸模型。

摘要

本文將根據41個描述性分類特徵的維度,運用無監督主成分分析(PCA)和層次聚類方法對觀測進行分組。將數據聚類可以更好地用簡單的多元線性模型描述數據或者識別更適合其他模型的異常組。此方法被編寫在python類中,以便將來能實現類似網格搜索的參數優化。

結果與討論

本項目中,我們將機器學習技術應用於Ames住房數據集,用79個解釋變數來預測房屋的銷售價格,其中包括41個分類變數(分類型變數),38個連續數值變數(連續型變數)。在最初探索性數據分析(EDA)和特徵選擇的過程中,為了更好地理解數據,我們僅用兩個連續變數來擬合數據,以便通過三維散點圖反映數據和模型。通過列舉38個連續數值變數的所有雙變數排列組合併分別擬合線性回歸模型,我們選出了兩個對銷售價格預測能力最強的變數。在考慮整個訓練集時,地上居住面積和整體質量參數是最佳的預測指標,但這隻解釋了房屋銷售價73.9%的方差。通過使用41個分類特徵來識別數據集內的組群,我們可以將數據集分解為方差更小的子集,並找到更好地描述每個特定房屋子集的模型。

附Ames housing數據集:

https://www.kaggle.com/c/house-prices-advanced-regression-techniques

一個簡單的線性回歸模型可以體現地上居住面積和整體質量對住宅銷售價格的影響,它解釋了74%的房價變動

由於分類變數較多,並且對Ames房屋市場的專業知識有限,我們使用無監督的聚類方法找到變數里的模式並在此基礎上分組。首先通過PCA對數據集進行降維,以避免大量分類變數造成的「維度災難」效應。PCA還有其他的好處,它能把對總體方差沒有貢獻的變數數量降到最低,並且將維度降低到三維以便我們直觀地改進聚類演算法的圖形表示(並且將維度降低至三維,給了我們一個圖形化的分類效果展示,以便做出直觀地改進)。下圖展示了由PCA將分類變數降到3維的圖形:

由41個分類變數濃縮後的三維PCA空間數據表示

通過對此圖的初步觀察,數據大部分的差異體現在新的Y(垂直)維度。在X(寬度)和Z(深度)維度中,差異來源於設定的類別,進而導致數據形成垂直方向的條紋。由於群集的各向異性,我們利用有k-nearest neighbor connector參數的層次聚類演算法來定義組,這樣就不會將條帶分割成多個部分。(我們利用層次聚類演算法中的k鄰近演算法,在不把豎狀條紋割開的基礎上重新定義各個組。)(在Python的sklearn庫中,AgglomerativeClustering方法可以用於聚類。本案例中,基於Ward linkage標準把類的數量設置為6,以及由kneighbors_graph包生成連接數組,其中參數n_neighbors設置為20)。

層次聚類分組的PCA空間表示

基於鄰近地區著色和PCA降維的觀測有助於發現影響降維及聚類的因素

由PCA 、聚類方法生成的群集非常好地區別了分組中的垂直「條紋」。為了找到無監督聚類和其所對應的房屋特徵之間的相似點,這些群集也基於每個分類變數著色。其中一些彩色的散點圖類似於無監督聚類,表明這些特定的房子特徵在確定每個數據點的最終PCA向量時起較大的作用。特別注意的是,基於鄰近區域(neighborhood)著色突出了與無監督方法相似的垂直分組,這表明鄰近區域是影響分解子集的一個重要因素。為了此類應用,我們需要設計更精確的方法來確定每個因素對最終PCA維度的整體「貢獻」。

為了確定每個組中哪兩大因素是銷售價格最好的預測因素,我們用這6個集群把連續數值數據分為子集,並假設一個簡單的二元線性回歸模型

雖然有些節點比其他節點更適合線性回歸,但相比於將數據作為整體來處理,用模型擬合這些群集在精度上沒有累積差異。然而,這只是概念驗證的初始迭代,還沒有優化關鍵參數,如n_nodes、(節點數量),PCA dimensions(PCA維度)和KNN connectivity parameters(KNN連通度)。將這些方法編碼到一個python類中,它可以協助使用類似於網格搜索的優化過程來確定最佳的集群參數,從而最大化簡單線性回歸模型的準確性。請參考下列GitHub鏈接中的"MC_regressor_Code.ipynb":

https://github.com/dgoldman916/housing-ml。

未來工作

此時,「概念驗證」的關鍵缺失是對新數據進行訓練和分類的能力。在引入測試集時,要先基於訓練得到的參數將新數據被分為有標記的組。這就需要一個有監督的聚類方法,比如決策樹或支持向量機(SVM)。在添加此類函數之後,可以將其應用到組的其他工作流程中。我們可以通過預期的最終迭代在擬合穿過節點的更複雜的模型,並將這些模型的結果集中在一起。

原文標題:

Machine Learning: Unsupervised dimension reduction and clustering to process data for pooled regression models

https://nycdatascience.com/blog/student-works/machine-learning-unsupervised-dimension-reduction-and-clustering-to-process-data-for-pooled-regression-models/

譯者簡介

王雨桐,統計學在讀,數據科學碩士預備,跑步不停,彈琴不止。夢想把數據可視化當作藝術,目前日常是摸著下巴看機器學習。


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 數據派THU 的精彩文章:

一文讀懂深度學習模型近年來重要進展

TAG:數據派THU |