kmeans-用户分层

本文介绍了使用K-Means进行用户分层的业务背景,包括控制信贷风险、提升用户满意度。在数据分析阶段,进行了数据预处理、标准化、分布探索和PCA。通过霍普金斯统计量评估数据的聚类趋势。在聚类过程中,使用了Calinski-Harabasz指数选择最优分类,并探讨了聚类评估方法和稳定性。最后,讨论了K-Means的算法要点及优化策略,并提及模型部署和评估。
摘要由CSDN通过智能技术生成

业务场景

随着信贷产品上线半年后,前期根据用户基本信息、订单数据、充值数据、授信数据等进行授信不能满足大额用户的需求。为了更好的服务客户,需要针对不同场景进行精细化运营。解决以下问题:

  1. 控制信贷风险,减少损失
  2. 满足客户信贷需求,提升用户满意度

为此提出对平台各个用户根据规模数据提前对用户进行分层,然后套用之前授信模型,对用户进行授信。

以下只讲述一些思想和方法,具体数据不方便透露,代码网上很多,就不献丑了。模型不在与复杂,好用能实现业务需求即可。

用户分层建模

数据分析

  1. 数据来源:根据业务员以及信审调查的资料,通过数据处理得到相关数据特征对应的宽表。主要有:工人人数、车位数、交易金额、经营年限、经营地址、回款情况、房租水电等衡量用户规模的数据。
  2. 缺失值处理:连续变量使用决策树进行插补
  3. 数据标准化:因为要算距离
  4. 数据分布探索:查看各个特征的取值情况,对数据有个总体的观察
  5. 变量相关性,是否存在分类特征比较明显的变量
  6. PCA:将特征降到2维可以绘制出散点图,看是否存在聚类情况。保证信息量在 80% 以上

结论:约 20%的用户较大多数样本优秀,较符合二八定律,如果分类两类较合适(比例约为 4:1).对于8成的用户,如果需要可单独考虑进行分析,前期不建议细分(样本量少)

聚类

  1. 参数一般使用默认参数即可
  2. 遍历 n_clusters <- 2 to 10,选择最大 Calinski-Harabasz 分数值,得到最优分类

聚类趋势(聚类前)

霍普金斯统计量(Hopkins Statistic)评估给定数据集是否存在有意义的可聚类的非随机结构。如果一个数据集是有随机的均匀的点生成的,虽然也可以产生聚类结果,但该结果没有意义。聚类的前提需要数据是非均匀分布的。该值在区间[0, 1]之间,[0.01, 0.3]表示数据结构regularly spaced,该值为0.5时数据是均匀分布的,[0.7, 0.99]表示聚类趋势很强。

from sklearn.neighbors import NearestNeighbors
from random import sample
from numpy.random import uniform
import numpy as np
from math import isnan
 
def hopkins(
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值