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

相关推荐
duyinbi751710 分钟前
油茶果壳籽质量分类检测:基于YOLOv8-NMSFree的创新方案_1
yolo·分类·数据挖掘
计算机程序设计小李同学30 分钟前
森林防火航空巡护任务管理系统
java·vue.js·人工智能·分类·数据挖掘
WJSKad123532 分钟前
如何构建yolov8-seg-bifpn污水管道分类系统 空管道_污水管道_水管三种类型识别_1
yolo·分类·数据挖掘
高洁011 小时前
10分钟了解向量数据库(4)
人工智能·深度学习·机器学习·数据挖掘·知识图谱
mahtengdbb11 小时前
隧道围岩病害识别与分类__mask-rcnn_r50-caffe_fpn_1x_coco实现
分类·数据挖掘·caffe
He_Donglin1 小时前
Data Mining| 类型变量编码(乳腺癌威斯康星数据集/葡萄酒数据集/鸢尾花数据集)
人工智能·数据挖掘
程序员洲洲1 小时前
利用海外NetNut网络代理爬取亚马逊“感恩节”相关商品数据分析
数据挖掘·数据分析·netnut
sensen_kiss13 小时前
INT303 Big Data Analysis 大数据分析 Pt.11 模型选择和词向量(Word Embeddings)
大数据·数据挖掘·数据分析
laocooon52385788613 小时前
数据收集, 数据清洗,数据分析,然后可视化,都涉及哪些知识
数据挖掘·数据分析
企业智能研究14 小时前
什么是数据治理?数据治理对企业有什么用?
大数据·人工智能·数据分析·agent