机器学习之Kmeans与Knn算法,监督与无监督区别

本文详细探讨了学习K-means算法过程中遇到的问题,包括基本思想、参数解读和示例分析。通过实例演示了如何使用sklearn库实现K-means,并对比了KNN算法,深入讲解了监督与无监督学习的区别。最后,提供了相关学习资源和代码片段。
摘要由CSDN通过智能技术生成

阅读前请看一下:我是一个热衷于记录的人,每次写博客会反复研读,尽量不断提升博客质量。文章设置为仅粉丝可见,是因为写博客确实花了不少精力。希望互相进步谢谢!!

一、背景描述

学习Kmeans算法时衍生出的一系列问题


二、阅读文献的建议

1、Kmeans的基本思想;sklearn.cluster.Kmeans()的参数、属性、方法说明;示例

2、带有注解的一个Kmeans示例

数据集
在这里插入图片描述

代码


import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
from sklearn.cluster import KMeans
 
filePath = 'F:/kdata.csv'
 
data_csv = pd.read_csv(filePath)
x = np.array(data_csv)[:,1:]
t = list(data_csv.iloc[0:0])[1:] #获取列标题
np.set_printoptions(suppress=True) #不使用科学计数法
 
est = KMeans(n_clusters=12,init='k-means++',n_init=20,max_iter=1000,
             precompute_distances='auto') #构造聚类器
est.fit(x) #计算k-means聚类
kc = est.cluster_centers_ #计算质心
y_kmeans = est.predict(x) #给每个样本计算最接近的簇
appraise = est.inertia_ #计算每个点到其簇的质心距离之和
data_csv['cluster'] = est.labels_ #生成分类标签
 
print(y_kmeans,kc,'\n')
print(kc.shape,y_kmeans.shape,np.shape,'\n')
print(appraise)
 
data_csv.to_csv('F:/out.csv',index=1) #追加分类标签
data_kc = pd.core.frame.DataFrame(kc,columns=t)
data_kc.to_csv('F:/out_kc.csv') #保存质心
 
ax = plt.figure().add_subplot(111,projection='3d')
ax.scatter(x[:,0],x[:,1],x[:,2],c=y_kmeans,s=30,cmap='rainbow')
plt.show()
————————————————
版权声明:本文为CSDN博主「一洛玉壶冰」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/ynzzxc/article/details/118149191

3、KNN与K-Means算法的区别和共同特点

4、由于里面涉及了监督学习与无监督学习,所以推荐两篇文章介绍监督与无监督学习的

有监督学习与无监督学习

机器学习和有监督学习和无监督学习


码字不易,谢谢点赞!!!
码字不易,谢谢点赞!!!
码字不易,谢谢点赞!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值