2014-02-18 39 views
0

我對數據挖掘項目工作了我的課,我想來看我的想法專家觀點:指導對數據挖掘項目

我的數據是有很多非常大的矩陣變量比例子(10,000,000對50),所以有一個overfitting的問題。

我想要做的是通過將變量重組爲「組」來理解這個數據集,因爲我覺得這些變量之間應該存在關聯(相關性)。爲此,我定義了變量之間的「距離」(Pearson Correlation)。

我想將聚類方法應用於變量以創建這些變量組(根據我的教授的建議)。

我的問題是這個數據集非常大,我知道任何聚類算法都需要一段時間才能執行。有沒有一種更適合這個問題的聚類方法?

+0

你應該減少了一些功能。在一千萬個空間中幾乎沒有任何工作要做。 – mp85

+0

考慮使用帶**索引支持**的軟件,因爲這可能有助於加速算法。我發現一些實現(特別是在純R和Weka中)比他們需要的慢得多。 –

+1

哦,如果碰巧這1000萬個變量是* binary *或* discrete *(例如因爲它們來自文本),您可能需要考慮適用於這些特定域的技術。例如爲文本設置和停止單詞過濾。 –

回答

0

您可以嘗試應用PCA來減少功能的數量(如果我理解正確,則將其稱爲變量),然後應用任何黑匣子聚類算法。

您可以使用PCA from sklearn來實現此目的。

一個示例代碼段是這樣:

def decomposition_pca(train_data): 
    dims_to_keep = #dimensions you want to retain (the # variables) 
    """ Linear dimensionality reduction """ 
    pca = decomposition.PCA(n_components = dims_to_keep, whiten=True) 
    train_pca = pca.fit_transform(train_data) 
    return train_pca 
+0

會嘗試這個,並會讓你知道thx – teaLeef

+0

你有關於PCA應用後的聚類方法的建議嗎? – teaLeef

+0

既然你沒有提及你的數據,我不認爲我可以選擇一個。從K-means開始可能是一個好主意。 – axiom