一 解决的问题
聚类属于无监督学习中的方法,目的在于在未标注label的数据集中找到潜在规律,并将数据进行聚类。
因为没有给定label,基本流程都是先随机产生样本作为计算中心,计算其他样本与中心的距离,距离近的划为同类;
迭代簇的数据中心,再进行下一轮计算,直到簇内数据不再变化或者达到停止条件,比如到达设定的簇数。
二 概念总结
三 习题
题9.4 基于西瓜集4.0设置三组不同k值,三组不同初始中心点,进行比较。讨论什么样的初始中心有利于取得好结果。
import pandas as pd
data = pd.read_csv('./CH9-DATA4.0.csv')
from sklearn.cluster import KMeans
import numpy as np
X = np.array(data)
# 不同簇数设置
kmeans1 = KMeans(n_clusters=3, random_state=0).fit(X)
kmeans2 = KMeans(n_clusters=4, random_state=0).fit(X)
kmeans3 = KMeans(n_clusters=5, random_state=0).fit(X)
# 绘图网格点准备
h = 0.01
x_max,x_min = max(data.density)+0.1,min(data.density)-0.1
y_max,y_min = max(data.