k-means聚类python代码
时间: 2023-10-13 07:25:02 浏览: 94
以下是一个简单的k-means聚类的Python代码示例:
```python
import numpy as np
from sklearn.cluster import KMeans
# 生成数据
X = np.array([[1, 2], [1, 4], [1, 0], [4, 2], [4, 4], [4, 0]])
# k-means 聚类
kmeans = KMeans(n_clusters=2, random_state=0).fit(X)
# 聚类结果
print(kmeans.labels_)
```
在这个例子中,我们生成了一个 6x2 的数据集 X,其中每一行代表一个样本点。我们使用 sklearn 库中的 KMeans 类执行聚类,将数据分成两个集群。最后,我们打印出每个样本点所属的类别标签。
请注意,k-means算法会在每次运行时给出不同的结果,因为它的初始化是随机的。因此,我们可以通过设置 random_state 参数来控制随机种子,以便在每次运行时获得相同的结果。
相关问题
无人车客户点k-means聚类python代码
无人车的数据通常包含位置信息、行驶轨迹、时间戳等特征,如果要用K-means聚类对客户的点进行分组,首先需要准备这样的数据集,并将其表示为二维坐标(比如经纬度)。以下是一个简单的Python代码示例,使用scikit-learn库进行K-means聚类:
```python
from sklearn.cluster import KMeans
import pandas as pd
# 假设df是包含客户点数据的DataFrame,每列代表一个特征(如经度和纬度)
假设 df = pd.read_csv('client_points.csv')
# 选择两个特征作为输入数据
X = df[['longitude', 'latitude']]
# 设置聚类的类别数(k值)
k = 5 # 例如我们将分为5个簇
# 创建并训练KMeans模型
kmeans = KMeans(n_clusters=k)
kmeans.fit(X)
# 将每个客户点分配到对应的簇
labels = kmeans.labels_
# 输出每个簇的中心点(质心)
centroids = kmeans.cluster_centers_
# 打印结果
print("Labels for each client point:", labels)
print("Cluster centroids:", centroids)
python k-means聚类代码
下面是一个使用sklearn库实现KMeans聚类算法的Python代码示例:
```python
from sklearn.cluster import KMeans
import numpy as np
import matplotlib.pyplot as plt
# 生成随机数据集
np.random.seed(0)
X = np.random.randn(100, 2)
# 使用KMeans聚类算法
kmeans = KMeans(n_clusters=3)
kmeans.fit(X)
# 绘制聚类结果
plt.scatter(X[:, 0], X[:, 1], c=kmeans.labels_, cmap='viridis')
plt.scatter(kmeans.cluster_centers_[:, 0], kmeans.cluster_centers_[:, 1], marker='x', s=200, linewidths=3, color='r')
plt.show()
```
该代码首先生成了一个二维的随机数据集X,然后使用KMeans聚类算法将数据集分为3类。最后绘制了聚类结果,其中每个点的颜色表示其所属的类别,红色的x表示每个类别的中心点。
阅读全文