机器学习(一)K-means聚类算法

K-means聚类算法

k-means算法以k为参数,把n个对象分成k个簇,使簇内具有较高的相似度,而簇间的相似度较低。

使用sklearn.cluster.KMeans可以调用K-means算法进行聚类

其处理过程如下:

1.随机选择k个点作为初始的聚类中心
2.剩下的点,根据其与聚类中心的距离,归入最近的簇
3.对每个簇,计算所有点的均值作为新的聚类中心
4.重复2、 3直到聚类中心不再发生改变


输入参数:

• n_clusters:用于指定聚类中心的个数

• init:初始聚类中心的初始化方法

• max_iter:最大的迭代次数

• 一般调用时只用给出n_clusters即可,init

默认是k-means++,max_iter默认是300

random_state:随机状态

其它参数

• data:加载的数据

• label:聚类后各数据所属的标签

• axis: 按行求和

• fit_predict():计算簇中心以及为簇分配序号

属性

cluster_centers_ : 每个簇中心的坐标 array, [n_clusters, n_features]

labels_ :每个样本的标签

inertia_ : 样本到最近集群中心的距离的总和

方法

fit(X[, y]) :执行k均值聚类

fit_predict(X[, y]) :计算簇的中心并且预测每个样本对应的簇类别,相当于先调用fit(X)再调用predict(X),返回labels标签(0,1,2……)

fit(X[, y]) fit_predict(X[, y]) 数据类型为[[data1,data2……],[ data1,data2……],[]……]


例如:
Data = [[1,4,5,1],[1,5,4,3],[15,23,18,4],[15,48,5,3],[100,5,48]]
Km = KMeans(n_clusters=3) #设置分类成几个簇
Lables = Km.fit_predict(data)

Mooc提供范例


                
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值