Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

关于woebin分组的问题 #35

Closed
zjyoung opened this issue Mar 26, 2020 · 7 comments
Closed

关于woebin分组的问题 #35

zjyoung opened this issue Mar 26, 2020 · 7 comments

Comments

@zjyoung
Copy link

zjyoung commented Mar 26, 2020

谢老师您好,我关注这个包很久了。目前存在一个不能算bug的争议点希望能跟你探讨一下。我有一个变量,有70%的值是0,这个变量我自己用python决策树分箱做woe后iv可以达到1.5, 用smbinning的话也是相同的结果,算是一个很重要的变量。但是用scorecard分不出组(也就是【-inf,inf】)。我猜测是因为R语言里的区间是左闭右开,所以0这个值很容易被合并掉,我想问下您这里有没有什么可以解决的方案或者好的建议?
test.xlsx

@ShichenXie
Copy link
Owner

可以把这列和y发我试试么

@zjyoung
Copy link
Author

zjyoung commented Mar 26, 2020

可以把这列和y发我试试么

我更新了问题。附件是test.xlsx。

@ShichenXie
Copy link
Owner

这里的0是填充的吧,如果是可以试着填为-1、-9,、-999之类的;

library(data.table)
library(scorecard)

woebin(setDT(dat)[var == 0, var := -1],  y = 'label')

也可以把0设置为特殊值;

woebin(dat, y = 'label', special_values = list(var = 0))

@zjyoung
Copy link
Author

zjyoung commented Mar 26, 2020

这里的0不是填充的,0代表某种行为进行了0次,其他的值也依次类推。而且有一个前后矛盾的点,我用var_filter来看这个变量的话,iv是1.5,说明iv是可以算出来的。但是到了woebin这一步,就又算不出来了。

@ShichenXie
Copy link
Owner

我更新了下下。你安装github上面的版本试试。修改了初始化分箱点的方法。

另外,var_filter里面的iv值与woebin里面的iv值都是调用相同函数计算的。区别在于var_filter里面计算的iv是变量分箱之前的iv值,woebin里的分箱之后的iv值

@zjyoung
Copy link
Author

zjyoung commented Mar 30, 2020

我更新了下下。你安装github上面的版本试试。修改了初始化分箱点的方法。

另外,var_filter里面的iv值与woebin里面的iv值都是调用相同函数计算的。区别在于var_filter里面计算的iv是变量分箱之前的iv值,woebin里的分箱之后的iv值

已经好了,完美的解决了我的困惑,非常感谢!!

@ShichenXie
Copy link
Owner

good

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants