本文簡要介紹python語言中 sklearn.cluster.MiniBatchKMeans
的用法。
用法:
class sklearn.cluster.MiniBatchKMeans(n_clusters=8, *, init='k-means++', max_iter=100, batch_size=1024, verbose=0, compute_labels=True, random_state=None, tol=0.0, max_no_improvement=10, init_size=None, n_init=3, reassignment_ratio=0.01)
小批量K-Means 聚類。
在用戶指南中閱讀更多信息。
- n_clusters:整數,默認=8
要形成的簇數以及要生成的質心數。
- init:{‘k-means++’, ‘random’},可調用或類似數組的形狀 (n_clusters, n_features),默認=‘k-means++’
初始化方法:
‘k-means++’:以智能方式為k-mean聚類選擇初始聚類中心以加速收斂。有關更多詳細信息,請參閱 k_init 中的注釋部分。
‘random’:從初始質心的數據中隨機選擇
n_clusters
觀測值(行)。如果傳遞了一個數組,它的形狀應該是 (n_clusters, n_features) 並給出初始中心。
如果傳遞了一個可調用對象,它應該接受參數 X、n_clusters 和一個隨機狀態並返回一個初始化。
- max_iter:整數,默認=100
在獨立於任何早期停止標準啟發式停止之前,對完整數據集的最大迭代次數。
- batch_size:整數,默認=1024
小批量的大小。對於更快的計算,您可以將
batch_size
設置為大於 256 * 內核數以在所有內核上啟用並行性。- verbose:整數,默認=0
詳細模式。
- compute_labels:布爾,默認=真
一旦小批量優化收斂到合適的位置,計算整個數據集的標簽分配和慣性。
- random_state:int、RandomState 實例或無,默認=無
確定質心初始化和隨機重新分配的隨機數生成。使用int 來確定隨機性。請參閱詞匯表。
- tol:浮點數,默認=0.0
根據平均中心平方位置變化的平滑 variance-normalized 測量的相對中心變化來控製提前停止。這種早期停止啟發式更接近用於算法的批處理變體的啟發式,但在慣性啟發式上會產生輕微的計算和內存開銷。
要禁用基於歸一化中心變化的收斂檢測,請將 tol 設置為 0.0(默認值)。
- max_no_improvement:整數,默認=10
根據不會對平滑慣量產生改進的小批量的連續數量來控製提前停止。
要禁用基於慣性的收斂檢測,請將max_no_improvement 設置為無。
- init_size:整數,默認=無
為加快初始化而隨機采樣的樣本數(有時會犧牲準確性):唯一的算法是通過在數據的隨機子集上運行批處理 KMeans 來初始化的。這需要大於 n_clusters。
如果
None
,則啟發式為init_size = 3 * batch_size
如果3 * batch_size < n_clusters
,否則為init_size = 3 * n_clusters
。- n_init:整數,默認=3
嘗試的隨機初始化次數。與 KMeans 相比,該算法僅運行一次,使用按慣性測量的最佳
n_init
初始化。- reassignment_ratio:浮點數,默認=0.01
控製要重新分配的中心的最大計數的分數。較高的值意味著更容易重新分配低計數中心,這意味著模型將需要更長的時間來收斂,但應該收斂到更好的聚類中。但是,過高的值可能會導致收斂問題,尤其是在小批量的情況下。
- cluster_centers_:ndarray 形狀(n_clusters,n_features)
聚類中心的坐標。
- labels_:ndarray 形狀 (n_samples,)
每個點的標簽(如果 compute_labels 設置為 True)。
- inertia_:浮點數
如果 compute_labels 設置為 True,則與所選分區關聯的慣性標準的值。如果 compute_labels 設置為 False,則它是基於批量慣性 index 加權平均值的慣性近似值。慣性被定義為樣本到其聚類中心的平方距離之和,如果提供,則由樣本權重加權。
- n_iter_:int
整個數據集的迭代次數。
- n_steps_:int
處理的小批量數量。
counts_
ndarray 形狀 (n_clusters,)已棄用:屬性
counts_
在 0.24 中已棄用,並將在 1.1 中刪除(重命名為 0.26)。init_size_
int已棄用:屬性
init_size_
在 0.24 中已棄用,並將在 1.1 中刪除(重命名為 0.26)。- n_features_in_:int
擬合期間看到的特征數。
- feature_names_in_:ndarray 形狀(
n_features_in_
,) 擬合期間看到的特征名稱。僅當
X
具有全為字符串的函數名稱時才定義。
參數:
屬性:
注意:
參看https://www.eecs.tufts.edu/~dsculley/papers/fastkmeans.pdf
例子:
>>> from sklearn.cluster import MiniBatchKMeans >>> import numpy as np >>> X = np.array([[1, 2], [1, 4], [1, 0], ... [4, 2], [4, 0], [4, 4], ... [4, 5], [0, 1], [2, 2], ... [3, 2], [5, 5], [1, -1]]) >>> # manually fit on batches >>> kmeans = MiniBatchKMeans(n_clusters=2, ... random_state=0, ... batch_size=6) >>> kmeans = kmeans.partial_fit(X[0:6,:]) >>> kmeans = kmeans.partial_fit(X[6:12,:]) >>> kmeans.cluster_centers_ array([[2. , 1. ], [3.5, 4.5]]) >>> kmeans.predict([[0, 0], [4, 4]]) array([0, 1], dtype=int32) >>> # fit on the whole data >>> kmeans = MiniBatchKMeans(n_clusters=2, ... random_state=0, ... batch_size=6, ... max_iter=10).fit(X) >>> kmeans.cluster_centers_ array([[1.19..., 1.22...], [4.03..., 2.46...]]) >>> kmeans.predict([[0, 0], [4, 4]]) array([0, 1], dtype=int32)
相關用法
- Python sklearn MiniBatchSparsePCA用法及代碼示例
- Python sklearn MiniBatchDictionaryLearning用法及代碼示例
- Python sklearn MinMaxScaler用法及代碼示例
- Python sklearn MinCovDet用法及代碼示例
- Python sklearn MissingIndicator用法及代碼示例
- Python sklearn MDS用法及代碼示例
- Python sklearn MLPClassifier用法及代碼示例
- Python sklearn MultiTaskLasso用法及代碼示例
- Python sklearn MultiTaskLassoCV用法及代碼示例
- Python sklearn MultiTaskLasso.path用法及代碼示例
- Python sklearn MultiOutputClassifier用法及代碼示例
- Python sklearn MultiTaskElasticNet.path用法及代碼示例
- Python sklearn MultiTaskElasticNetCV.path用法及代碼示例
- Python sklearn MultiTaskElasticNetCV用法及代碼示例
- Python sklearn MLPRegressor用法及代碼示例
- Python sklearn MultiLabelBinarizer用法及代碼示例
- Python sklearn MultiOutputRegressor用法及代碼示例
- Python sklearn MultiTaskLassoCV.path用法及代碼示例
- Python sklearn Matern用法及代碼示例
- Python sklearn MaxAbsScaler用法及代碼示例
- Python sklearn MeanShift用法及代碼示例
- Python sklearn MultiTaskElasticNet用法及代碼示例
- Python sklearn MultinomialNB用法及代碼示例
- Python sklearn jaccard_score用法及代碼示例
- Python sklearn WhiteKernel用法及代碼示例
注:本文由純淨天空篩選整理自scikit-learn.org大神的英文原創作品 sklearn.cluster.MiniBatchKMeans。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。