自定义数据集,使用scikit-learn 中K均值包 进行聚类

数据集生成:

 

- 使用  make_blobs  函数生成包含300个样本的数据集,设定聚类中心为4个,聚类标准差为0.60,随机种子  random_state = 0  保证每次运行生成的数据相同。

 

K - 均值模型:

 

- 初始化  KMeans  类,设置聚类数  n_clusters = 4 ,并使用  random_state = 0  确保每次运行结果一致。

 

- 使用  fit  方法将模型拟合到生成的数据集  X  上。

 

获取结果:

 

- 通过  labels_  属性获取每个样本的聚类标签。

 

- 通过  cluster_centers_  属性获取聚类中心的坐标。

 

可视化:

 

- 使用  matplotlib  库进行可视化。将样本点根据其聚类标签用不同颜色绘制,聚类中心用红色的  x  标记绘制

import numpy as np
from sklearn.datasets import make_blobs
from sklearn.cluster import KMeans
import matplotlib.pyplot as plt


# 生成自定义数据集
X, _ = make_blobs(n_samples = 300, centers = 4,
                  cluster_std = 0.60, random_state = 0)

# 初始化并拟合K - 均值模型
kmeans = KMeans(n_clusters = 4, random_state = 0)
kmeans.fit(X)

# 获取聚类标签
labels = kmeans.labels_

# 获取聚类中心
cluster_centers = kmeans.cluster_centers_

# 可视化聚类结果
plt.scatter(X[:, 0], X[:, 1], c = labels, cmap='viridis')
plt.scatter(cluster_centers[:, 0], cluster_centers[:, 1], marker='x', s=200, linewidths = 3, color='r')
plt.title('K - Means Clustering')
plt.xlabel('Feature 1')
plt.ylabel('Feature 2')
plt.show()


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值