3.K均值算法

作业:

1). 扑克牌手动演练k均值聚类过程:>30张牌,3类

第一种划分:

第二种划分:

2). *自主编写K-means算法 ,以鸢尾花花瓣长度数据做聚类,并用散点图显示。(加分题)

3). 用sklearn.cluster.KMeans,鸢尾花花瓣长度数据做聚类,并用散点图显示.

import matplotlib.pyplot as plt
from sklearn.cluster import KMeans
from sklearn.datasets import load_iris
iris = load_iris()   # 鸢尾花数据
# 特征名称(共有四个):花萼长度、花萼宽度、花瓣长度、花瓣宽度
# iris.feature_names
L0 = iris.data[:, 2]  # 花瓣长度
x = L0.reshape(-1, 1)  # 花瓣长度数据列
model = KMeans(n_clusters=3)  # 构建模型 3类
model.fit(x)     # 训练模型
pre_kmeans = model.predict(x)  # 预测每个样本的聚类索引
print("预测结果:\n", pre_kmeans)
#  画图
plt.scatter(x[:, 0], x[:, 0], c=pre_kmeans, s=20, cmap='rainbow')
plt.show()

  运行结果:

4). 鸢尾花完整数据做聚类并用散点图显示.

运行结果:

5)想想k均值算法中可以用来做什么?

 均值算法是一种典型的无监督学习算法,用来对数据进行分类。

 

posted @ 2020-04-16 20:56  Drew,  阅读(164)  评论(0编辑  收藏  举报