黑马程序员技术交流社区

标题: 【上海校区】机器学习小实战(四) KMeans聚类 [打印本页]

作者: 不二晨    时间: 2018-8-2 15:10
标题: 【上海校区】机器学习小实战(四) KMeans聚类
一、 KMeans聚类简介

需要事先指定簇的数目k

优化目标:所有点到各自质心的距离之和最小

特点:受初始值(K个随机质心的位置)的影响挺大的、受形状的影响还有点大

二、小案例

读数据、算法实例化(设置参数),训练模型、展示与分析

1. 读取数据,了解一下

2. 数据预处理

给定数据集有5列,第一列是名字,与特征没什么关系,所以将后面四列提取出来,作为接下来聚类的数据。

X=beer[['calories','sodium','alcohol','cost']]

3. KMeans聚类算法

算法实例化:指定簇的个数为3或2,然后将数据传入进行训练

结果:array([0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 0, 2, 0, 0, 0, 1, 0, 0, 1, 2])

输出的这个数组中有3种取值:0,1,2对应三个不同的簇的标签

4. 结果可视化

多个特征,做二维可视化时就只能选择2个特征进行可视化咯

结果:centers长啥样——


四、 KMeans用于图像压缩

1. 读取图像

# -*- coding:utf-8 -*-这行太重要了,在anaconda编程时,要是忘记加上这行,可就显示不出图像了呢

2. KMeans压缩

3. 保存与显示

太吓人了!!!



作者: 梦缠绕的时候    时间: 2018-8-2 16:22

作者: 不二晨    时间: 2018-8-2 17:32
奈斯,棒棒哒




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2