Python-sklearn库 kmeans均值聚类

本文介绍了如何利用Python的sklearn库对鸢尾花数据集进行kMeans聚类。通过观察数据和目标分类,展示了kMeans算法如何找到聚类中心,并将数据划分到相应的类别中。总结了KMeans算法的基本思想,强调其根据数据属性而非标签进行分类的特点。
摘要由CSDN通过智能技术生成
import seaborn; 
import pylab as pl

seaborn.set()

from sklearn import neighbors, datasets

iris = datasets.load_iris()
#这个是sklearn自带的一个鸢尾花数据集

X, y = iris.data, iris.target
#data为训练所需的数据集,target为数据集对应的分类标签

from sklearn.decomposition import PCA
#PAC为sklearn中一个进行主成分分析的类

pca = PCA(n_components=2)
#n_components:这个参数可以帮我们指定希望PCA降维后的特征维度数目。最常用的做法是直接指定降维到的维度数目

pca.fit(X)
#fit()可以说是scikit-learn中通用的方法,每个需要训练的算法都会有fit()方法,它其实就是算法中的“训练”这一步骤

X_reduced = pca.transform(X)
#将数据X转换成降维后的数据。当模型训练好后,对于新输入的数据,都可以用transform方法来降维。

print("Reduced dataset shape:", X_reduced.shape)
#降维的数据集为(150,2)在降维以前,X.shape=(150,4)数据为四维的

pl.scatter(X_reduced[:, 0], X_reduced[:, 1], c=y,cmap='RdYlBu')
#以X_reducced的第一列和第二列作为横纵坐标,简单设置一下颜色
print("Meaning of the 2 components:")
for component in pca.components_:
    print(" + ".join("%.3f x %s" % (value, name)for value, name in zip(component,iris.feature_names)))
pl.show()
  • sklearn自带的鸢尾花数据集data为训练所需要的数据集,中共有4个属性[‘sepal length (cm)’, ‘sepal width (cm)’, ‘petal length (cm)’, ‘petal width (cm)’]
  • 输出iris.data来直观感受一下具体的数据的样子
[[5.1 3.5 1.4 0.2]
 [4.9 3.  1.4 0.2]
 [4.7 3.2 1.3 0.2]
 [4.6 3.1 1.5 0.2]
 [5.  3.6 1.4 0.2]
 [5.4 3.9 1.7 0.4]
 [4.6 3.4 1.4 0.3]
 [5.  3.4 1.5 0.2]
 [4.4 2.9 1.4 0.2]
 [4.9 3.1 1.5 0.1]
 [5.4 3.7 1.5 0.2]
 [4.8 3.4 1.6 0.2]
 [4.8 3.  1.4 0.1]
 [4.3 3.  1.1 0.1]
 [5.8 4.  1.2 0.2]
 [5.7 4.4 1.5 0.4]
 [5.4 3.9 1.3 0.4]
 [5.1 3.5 1.4 0.3]
 [5.7 3.8 1.7 0.3]
 [5.1 3.8 1.5 0.3]
 [5.4 3.4 1.7 0.2]
 [5.1 3.7 1.5 0.4]
 [4.6 3.6 1.  0.2
  • 0
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值