我的github repo包。
woeBinningPandas的Python项目详细描述
#大熊猫 该代码生成一个监督的细分类和粗分类的数字变量和因素相对于一个二分法的目标变量。它的参数为寻找适合特定数据特性和实际需要的装箱提供了灵活性。
这段代码的基础是woebining代码(https://github.com/cran/woeBinning/blob/master/R/woe.binning.R),并从r改为python。 #已用程序版本 Spyder(Python 3.7)
熊猫0.23.4 #使用的python库 将熊猫作为PD导入
将numpy导入为np
导入数学
导入警告
导入副本 #使用 ###从github克隆存储库 ####使用git命令
>;cd您的链接文件夹
>;git克隆https://github.com/V1ad98/woeBinningPandas.git
####熊猫队准备出发了! ###设置变量csv文件 >;yourvariable=pd.read_csv('yourfile.csv') ###设置df变量并从csv文件中指定要使用的列名。 >;df=yourvariable[['columnnames1','columnnames2','columnnames3']] ###在函数调用woe-binning的代码末尾,设置参数的值 >;binning=woe-binning(df、target-var、pred-var、min-perc-total、min-perc-class、stop-limit、abbrev-fact-levels、event-class)
df-输入数据的数据帧的名称。
target_var-引号中的二分法目标变量的名称。只有具有两个不同值(0或1)的目标变量。
pred_var-要放入引号中的预测变量的名称。值可以是数字或因子。
min_perc_total-对于数值变量,此参数定义应用任何合并之前的初始类数。祸不单行。增加min_perc_total}参数将避免稀疏的存储箱。接受范围:0.0001-0.2;默认值:0.05。
min_perc_u class-如果bin中某个目标类的列百分比低于此限制(例如低于0.01=1%),则相应的bin将与其他bin合并。如果是数值变量,则合并相邻的预测类。 设置min_perc_class>;0可能提供更可靠的woe值。接受范围:0-0.2;默认值:0,即不应用与稀疏目标类相关的合并。
stop_limit-如果得到的信息值(iv)比前一个装箱步骤减少了(例如0.05=5%)以上,则停止基于woe的预测器类/级别合并。 stop_limit=0将跳过任何基于woe的合并。 增加stop_限制将简化装箱解决方案,并可能避免过度拟合。接受范围:0-0.5;默认值:0.1。
abbrev_fact_levels-如果超过指定的字符数,则通过基本缩写函数缩写新(合并)因子级别的名称。
event_class-用于指定目标事件的类的可选参数。该类通常表示负面事件,如贷款违约或疾病。在引号中使用字符(例如bad)。 这个类将由负的woe值表示。 #与pip包一起使用 ###下载pip包woebiningpandas >;PIP安装WoebiningPandas ###添加使用包 >;进口大熊猫 ###设置变量并调用函数 >;yourvariable=woebiningpandas.pd.read_csv('yourfile.csv')
>;df=yourvariable[['columnnames1','columnnames2','columnnames3']] ###将值传递给函数 >;binning=woebiningpandas.woe_binning(df,target_var,pred戋var,min戋perc戋u total,min戋perc戋u class,stop戋u limit,abbrev戋u fact戋u levels,event戋u class) #实例 >;导入WoebiningPandas
>;germancredit=woebiningpandas.pd.read_csv('germancredit.csv')
>;df=germancredit[['信用风险','金额','期限]]
>;binning=woebiningpandas.woe_binning(df,“信用风险”,“期限”,0.05,0,0.1,50,“坏的”)