以下内容转自 数析学院,只节选了部分,有需要的同学可以直接查看原文
K-Means 聚类是统计机器学习中最经典的聚类算法之一,今天向大家介绍在 Python 中使用 Scikit-Learn 相关工具对数据样本进行 K-Means 聚类的方法与技巧。
首先,导入相关的数据运算及可视化工具库:
- %matplotlib inline
- import matplotlib.pyplot as plt
- import seaborn as sns; sns.set() # 设置一个美观的图表样式
- import numpy as np
利用 Scikit-Learn 中的 make_blobs 工具,构建示例数据:
- from sklearn.datasets.samples_generator import make_blobs
- X, y_true = make_blobs(n_samples=300, centers=4,
- cluster_std=0.60, random_state=0)
- plt.scatter(X[:, 0], X[:, 1], s=50);
可以看到,我们的示例数据集由300个聚类关系相对明显的二维数据样本构成。接下来,我们导入相关的模块,利用 Scikit-Learn 中的 KMeans 工具构建模型对象并进行 K-Means 聚类:
- from sklearn.cluster import KMeans
- kmeans = KMeans(n_clusters=4)
- kmeans.fit(X)
- y_kmeans = kmeans.predict(X)
利用下图将 K-Means 聚类的结果描绘出来,在图中,不同的颜色代表样本属于不同的聚类簇,而圆形阴影区域则表示簇中心的位置:
- plt.scatter(X[:, 0], X[:, 1], c=y_kmeans, s=50, cmap='viridis')
- centers = kmeans.cluster_centers_
- plt.scatter(centers[:, 0], centers[:, 1], c='black', s=200, alpha=0.5);
以上内容节选自 数析学院,后文还有不同类型数据的聚类、图片聚类实例等,内容较多,先搬运到这,有需要的同学可以先直接到 数析学院 查看原文


雷达卡





京公网安备 11010802022788号







