2016-05-13 150 views
1

sklearn KMeans使用sklearn KMeans與SciPy kmeans相比有優勢嗎?

類sklearn.cluster.KMeans(n_clusters = 8,初始化= 'k均值++', n_init = 10,max_iter = 300,TOL = 0.0001,precompute_distances = '自動' 的文檔, 冗長= 0,random_state =無,copy_x =真,n_jobs = 1)

SciPy kmeans

scipy.cluster.vq.kmeans(OBS,k_or_guess,ITER = 20,脫粒= 1e-05, check_finite = True)

很明顯參數的數量不同,也許更多的參數可用於sklearn。

有沒有人嘗試過一種方法與其他方法,您是否有偏好在分類問題中使用其中之一?

+1

沒有嘗試它,我總是喜歡sklearn。更好的文檔(包括用戶指南)以及更多可能使用的工具,如交叉驗證/網格搜索。但那只是我的個人意見。 – sascha

+1

scipy實現給你選擇設置你自己的質心,這可以很好。另請注意,對於大多數應用程序,您將希望使用[kmeans2](http://docs.scipy.org/doc/scipy-0.14.0/reference/generated/scipy.cluster.vq.kmeans2.html) ,而不是你引用的那個。除此之外,我不能說。 – patrick

回答

2

Benchmark

你永遠不會再觸摸scipy的。

+0

似乎很難比較一個 - SciPy的參數與sklearn的參數不完全匹配:例如,sklearn的初始化默認數量爲n = 10,而在SciPy中它不是明確的。默認情況下,對於兩個參數和其他參數使用100個質心,SciPy速度更快,但這並不意味着更好。 – pepe

+0

禁用所有附加功能。 'n_init = 1','tol = thresh = 0','max_iter = iter = 100000'(你想得到最終結果,而不是臨時結果)。使用*大*數據集。 –