数据分析--客户价值分析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博客

相关推荐
byte轻骑兵1 小时前
openEuler在AI图像分类场景下的性能深度评测与优化实践
人工智能·分类·数据挖掘
人大博士的交易之路1 小时前
今日行情明日机会——20251203
数学建模·数据挖掘·数据分析·缠论·道琼斯结构
AI-嘉文哥哥2 小时前
ADAS自动驾驶-前车碰撞预警(追尾预警、碰撞检测)系统
人工智能·深度学习·yolo·目标检测·数据分析·课程设计·qt5
星云数灵12 小时前
使用Anaconda管理Python环境:安装与验证Pandas、NumPy、Matplotlib
开发语言·python·数据分析·pandas·教程·环境配置·anaconda
STLearner13 小时前
AI论文速读 | U-Cast:学习高维时间序列预测的层次结构
大数据·论文阅读·人工智能·深度学习·学习·机器学习·数据挖掘
电商API大数据接口开发Cris17 小时前
淘宝 API 关键词搜索接口深度解析:请求参数、签名机制与性能优化
前端·数据挖掘·api
AI_567818 小时前
Finereport如何重塑数据驱动管理
信息可视化·数据分析·云计算
roman_日积跬步-终至千里21 小时前
【模式识别与机器学习(15)】主成分分析
机器学习·信息可视化·数据分析
天天讯通1 天前
智能外呼:降运营成本、优客户体验,数据分析来助力
数据挖掘·数据分析
SelectDB技术团队1 天前
Apache Doris 在小米统一 OLAP 和湖仓一体的实践
数据仓库·数据分析·apache·数据库开发