美文网首页
17-非监督学习-k-means聚类

17-非监督学习-k-means聚类

作者: jxvl假装 | 来源:发表于2019-10-01 14:49 被阅读0次

k-means聚类的步骤

在这里插入图片描述

api

在这里插入图片描述
聚类一般做在分类之前,如果数据没有目标值的时候,就需要先做聚类,再进行类别的预测

案例

利用iris的数据进行聚类

from sklearn.datasets import load_iris
from sklearn.cluster import KMeans
import matplotlib.pyplot as plt


def kmeanscluster():
    data = load_iris().data
    # print(data.data.shape)
    km = KMeans(n_clusters=3)
    km.fit(data)
    predict = km.predict(data)
    print(predict)
    print(load_iris().target)
    plt.figure(figsize=(10, 10), dpi=80)
    #建立四个颜色的列表
    colored = ["orange", "green", "blue", "purple"]
    color = [colored[i] for i in predict]
    plt.scatter(data[:,1], data[:,2], color=color)  #因为feature过多,而平面智能展示两个特征,所以随便取两个特征画图
    plt.xlabel("1")
    plt.ylabel("2")
    plt.show()


if __name__ == "__main__":
    kmeanscluster()

在这里插入图片描述
k-means聚类的性能评估指标
在这里插入图片描述 显然,到其他族群的距离越大 越好,到本族群的距离越小越好
  • 如果〖𝑠𝑐〗𝑖 小于0,说明𝑎𝑖 的平均距离大于最近的其他簇。
    聚类效果不好

  • 如果〖𝑠𝑐〗𝑖 越大,说明𝑎𝑖 的平均距离小于最近的其他簇。
    聚类效果好

  • 轮廓系数的值是介于 [-1,1] ,越趋近于1代表内聚度和分离度都相对较优

模型评估的api

在这里插入图片描述
一般来说,聚类的效果很难超过0 .7

k-means聚类特点分析:采用迭代式算法,直观易懂并且非常实用

k-means聚类缺点:容易收敛到局部最优解(可采取多次随机进行聚类以减轻)、需要预先设定簇的数量(k-means++解决)

相关文章

网友评论

      本文标题:17-非监督学习-k-means聚类

      本文链接:https://www.haomeiwen.com/subject/elluuctx.html