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

相关推荐
赤月奇2 小时前
https改为http
数据挖掘·https·ssl
weixin_440401693 小时前
Python数据分析-数据可视化(柱状图bar【双轴柱状图、动态柱状图】)
python·信息可视化·数据分析
babe小鑫3 小时前
高职大数据管理与应用专业学习数据分析的价值
学习·数据挖掘·数据分析
觅特科技-互站3 小时前
告别手动微调Prompt:DevOps用陌讯Skills重构AI运维工作流
运维·prompt·线性回归·kmeans·devops
向哆哆4 小时前
粉尘环境分类检测千张图数据集(适用YOLO系列)(已标注+划分/可直接训练)
yolo·分类·数据挖掘
反向跟单策略15 小时前
期货反向跟单-2025年回顾及2026年展望
大数据·人工智能·学习·数据分析·区块链
沪漂阿龙18 小时前
大模型选型决策全流程:从需求分析到生产上线的六步法
人工智能·数据挖掘·需求分析
电商API_1800790524721 小时前
京东商品评论API接口封装的心路历程
服务器·开发语言·爬虫·数据分析·php
Smoothcloud润云1 天前
Google DeepMind 学习系列笔记(3):Design And Train Neural Networks
数据库·人工智能·笔记·深度学习·学习·数据分析·googlecloud