机器学习2 kmeans预习(看1.5就行)


导入包–准备数据–拟合模型

基础

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
导入数据:
用numpy

用jupyter

jupyter快捷键

距离公式

画出肘部图

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

一句话介绍Kmeans:
有初始值,聚类(距离公式),变换中心,直到所有点到中心距离的 误差平方和 达到阈值或误差标准

优缺点:
在这里插入图片描述
在这里插入图片描述

代码汇总
#kmeans

#准备工作
import pandas as pd 
from sklearn.cluster import KMeans


##### 准备数据集

data = pd.read_csv('basketball.csv')

data.head()#查看表头

data.shape #数据几行几列

##### Kmeans 聚类

m = KMeans()

m.fit(data) #拟合

m.cluster_centers_ #聚类中心

m.labels_ #每个点所属的簇

m.inertia_ #误差平方和

m.predict(data) #预测数据


import pandas as pd 
from sklearn.cluster import KMeans
from matplotlib import pyplot as plt

data = pd.read_csv("basketball.csv")

lst1=[] #创建空列表
lst2=[]

for i in range(2,21):
    m=KMeans(n_clusters=i) 
    m.fit(data)
    
    inertia = m.inertia_  #这三行是公式
    print(inertia)
    lst1.append(i) #list1放聚类个数 
    lst2.append(inertia) #list2放误差平方和

df1 = pd.DataFrame(lst2,index=lst1,columns=["inertia"])  #构建dataframe语法:pandas.DataFrame( data, index, columns, dtype, copy)

print(df1)  #可以看到构建的dataframe

plt.figure(figsize=(20,8),dpi=200)# 创建自定义图像fig=plt.figure(figsize=(4,3),facecolor=‘blue’)
plt.plot(df1.index,df1.inertia,'o-') #点的坐标(dataframe表的索引index,dataframe表的误差平方和,点的样式)

plt.xlabel("n_clusters")#x轴的标注
plt.ylabel("inertia")#y轴的标注

for x,y in zip(df1.index,df1.inertia): #zip()将两个列表压缩成一个[1,2],[3,4]-->[(1,3),(2,4)]
    plt.text(x,y,f"{y:.2f}",ha="center",va="bottom")#plt.text()作用:画图时给图中的点 加标签 ;
    # 在图上显示具体数值相对于点的位置, ha参数控制水平对齐方式, va控制垂直对齐方式,fontsize:加标签字体大小,取整数
    plt.xticks(df1.index)#plt.xticks()用来确定横坐标的刻度 参考:https://cloud.tencent.com/developer/article/1737204
    
   


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值