k-means算法具体原理,参考k-means聚类算法原理
调用KMmeans算法
首先需要调用sklearn库,如果没有安装,就在命令提示符中输入如下代码即可
pip install scikit-learn
注意:安装时要输入完整名称(scikit-learn)
调用sklearn库中的k-means算法
from sklearn.cluster import KMeans
注意:我们要在sklearn的聚类(cluster)中调用KMeans
参数
n_clusters: 这是生成的聚类数,它是一个整数,默认值为8。通过调整这个参数,可以控制算法生成聚类的数量。
init:这是初始化方法,它有三个可选值:'k-means++'、'random'、或者传递一个ndarray向量。
(1)'k-means++'是一种改进的初始化方法,它选择第一个聚类中心为随机数据点,后续的聚类中心则根据已经选择的聚类中心来选择,可以加快收敛速度。
(2)'random'则是随机选择数据点作为聚类中心。
n_init:这是用不同的聚类中心运行算法的次数,默认值为10。增加这个值可以增加算法找到最优解的可能性,但是也会增加计算的时间。
inertia_:每个点到其簇的质心的距离之和。
n_iter_ : 迭代次数。
max_iter:这是执行一次k-means算法所进行的最大迭代数。默认值为300。如果在达到这个最大迭代次数后,算法仍然没有收敛(即数据点的更新量仍然大于设定的阈值),算法就会停止。
tol:这是算法收敛的容忍度,当算法的更新小于tol时,算法就会停止。默认值为0.0001。
random_state : 随机种子,可以随意定义参数,可以保证每次运行时原始数据不会改变。
Labels_: 每个点的分类标签。
本文对kmeans算法中的参数进行了简单描述,具体代码实例可参考快速了解K-Means聚类算法(包含代码实例)