机器学习_3:无监督学习经典模型
可以算作是一种特征工程的办法了。他最重要的是发现数据本身的特点。功能如下:
- 发现数据的群落(聚类),寻找离群的样本
- 降维处理(PCA),保留低维且相关性高的特征
数据聚类
k均值算法
- 导包+导数据集
1 | import numpy as np |
观察形状不难看出,有65个特征,即64个为x,最后一个为y

- 分割数据集
1 | X_train = digits_train[np.arange(64)] |
- knn模型
1 | from sklearn.cluster import KMeans |
- 模型评价
- ARI指标用于评估数据有所属类别
1 | from sklearn import metrics |
- 没有所属类别时,使用轮廓系数,其取值为[-1, 1]越大说明聚类效果越好
1 | from sklearn.metrics import silhouette_score |
效果如下:

knn也同时具有缺陷
- 容易收敛到局部最优解
- 需要预先设定簇的数量
此时介绍肘部法判断类簇个数,当曲线趋于平缓时,可认定最佳的k值(懒的敲代码了嘻嘻)
特征降维
主成分分析(PCA)
依然是手写字体的例子,通过PCA将64个维度压缩,依然可以发现绝大多数字之间的区别性