scikit-learn 中的 KMeans

语法

sklearn.cluster.KMeans(n_clusters=8, # 簇的个数
init='k-means++',         # 初始簇中心的获取方法
n_init=10,            # 获取初始簇中心的更迭次数
max_iter=300,          # 最大迭代次数
tol=0.0001,          # 容忍度,即kmeans运行准则收敛的条件
precompute_distances='auto', # 是否需要提前计算距离
verbose=0,            # 冗长模式
random_state=None,       #随机生成簇中心的状态条件
copy_x=True,
n_jobs=1,            # CPU 并行设置
algorithm='auto')         # kmeans的实现算法,有:’auto’, ‘full’, ‘elkan’, 其中 ‘full’表示用EM方式实现

参数的意义:

precompute_distances:是否需要提前计算距离,这个参数会在空间和时间之间做权衡,如果是True 会把整个距离矩阵都放到内存中,auto 会默认在数据样本大于featurs*samples 的数量大于12e6 的时候False,False 时核心实现的方法是利用Cpython 来实现的

  • copy_x: 对是否修改数据的一个标记,如果True,即复制了就不会修改数据。bool 在scikit-learn 很多接口中都会有这个参数的,就是是否对输入数据继续copy 操作,以便不修改用户的输入数据。这个要理解Python 的内存机制才会比较清楚。

猜你喜欢

转载自www.cnblogs.com/shanger/p/12068484.html