机器学习-鸢尾花

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

随机选三个中心

经过聚类后选出三个新中心

 

 再通过聚类后又重新选出三个新中心,已不能再分就是最终结果为6 、17 、 26

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

# -*- coding:utf-8 -*-
# 文件名称:机器学习-鸢尾花.py

import matplotlib.pyplot as plt import numpy as np from sklearn.datasets import load_iris from sklearn.cluster import KMeans iris = load_iris()#导入数据 sj = iris.data[:, 2]#第三列花瓣长度 x = sj.reshape(-1, 1) km_model = KMeans(n_clusters=3) km_model.fit(x)#训练 y = km_model.predict(x)#预测 plt.scatter(x[:, 0], x[:, 0], c=y, s=50, cmap="rainbow") plt.show()

 

预测结果如下图

 

使用鸢尾花花瓣长度数据做聚类散点图如下

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

# -*- coding:utf-8 -*-
# 文件名称:机器学习-鸢尾花.py
import matplotlib.pyplot as plt
import numpy as np
from sklearn.datasets import load_iris
from sklearn.cluster import KMeans


iris = load_iris()#导入数据
x = iris.data
km_model = KMeans(n_clusters=3)
km_model.fit(x)#训练
y = km_model.predict(x)#预测
y
plt.scatter(x[:,2],x[:,3],c=y, s=50 ,cmap="rainbow")
plt.show()

  预测值

 散点图如下:

4).想想k均值算法中以用来做什么?

k均值算法中以用来做像素处理,图像的每个像素颜色即代表训练样本x,通过K均值算法寻找16种颜色代表图像中的所有像素的颜色,即也就是寻找16个聚类中心,最后,将所有的像素颜色替换为16个聚类中心所对应的颜色。

 

猜你喜欢

转载自www.cnblogs.com/zhff/p/12695403.html