用python写一个rfm全聚类分析
时间: 2023-12-01 16:05:06 浏览: 74
当然可以!下面是使用Python进行RFM(Recency, Frequency, Monetary)全聚类分析的示例代码:
```python
import pandas as pd
from sklearn.cluster import KMeans
from sklearn.preprocessing import MinMaxScaler
# 读取数据
df = pd.read_csv('your_data.csv') # 替换为你的数据文件路径
# 数据预处理
df['Recency'] = pd.to_datetime(df['Recency']) # 将Recency列转换为日期格式
df['Recency'] = (pd.to_datetime('today') - df['Recency']).dt.days # 计算最近购买日期到今天的天数
# 创建RFM矩阵
rfm = df.groupby('CustomerID').agg({'Recency': 'min', 'Frequency': 'sum', 'Monetary': 'sum'})
# 数据标准化
scaler = MinMaxScaler()
rfm_scaled = scaler.fit_transform(rfm)
# 使用K-Means聚类
kmeans = KMeans(n_clusters=4, random_state=0) # 替换为你想要的聚类簇数
kmeans.fit(rfm_scaled)
# 将聚类结果添加到原始数据中
rfm['Cluster'] = kmeans.labels_
# 输出聚类结果
print(rfm.head())
```
请注意,上述代码中的"your_data.csv"应替换为包含RFM数据的实际数据文件的路径。另外,你也可以根据需要调整聚类簇数,这里示例使用的是4个聚类簇。
阅读全文