sklearn库 k-means代码实现
时间: 2023-09-03 16:08:14 浏览: 95
以下是使用sklearn库实现k-means聚类的代码:
```python
from sklearn.cluster import KMeans
import numpy as np
# 生成随机数据
X = np.random.rand(100, 2)
# 创建KMeans对象,指定聚类数为3
kmeans = KMeans(n_clusters=3)
# 进行聚类
kmeans.fit(X)
# 打印聚类结果
print(kmeans.labels_)
```
上述代码中,首先生成了100个二维随机数据点,然后创建了一个KMeans对象,将聚类数设置为3,最后对数据进行聚类。输出结果是每个数据点所属的聚类标签,即0、1、2中的一个。
相关问题
sklearn库 k-means代码实现并画出散点图
以下是使用sklearn库实现k-means算法并画出散点图的代码:
```python
import numpy as np
import matplotlib.pyplot as plt
from sklearn.cluster import KMeans
# 生成随机数据
np.random.seed(0)
X = np.random.rand(50, 2)
# 使用k-means算法进行聚类
kmeans = KMeans(n_clusters=3, random_state=0).fit(X)
# 画出聚类结果的散点图
colors = ['r', 'b', 'g']
for i in range(len(X)):
plt.scatter(X[i][0], X[i][1], c=colors[kmeans.labels_[i]], s=50)
plt.scatter(kmeans.cluster_centers_[:, 0], kmeans.cluster_centers_[:, 1], c='black', s=100, alpha=0.5)
plt.title('K-means Clustering')
plt.xlabel('X')
plt.ylabel('Y')
plt.show()
```
这段代码首先生成了一个包含50个二维随机数据点的数据集X,然后使用KMeans类进行k-means聚类,将数据集分为3个聚类簇。最后,使用matplotlib库画出聚类结果的散点图,其中每个数据点的颜色表示其所属的聚类簇,黑色圆点表示聚类簇的中心点。运行代码,可以得到如下的聚类结果图:
![k-means聚类结果图](https://img-blog.csdnimg.cn/20210706162518716.png)
给出代码,使用sklearn实现k-means聚类算法
以下是使用sklearn实现k-means聚类算法的代码示例:
```python
from sklearn.cluster import KMeans
import numpy as np
# 生成随机数据
X = np.random.rand(100, 2)
# 构建k-means模型
kmeans = KMeans(n_clusters=3)
# 训练模型
kmeans.fit(X)
# 预测聚类结果
labels = kmeans.predict(X)
# 打印聚类中心和聚类结果
print(kmeans.cluster_centers_)
print(labels)
```
在上面的代码中,我们首先生成了一个包含100个样本的二维随机数据集,然后构建了一个k-means聚类模型。接着,我们使用KMeans类的fit方法对模型进行训练,并使用predict方法对数据集进行聚类预测。最后,我们打印出聚类中心和聚类结果。
需要注意的是,sklearn的KMeans类有很多其他的参数可以设置,例如聚类中心的初始值、最大迭代次数等,这些参数可以根据具体需求进行调整。
阅读全文