前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >公式化调用:Kmeans

公式化调用:Kmeans

作者头像
三猫
发布2021-09-29 15:52:04
7890
发布2021-09-29 15:52:04
举报
导读:随着各类算法学习库的出现,算法的使用门槛被降低,使用模式也逐渐从代码复现转变为命令的标准化调用。但传入数据格式不清晰、结果看不懂的问题依然影响了对算法的使用,因此我们将算法调用进一步提炼为“标准输入->命令执行->结果解读”三个步骤,并推出的“公式化调用”系列,从应该准备什么样的数据、能获得什么样的结果角度,帮助初学者快速实现算法使用。

1

kmeans简介

kmeans是聚类算法中的一种,通过点与点之间的距离计算,将相近的点聚为一组。聚类结果常用于营销领域的相似用户识别、相似商品识别,欺诈领域的异常点识别等,具体算法介绍可参见文章聚类(二):k-means算法(R&python)

2

调用公式

python中可从sklearn.cluster导入KMeans实现算法调用。以此为背景介绍数据的输入格式和结果。

1、标准输入

输入公式:array或者dataframe,不加label列

我们以鸢尾花数据为例,根据花萼长度、花萼宽度、花瓣长度、花瓣宽度给花进行分类。原有鸢尾花数据示例如下:

在使用时,我们需要把上面的数据转为array或者pandas.dataframe类型,并且因为kmeans是无监督学习算法,最后一列已有的属种列(即label列)我们要去掉。因此标准输入的格式应该如下:

2、命令执行

执行公式:KMeans().fit()训练+predict()预测

先用已有数据进行模型训练,再用训练好的模型将新数据进行类别划分。

KMeans中参数:

  • n_clusters,希望将数据聚为几类,默认8类
  • max_iter:最大迭代次数,默认300

fit中参数:

  • 输入已有数据

predict参数:

  • 输入新数据

3、结果解读

调用公式:labels_查看分组结果, cluster_centers_查看每组中心点

运算后,我们最需要知道的模型结果主要就是每一行样本的聚类结果以及每一个类别的中心点,两个结果都以array的数据类型进行输出。

3

公式法调用示例

代码语言:javascript
复制
from sklearn.datasets import load_iris
from sklearn.cluster import KMeans
import numpy as np
import pandas as pd

#1、标准输入
#输入公式:array或者dataframe,不加label列
iris=load_iris()
X1 = iris.data
print(type(X1))

#2、命令执行
#调用公式:KMeans().fit()训练+predict()预测 
kmeans = KMeans(n_clusters=3, random_state=0).fit(X2)
pre_new = kmeans.predict([[4.8, 3.0,1.3,0.1], [5.3, 3.2,1.6,0.2]])

#3、结果解读
#调用公式:labels_查看分组结果, cluster_centers_查看每组中心点
print('聚类结果:')
print(kmeans.labels_)
print('新数据聚类结果:')
print(pre_new)
print('聚类中心:')
print(kmeans.cluster_centers_)
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-09-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 机器学习养成记 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档