Rong360
Rong360 copied to clipboard
最优分箱
大神,您好,请问你们有用到最优分箱吗?Python怎样实现最优分箱?
你好,最优分箱这部分是我队友做的,他用的应该是R里面的smbinning,https://cran.r-project.org/web/packages/smbinning/index.html。 python的刚搜了一下:https://statcompute.wordpress.com/2012/12/08/monotonic-binning-with-python/
我采用:https://statcompute.wordpress.com/2012/12/08/monotonic-binning-with-python/里面的分箱函数,但是得不出分箱结果; 请问你们项目主要是用pythonn ,那R的最优分箱是怎么运用到项目里的呢? 我也有用R来做,但是项目最终要求用python出最终结果
是这样的,因为我们是参加比赛,我用的python,队友习惯用R,他把我们的特征数据集分箱后存成csv再分享出来,我再跑模型,所以不影响。
谢谢大神
Statcompute的分箱算法是我写的了。我在GitHub里又加了几个改进版。大家不妨试一下。如果有改进建议,希望告诉我。谢谢。
Statcompute的分箱算法是我写的了。我在GitHub里又加了几个改进版。大家不妨试一下。如果有改进建议,希望告诉我。谢谢。
你好,请问下你写的分享算法原理是什么呢?我看到有的mono_bin的分箱算法要计算spearman相关系数,这是为什么呢?
这不是挺明显的吗?单调的必要条件就是SPEARMAN的绝对值必为一。
这不是挺明显的吗?单调的必要条件就是SPEARMAN的绝对值必为一。
那为什么不用pearson相关系数要用spearman相关系数,这里的单调指的是随着预测变量比如年龄的增加,违约率(bad_rate)是要单调上升或者下降,但是最后不是要保证woe值是单调的吗?如果保证bad_rate单调就一定能使得woe值也是单调的吗? 尝试了下对逾期数据中的年龄进行分箱,发现一个问题就是当我用mono_bin设定箱数是20和10开始缩小分箱数量的时候,发现一个分箱是17,一个分箱是9。那究竟分箱是多少才算正确?
我要的是单调而不是线性单调,Pearson太严格了,所以不是我要的。 你关于WOE和BAD_RATE单调的问题,建议你自己动手做一下。 至于你最后的那个问题,我已经有个升级版了。看一下 https://github.com/statcompute/MonotonicBinning 。 谢谢。
我要的是单调而不是线性单调,Pearson太严格了,所以不是我要的。 你关于WOE和BAD_RATE单调的问题,建议你自己动手做一下。 至于你最后的那个问题,我已经有个升级版了。看一下 https://github.com/statcompute/MonotonicBinning 。 谢谢。
请问您实现的那4种分箱方法,manual_bin,qtl_bin,bad_bin,iso_bin的具体原理是什么呢?有没有相关资料参考下,因为R代码没有注释,不怎么能看懂,不知是否有python版本的?
您说的完全对,的确有很多需要提高的地方。实在是太忙了,请您多担待。