2012-12-18 45 views
0

請針對以下聚類問題編碼數據。 我有一個包含汽車使用信息的數據集。數據集有以下幾個字段: 1.汽車模型(豐田Celica,寶馬,日產X-Trail,馬自達科斯莫等) 2.建成年份 3.汽車運行的國家 4.專業之前駕駛的距離維修使用固定組件和連續組件對稀疏向量進行聚類

重要提示:上述數據集是稀疏。 在大多數情況下,對於給定的汽車,「距離」並不是所有國家都知道的。

問題: 對於給定的汽車,預測「距離」將在「距離」未知的國家進行大修之前運行。

我的方法: 我想將數據集中的每條記錄表示爲具有以下組件的稀疏向量: 1.二進制(1/0)汽車模型組件。這些組件的數量等於數據集中所有可能模型的數量。 2.二進制(1/0)汽車運行的國家。這些組件的數量等於數據集中所有可能國家的數量。 3.距離。單個整數分量等於汽車行駛的距離。

接着我想簇(k均值)這些載體並分析得到的基團。

問題: 1)在我的向量I混合不同性質的組成部分 - 二進制(模型,國家)和連續(距離)。如何計算矢量之間的分量距離?餘弦相似? 2)使用有限的一組值(模型,國家)對組件進行編碼的其他方法可以很好地處理連續組件(如距離)?

謝謝! 安東

回答

1

1)從我的經驗,規範僅僅是重量(例如整個數據集)的功能,其範圍是相似的。我認爲餘弦相似性不會很好 - 考慮兩輛車的距離分別爲1公里和2公里。他們的距離和它們的距離差異可以忽略不計,但對於餘弦相似性(如果我理解正確的話)相當重要。

2)由於車只能有1個模型和1個國家(I假設),每一個都可以只通過一個整數(0 =豐田Celica,1 = BMW,2 =日產奇駿,3 =馬自達表示科斯莫等)。

我假設你一無所知不同型號或國家之間的關係,所以只定義距離相等(1如果相等,則爲0,適當加權)將是你能做的最好的。如果一輛車可以有一個以上的車型或國家,我會建議海明距離。

我希望你剛纔不小心跳過建造年份說明你的方法時,這是顯著的數字數據。所有的說法,我不認爲集羣會工作得太好,除非你添加一些額外的功能(包括一些連續的(數字)數據),如make(豐田,日產,馬自達等),重量,國家平均氣溫,全國平均降雨量或降雪量,道路狀況的數字表示等)。據我所知,聚類對於非數字數據(例如make/model)並不能很好地工作,但如果加權正確(或者如果你可以定義不同品牌/型號之間的數學關係),我想它能行得通。

只是一個想法,而不是經緯度定義國家呢?然後你可以計算國家之間的距離。否則,如果可能的話,我可能會建議將其替換爲關於該國家的數字特徵。

備註 - 在聚類中使用二進制字段的問題(對於製造商/模型的平等)是您必須自己挑選重量。這意味着您將領導集羣,這可能會導致集羣混亂,或者最好導致集羣符合您對數據的先入之見。這就是爲什麼數字數據更好。