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

相关推荐
YangYang9YangYan6 分钟前
2026高职物流工程技术学数据分析的技术价值分析
数据挖掘·数据分析
大鹏的NLP博客7 分钟前
LLM 在数据分析中的计算能力边界与正确用法
人工智能·数据分析·llm
飞Link14 分钟前
降维打击聚类难题:高斯混合模型 (GMM) 深度解析与实战
人工智能·算法·机器学习·数据挖掘·聚类
FIT2CLOUD飞致云31 分钟前
操作教程 | DataEase基于插件实现数据源与飞书多维表格的对接
数据分析·开源·数据可视化·dataease·bi
babe小鑫44 分钟前
2026高职大数据技术专业学习数据分析的指南
大数据·学习·数据分析
城数派44 分钟前
2005-2025年我国省市县三级的逐日地表温度数据(Shp/Excel格式)
数据分析·excel
檐下翻书1731 小时前
PC流程图模板大全 中文定制化满足不同行业需求
论文阅读·信息可视化·数据挖掘·数据分析·流程图
AI前沿晓猛哥1 小时前
彩虹六号围攻 msvcp140.dll 缺失 官方修复教程(2026最新)
数据挖掘
zml.~2 小时前
Spark大数据分析:解锁海量数据价值的核心利器
大数据·数据分析·spark
飞Link2 小时前
深度解析:建模动作序列(Action Sequence Modeling)的实战指南
开发语言·python·数据挖掘