基于K-Means聚类算法对餐饮客户价值分析的代码
时间: 2025-01-05 21:43:40 浏览: 79
K-Means聚类算法是一种常用的无监督学习算法,可以用于将数据分成若干个簇,使得同一簇内的数据点相似度较高,而不同簇之间的数据点相似度较低。基于K-Means聚类算法对餐饮客户价值进行分析,可以帮助餐饮企业识别不同价值的客户群体,从而制定更有针对性的营销策略。
以下是一个使用Python实现基于K-Means聚类算法对餐饮客户价值分析的代码示例:
```python
import pandas as pd
import numpy as np
from sklearn.cluster import KMeans
import matplotlib.pyplot as plt
# 读取数据
data = pd.read_csv('customer_data.csv')
# 数据预处理
# 假设数据包含以下列:'total_spent', 'visit_frequency', 'last_visit_days'
X = data[['total_spent', 'visit_frequency', 'last_visit_days']]
# 使用K-Means聚类
kmeans = KMeans(n_clusters=3, random_state=42)
kmeans.fit(X)
data['cluster'] = kmeans.labels_
# 可视化聚类结果
plt.figure(figsize=(10, 7))
plt.scatter(data['total_spent'], data['visit_frequency'], c=data['cluster'], cmap='viridis')
plt.xlabel('Total Spent')
plt.ylabel('Visit Frequency')
plt.title('K-Means Clustering of Customer Value')
plt.show()
# 分析每个簇的客户价值
cluster_summary = data.groupby('cluster').agg({
'total_spent': 'mean',
'visit_frequency': 'mean',
'last_visit_days': 'mean'
}).reset_index()
print(cluster_summary)
```
在这个示例中,我们首先读取了客户数据,并假设数据包含以下列:`total_spent`(总消费金额)、`visit_frequency`(访问频率)和`last_visit_days`(最近一次访问的天数)。然后,我们使用K-Means聚类算法将这些客户分成3个簇,并可视化聚类结果。最后,我们计算每个簇的客户价值特征的平均值,以便分析每个簇的客户价值。
阅读全文