sklearn.cluster.k_means?
sklearn.cluster.k_means(X, n_clusters, *, sample_weight=None, init='k-means++', precompute_distances='deprecated', n_init=10, max_iter=300, verbose=False, tol=0.0001, random_state=None, copy_x=True, n_jobs='deprecated', algorithm='auto', return_n_iter=False)
K-均值聚類算法。
在用戶指南中閱讀更多內容。
參數 | 說明 |
---|---|
X | {array-like, sparse} matrix of shape (n_samples, n_features) 將聚類的觀察值。必須注意的是,數據將轉換為C順序,如果給定的數據不是C-連續的,這將導致內存副本。 |
n_clusters | int 要形成的簇數以及要生成的質心數。 |
sample_weight | array-like of shape (n_samples,), default=None X中每個觀測值的權重。如果為None,則所有的觀察都被賦予同等的權重。 |
init | {‘k-means++’, ‘random’, ndarray, callable}, default=’k-means++’ 初始化方法: ‘k-means++’:明智地選擇初始聚類中心進行k均值聚類,加快收斂速度。有關詳細信息,請參閱k_init中的Notes部分。 ‘random’:從初始的數據中隨機選擇 n_clusters 個觀察值。如果一個ndarray被傳遞,它應該是形狀的(n_clusters, n_features)并給出初始中心。 如果傳遞了一個可調用函數,它應該接受參數X、n_clusters 和 random state,并返回一個初始化。 |
precompute_distances | {‘auto’, True, False} 預計算距離(速度更快,但占用更多內存) ‘auto’:如果n_samples * n_clusters>1,200萬,不要預先計算距離。這相當于使用雙精度的每個任務大約100 MB的開銷。 True:總是預先計算距離 False:從不預先計算距離 自版本0.23起已棄用: 'precompute_distances'在版本0.23中已棄用,并將在0.25中刪除。沒有作用。 |
n_init | int, default=10 k-均值算法將使用不同的質心種子運行的次數。最后的結果將是inertia方面n_init連續運行的最佳輸出。 |
max_iter | int, default=300 運行的k-均值算法的最大迭代次數。 |
verbose | bool, default=False 詳細模式 |
tol | float, default=1e-4 相對容忍度與Frobenius范數, 連續兩次迭代之間的聚類中心的差異聲明收斂。不建議將其設置為 tol=0 ,因為由于舍入錯誤,可能永遠不會聲明收斂。用一個很小的數字代替。 |
random_state | int, RandomState instance, default=None 確定用于質心初始化的隨機數生成。使用整數使隨機性確定。見Glossary。 |
copy_x | bool, default=True 當預計算距離時,首先對數據進行中心化比較精確.如果copy_x為True(默認值),則不會修改原始數據。如果為False,則對原始數據進行修改,并在函數返回之前將其放回,但可以通過減去和添加數據均值來引入較小的數值差異。注意,如果原始數據不是C-contiguous的,即使copy_x為False,也會復制。如果原始數據稀疏,但不采用CSR格式,即使copy_x為false,也會復制。 |
n_jobs | int, default=None 用于計算的OpenMP線程數。并行性是在主cython循環上按示例順序進行的,該循環將每個樣本分配到其最近的中心。 None 或-1 意味著使用所有處理器。從0.23版 n_jobs 開始不推薦使用*:從0.23版*開始不推薦使用,并將在0.25版中刪除。 |
algorithm | {“auto”, “full”, “elkan”}, default=”auto” 表示K-means要使用的算法。經典的EM式算法是“full”的。通過三角不等式,對于具有定義良好的簇的數據,“elkan”變化更為有效。但是,由于分配了一個額外的形狀數組(n_samples, n_clusters),所以內存更多。 目前,“auto”(為向后兼容而保留)選擇了“Elkan”,但它將來可能會改變,以獲得更好的啟發式。 |
return_n_iter | bool, default=False 是否返回迭代次數 |
參數 | 說明 |
---|---|
centroid | ndarray of shape (n_clusters, n_features) 在k均值的最后一次迭代中發現的質心 |
label | ndarray of shape (n_samples,) label[i]是第i次觀察到的質心最接近的代碼或索引。 |
inertia | float inertia準則的最后值(訓練集中所有觀測到最近質心的平方距離之和)。 |
best_n_iter | int 與最佳結果相對應的迭代次數。只有當 return_n_iter 被設置為True才會返回。 |