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

相关推荐
zh25261 天前
从"会写SQL"到"懂业务":智能问数Agent的三层Grounding实践
人工智能·数据分析·产品经理
deepdata_cn1 天前
数据标签常见分类
数据挖掘·数据标签
Katecat996631 天前
YOLov10n-LDConv实现气瓶内部缺陷检测与分类全流程详解
yolo·分类·数据挖掘
Data-Miner1 天前
本地化数据分析 agent,让 Excel 数据分析零门槛高效化
数据挖掘·数据分析·excel
愚公搬代码1 天前
【愚公系列】《数据可视化分析与实践》010-数据分析(数据分析基础)
信息可视化·数据挖掘·数据分析
追风少年ii1 天前
顶刊分享(空间TCR)--单次溶瘤病毒治疗后T细胞持续活化并对胶质母细胞瘤产生细胞毒性:一项临床试验结果
分类·数据挖掘·空间·单细胞·cn
Clarence Liu2 天前
用大白话讲解人工智能(4) Softmax回归:AI如何给选项“打分排序“
人工智能·数据挖掘·回归
-To be number.wan2 天前
Python数据分析:时间序列数据分析
开发语言·python·数据分析
Flying pigs~~2 天前
Pandas绘图和Seaborn绘图
数据挖掘·数据分析·pandas·seaborn·python可视化
追风少年ii2 天前
文献分享--口腔黏膜免疫受独特的空间结构调控
大数据·数据挖掘·数据分析·空间·单细胞