2013-05-07 12 views
14

我運行聚類算法,並希望通過在scikit-learn中使用輪廓分數來評估結果。但是在scikit-learn中,它需要計算距離矩陣:距離= pairwise_distances(X,metric = metric,** kwds)如何在執行scikit-learns側影分數時修復MemoryError?

由於我的數據是300K的順序,而我的內存是2GB ,結果是內存不足。我無法評估聚類結果。

有誰知道如何解決這個問題?

回答

20

將呼叫中的sample_size參數設置爲silhouette_score,使其值小於300K。使用此參數將從X中採樣數據點,並在那些數據點上計算silhouette_score而不是整個數組。

+1

感謝您的回覆。我認爲這將是一個很好的解決方案。我會嘗試多次迭代,然後取得分數的平均值。 – 2013-05-08 12:04:56

+0

這適用於silhouette_score,但不是silhouette_samples沒有這樣的sample_size參數 – Keith 2017-12-07 19:02:55

相關問題