Python实现Iris数据集(鸢尾花卉数据集)kmeans聚类
一,鸢尾花Iris数据集解析
二,绘制Iris数据集散点图,数据集已经给出具体类别
from sklearn import datasets
import matplotlib.pyplot as plt
#加载数据集,是一个字典类似Java中的map
lris_df = datasets.load_iris()
#挑选出前两个维度作为x轴和y轴,你也可以选择其他维度
x_axis = lris_df.data[:,0]
y_axis = lris_df.data[:,2]
#c指定点的颜色,当c赋值为数值时,会根据值的不同自动着色
plt.scatter(x_axis, y_axis, c=lris_df.target)
plt.show()
三,Python使用kmeans聚类,并绘制新的聚类散点图。
from sklearn import datasets
import matplotlib.pyplot as plt
from sklearn.cluster import KMeans
#加载数据集,是一个字典类似Java中的map
lris_df = datasets.load_iris()
#挑选出前两个维度作为x轴和y轴,你也可以选择其他维度
x_axis = lris_df.data[:,0]
y_axis = lris_df.data[:,2]
#这里已经知道了分3类,其他分类这里的参数需要调试
model = KMeans(n_clusters=3)
#训练模型
model.fit(lris_df.data)
#选取行标为100的那条数据,进行预测
prddicted_label= model.predict([[6.3, 3.3, 6, 2.5]])
#预测全部150条数据
all_predictions = model.predict(lris_df.data)
#打印出来对150条数据的聚类散点图
plt.scatter(x_axis, y_axis, c=all_predictions)
plt.show()
四,也可以聚成两类:
#将类别参数改成2
model = KMeans(n_clusters=2)
五,kmeans算法流程
1)随机选取k个点作为种子点(这k个点不一定属于数据集,k个点就代表有k类)
2)分别计算每个数据点到k个种子点的距离,离哪个种子点最近,就属于哪类
3)重新计算k个种子点的坐标(简单常用的方法是求坐标值的平均值作为新的坐标值)
4)重复2、3步,直到种子点坐标不变或者循环次数完成
六,kmeans的不足
1)初始分类数目k值很难估计,不确定应该分成多少类才最合适(ISODATA算法通过类的自动合并和分裂,得到较为合理的类型数目k)(meanshift也可以不用提前知道分多少类别,参考博文:https://blog.csdn.net/u010916338/article/details/86495308)
2)不同的随机种子会得到完全不同的结果(K-Means++算法可以用来解决这个问题,其可以有效地选择初始点)
相关知识
Python实现Iris数据集(鸢尾花卉数据集)meanshift聚类
聚类分析:使用R语言对Iris数据集进行K均值聚类
Iris鸢尾花数据集可视化、线性回归、决策树分析、KMeans聚类分析
通过KMeans聚类算法对鸢尾花数据集进行分析
基于机器学习的鸢尾花数据集的三分类算法的实现 C++
python利用c4.5决策树对鸢尾花卉数据集进行分类(iris)
Jupiter Notebook:IRIS 数据集/鸢尾花数据集
iris鸢尾花数据集
鸢尾花(iris)数据集
Python实现C4.5决策树在鸢尾花数据集上的分类应用
网址: Python实现Iris数据集(鸢尾花卉数据集)kmeans聚类 https://www.huajiangbk.com/newsview1950386.html
上一篇: 风水植物这样摆,财运旺到让人眼红 |
下一篇: 鸢尾花数据seaborn数据可视 |
推荐分享

- 1君子兰什么品种最名贵 十大名 4012
- 2世界上最名贵的10种兰花图片 3364
- 3花圈挽联怎么写? 3286
- 4迷信说家里不能放假花 家里摆 1878
- 5香山红叶什么时候红 1493
- 6花的意思,花的解释,花的拼音 1210
- 7教师节送什么花最合适 1167
- 8勿忘我花图片 1103
- 9橄榄枝的象征意义 1093
- 10洛阳的市花 1039