数据科学之 如何找到指标的最 佳分裂点的几个想法

Posted 悟乙己

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据科学之 如何找到指标的最 佳分裂点的几个想法相关的知识,希望对你有一定的参考价值。


1 问题定义

一类问题:
影响整体用户活跃度,的因素中有单次打开时长这一指标,
如何找到打开多久是比较好的阈值?

这个可以看成是一个有监督的寻找合理分裂点的过程,这里就抛砖引玉几种可能性

  • 决策树来找分裂点
  • 有监督分箱(卡方/决策树)
  • 离散回归模型(比较好的一种)
  • shap值

另一类问题(下篇给出最近的想法):
张三是一个连锁店的老板,他想知道每个门店店员做的好/坏,
光看销售额是最简单粗暴,比较有利的能不能看到店员的画像,
比如服务态度、工龄、所在区域等;
另外有没有一种可能,工龄从青年 -> 中年,销售额可以量化提升多少?
最终可以给每个门店设置KPI。


2 关联方法

2.1 决策树来找分裂点

盗图来看一下:非常fancy的可视化决策树dtree_viz
这个是比较传统的决策树分裂的图,可以从其中看到重要特征的分裂点:

当然还有可视化效果更好的就是:

依照上面的寻找分裂点,那就是petal length这个指标,[1.75,4.85,4.95]是分割点;
当然这个分割点的由来是由GINI最小的作为分割点,而且有可能一个单一指标,可以细分很碎,取到什么层级是比较好的?
可以要从指标的覆盖度等角度来衡量取到什么粒度了。

2.2 有/无 监督分箱(等比/等宽-卡方/决策树)

参考:评分卡应用 - 利用Toad进行有监督分箱(卡方分箱/决策树分箱)

影响整体用户活跃度,的因素中有单次打开时长这一指标,
如何找到打开多久是比较好的阈值?

无监督分箱那就非常简单了,等比/等宽进行处理 单次打开时长 后,在每个分区计算用户活跃度的差异,来找到比较比较好的分裂点。

这里还有有监督的方式,也是一种比较科学的,用户活跃度(是否活跃1/0) ~ 单词打开时长,根据IV来寻找分割点,这里分割的几个准则:每箱样本量、固定箱数等来判定。

比如此时,依图可以这么划分:
单次打开时长,[0,5.5],占所有样本的35%,在这里面都是label = 2的样本;
单次打开时长[7.1,+ ),占所有样本的8%,这里面 y label的平均值为1.64

这里最佳的分裂点其实是可以“自我调节”出来的

2.3 离散回归模型(比较好的一种)

重复事件(表现形态:活跃、留存、复购)建模的案例学习笔记
来到文章的【1.3.2 PWP-GT 重复事件建模在看点业务中的实际应用】,可以看到:

这里YY一下,比如打开时长a,均等切分为,[a0,a1,…,a6],可能实际含义是[0h,1h,…,5h],然后对活跃度=Y做回归,
这里的回归系数的显著性,就是指标合理的表现,
来YY解读一下这个图,[a0,a1],[a1,a2]是不显著的,其他都是显著的;代表,打开时长在2h以上的是明显的,这是一个非常重要的阈值。
而且,还可以量化出来说,如果打开时长在[a4,a5]([4h,5h])那么活跃度会比[a0,a1]高出40%

如果要在显著的时间里面再画一个阈值,可以观察系数的增长幅度,比如:

那a4,4H就是一个非常好的新阈值点;
所以离散回归是非常好的可以找到阈值、量化指标水平的方式。

2.4 shap值

重复事件(表现形态:活跃、留存、复购)建模的案例学习笔记在【2.2 指标阈值确定下腾讯看点与快手的差别】小节,有提到shap值的方式
用特征密度散点图:beeswarm:


假设LSTAT这个指标,越大(红)可能导致SHAP约低,则选择蓝/红渐变那个阶段,作为阈值;

那么YY成这次的命题,RM是打开时长,整体Y是活跃度;

这里代表,打开时长越长(越红),对活跃度越有利(SHAP值为正);
分割点应该就是shap值=0时,打开时长的值,比如是3H,这里可以看到:

  • 3H以上的用户比较少
  • 3H以下的用户,比较多

以上是关于数据科学之 如何找到指标的最 佳分裂点的几个想法的主要内容,如果未能解决你的问题,请参考以下文章

第五章:节点重要性与相似性

构建决策树时如何找到分裂点的熵?

基于《构建之法》的几个小见解

Leetcode 1199 建造街区的最短时间(贪心算法及证明)

大型网站架构之百万PV

Jmeter 的几个指标