已知客户地理位置经纬度对客户进行Kmeans聚类并提供散点图的代码
时间: 2024-02-11 19:05:37 浏览: 92
这是一个基于Python和Scikit-learn的Kmeans聚类算法的代码,用于对客户地理位置进行聚类,并提供散点图。
```python
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from sklearn.cluster import KMeans
# 读取客户地理位置经纬度数据
data = pd.read_csv('customer_location.csv')
X = np.array(data[['longitude', 'latitude']])
# 使用Kmeans算法进行聚类
kmeans = KMeans(n_clusters=4, random_state=0).fit(X)
labels = kmeans.labels_
centers = kmeans.cluster_centers_
# 绘制散点图
plt.scatter(X[:, 0], X[:, 1], c=labels, s=50, cmap='viridis')
plt.scatter(centers[:, 0], centers[:, 1], c='red', s=200, alpha=0.5)
plt.title('Customer Locations Clustering')
plt.xlabel('Longitude')
plt.ylabel('Latitude')
plt.show()
```
在代码中,我们首先使用Pandas库读取客户地理位置经纬度数据,并将其转换为NumPy数组。然后,我们使用KMeans算法进行聚类,将客户分为4个簇。最后,我们使用Matplotlib库绘制散点图,其中每个数据点表示一个客户,颜色表示该客户所属的簇,红色点表示每个簇的中心点。
请注意,这只是一个简单的Kmeans聚类示例,您可以根据自己的需求调整聚类的参数和绘图的样式。
阅读全文