引數名稱
預設值及輸入型別
引數解釋
algorithm
預設:auto
有auto、full和elkan三種選擇。
algorithm: 優化演算法的選擇,有auto、full和elkan三種選擇。
full就是一般意義上的k-means演算法,
elkan是使用的elkan k-means演算法。
auto則會根據資料值是否是稀疏的(稀疏一般指是有大量缺失值),來決定如何選擇full和elkan。如果資料是稠密的,就選擇elkan k-means,否則就使用普通的kmeans演算法。
copy_x
true
主要起作用於提前計算距離的情況,如果是true,則表示在源資料的副本上提前計算距離時,不會修改源資料。
init
預設值為『k-means++』 有三個可選值:『k-means++』、『random』、或者傳遞乙個ndarray向量。
(1)『k-means++』 用一種特殊的方法選定初始質心從而能加速迭代過程的收斂
(1)、從輸入的資料點集合(要求有k個聚類)中隨機選擇乙個點作為第乙個聚類中心;(2)、對於資料集中的每乙個點x,計算它與最近聚類中心(指已選擇的聚類中心)的距離d(x);(3)、選擇乙個新的資料點作為新的聚類中心,選擇的原則是:d(x)較大的點,被選取作為聚類中心的概率較大;(4)、重複2和3直到k個聚類中心被選出來
(2)『random』 隨機從訓練資料中選取初始質心。
(3)如果傳遞的是乙個ndarray,則應該形如 (n_clusters, n_features) 並給出初始質心。
max_iter
預設值為300 int型,
最大迭代數。
n_clusters
預設為8 int型
生成的聚類數,
n_init
預設值為10
int型
用不同的聚類中心初始化值執行演算法的次數,最終解是在inertia意義下選出的最優結果。
n_jobs
int型。
指定計算所用的程序數。內部原理是同時進行n_init指定次數的計算。
-1,則用所有的cpu進行運算。
若值為1,則不進行並行運算
若值小於-1,為-2,則用到的cpu數為總cpu數減1。
precompute_distances
預設值是auto
auto,true,false三個引數值可選
是否需要提前計算距離
如果選擇auto,當樣本數*質心數》12兆的時候,就不會提前進行計算,如果小於則會與提前計算。提前計算距離會讓聚類速度很快,但是也會消耗很多記憶體。
random_state
預設值為numpy.randomstate 型別,
還可以選擇int型
用於初始化質心的生成器(generator)。如果值為乙個整數,則確定乙個seed。
tol1e-4
float型,容忍的最小誤差,當誤差小於tol就會退出迭代,與inertia結合來確定收斂條件。
verbose
預設為0
是否輸出詳細資訊,
Mahout 中 kmeans的引數
distancemeasure measure 資料點間的距離計算方法,引數可缺,預設是 squaredeuclidean 算方法 提供引數值 chebyshevdistancemeasure 切比雪夫距離 cosinedistancemeasure 余弦距離 euclideandistanceme...
聚類學習KMeans演算法各引數的含義
聚類學習kmeans演算法各引數的含義 kmeans函式的引數講解 n clusters 整型,預設值為8,表示生成的聚類數 max iter 整型,預設值為300,表示執行一次kmeans演算法所需要的最大迭代數 n init 整型,預設值為10,表示用不同的聚類中心初始化值執行演算法的次數最終解...
KMeans演算法的實現
咱走的不是流量,走的是心 include include include include include include using namespace std define length 5 資料維數 每個資料集,5維向量 define k 5 類別數 分為5類 define psize 50 資...