数据分析--客户价值分析RFM(K-means聚类/轮廓系数)

原数据

复制代码
import os
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
from sklearn import metrics

### 数据抽取,读⼊数据
df = pd.read_csv("customers1997.csv") #相对路径读取数据
print(df.info())
print(df.columns)
print(df.describe())
# 特征选择,选择RFM
df = df.drop(labels=['customer_id','country','education','gender','member_card','total_children'],axis=1)

一、 K-means聚类

1. K-means聚类

复制代码
from sklearn.cluster import KMeans
from sklearn.metrics import silhouette_score
kmeans = KMeans(n_clusters=4)   #构造聚类模型,划分为 4 类
kmeans.fit(df)  # 聚类
pre_y = kmeans.predict(df)  # 预测点在哪个聚类中,或者是直接采用 kmeans.labels_ 提取
print(pre_y)  # 输出每个样本的聚类标签

from sklearn import metrics
print("轮廓系数:",metrics.silhouette_score(df, pre_y,metric='euclidean'))
# print("轮廓系数:",metrics.silhouette_score(df, kmeans.labels_,metric='euclidean'))

2. 轮廓系数

轮廓系数取值范围[-1,1]

  • -1的效果最差
  • 1 的效果最好

二、分箱法分类

1. 分类

数据分析--客户价值分析RFM(分箱法/标准化)-CSDN博客

2.轮廓系数

复制代码
from sklearn import metrics
df_rfm = df[['Recency','Frequency', 'Monetary']]
print("轮廓系数:",metrics.silhouette_score(df_rfm, df['Segment'],metric='euclidean'))

Python------Kmeans聚类算法、轮廓系数(算法理论、代码)_python kmeans-CSDN博客

相关推荐
EveryPossible15 分钟前
大数据分析练习1
数据挖掘·数据分析
AC赳赳老秦40 分钟前
R语言数据分析:DeepSeek辅助生成统计建模代码与可视化图表
开发语言·人工智能·jmeter·数据挖掘·数据分析·r语言·deepseek
2401_841495641 小时前
【数据挖掘】Apriori算法
python·算法·数据挖掘·数据集·关联规则挖掘·关联规则·频繁项集挖掘
观远数据1 小时前
中国式报表是什么?观远BI如何赋能企业数据决策
大数据·数据挖掘·数据分析·时序数据库
math5901272 小时前
纽结数据分析(KDA)
数据挖掘·数据分析·拓扑学
说私域2 小时前
基于科学方法论的AI智能名片S2B2C商城小程序数据分析能力构建研究:流程-思路-方法三要素模型框架
大数据·人工智能·小程序·数据分析·产品运营·流量运营·私域运营
奥特曼_ it13 小时前
【数据分析+机器学习】基于机器学习的招聘数据分析可视化预测推荐系统(完整系统源码+数据库+开发笔记+详细部署教程)✅
笔记·数据挖掘·数据分析
2501_9361460415 小时前
传送带上罐体识别与分类_YOLOv26模型实现与优化_1
yolo·分类·数据挖掘
2501_9361460417 小时前
基于YOLOv26的纽约标志性建筑识别与分类系统实现与训练_2
yolo·分类·数据挖掘
zhangxl-jc17 小时前
Doris 窗口函数之 LEAD 最佳实践
大数据·sql·数据分析