高维向量kmeans聚类算法python实现
时间: 2024-06-27 09:01:28 浏览: 244
高维向量K-Means聚类算法是一种常用的数据挖掘技术,用于将一组数据集分组成多个簇,每个簇中的数据点相似度较高。在Python中,我们可以使用scikit-learn库来实现这个过程。以下是一个简单的步骤和代码示例:
1. 导入必要的库:
```python
from sklearn.cluster import KMeans
import numpy as np
```
2. 准备数据(这里假设我们有一个二维numpy数组,代表高维向量):
```python
# 创建一些高维随机数据
X = np.random.rand(100, 10) # 100个样本,每个样本有10维特征
```
3. 设置K-Means参数,包括簇的数量(k):
```python
k = 3 # 假设我们要分成3个簇
```
4. 实例化并训练KMeans模型:
```python
kmeans = KMeans(n_clusters=k)
kmeans.fit(X)
```
5. 获取聚类结果:
```python
labels = kmeans.labels_ # labels数组,每个元素是样本属于的簇的索引
centroids = kmeans.cluster_centers_ # 簇的质心
```
6. 可视化(如果数据维度较低,可以使用matplotlib等库可视化):
```python
if k <= 2:
import matplotlib.pyplot as plt
plt.scatter(X[:, 0], X[:, 1], c=labels)
plt.scatter(centroids[:, 0], centroids[:, 1], s=300, c='red')
plt.show()
```