feature_select online - shuiwanghuohuo/scorecard_wiki GitHub Wiki

from tool_box import tool
from bin_method import best_bin as bb
feature_select(data_rdd, black_flag="label", is_round=False, piece=5, min_interval=2, p_value=0.05, rate=0.05, min_bin_size=50,
                   not_in_list=["None", "NaN", "NA", "nan", None,
                                "-999", "-999.0", -999, "-1111", "-1111.0", -1111],
                   bin_method="top_down", cut_method='cut_ks', combine_method='combine_iv', corr=False, corr_method="pearson", mic=False,
                   AR=False, gini=False, pearson_chi2=False, likelihood_ratio=False, F_test=False)
通过单一阈值和iv筛选指标

Parameter Description
---------------------
data_rdd : pyspark.rdd.PipelinedRDD
    spark dataframe经过trans_rdd转换过的数据集

black_flag : string,(default="label")
    y标签列名称

is_round : boolean,(default=False)
    是否需要有业务含义的分bin方法

piece : int,(default=5)
    每个特征分bin个数

rate : float,(default=0.05)
    每bin最小样本数占比

min_bin_size : int,(default=50)
    每bin最小样本数

not_in_list : list,(default=["None", "NaN", "NA", "nan",None, "-999", "-999.0", -999,"-1111","-1111.0",-1111])
    空值列表,在列表中的值会被认为空值

bin_method : string,(default="top_down")
    分bin方法,可以选择top_down(ks,gini,ig)或者down_top(卡方)

cut_method : string,(default="cut_ks")
    分bin切分方法,还可以是"cut_gini","cut_ig",只在bin_method="top_down"是生效

combine_method : string,(default="combine_iv")
    分bin聚合方法,还可以是"combine_gini","combine_ig",只在bin_method="top_down"是生效

corr : boolean,(default=False)
    是否计算相关性

corr_method : string,(default="pearson")
    计算相关性方法,仅在corr为True时生效

mic : boolean,(default=False)
    是否计算互信息值,这个算起来会有点慢的哦,考虑好是不是要用哦

AR : boolean,(default=False)
    是否计算AR值

gini : boolean,(default=False)
    是否计算gini值

pearson_chi2 : boolean,(default=False)
    是否计算皮尔逊卡方检验的p-value

likelihood_ratio : boolean,(default=False)
    是否计算似然比检验的p-value

F_test : boolean,(default=False)
    是否计算F检验的p-value

Return
------
index_iv : 一个pandas dataframe 包括了每个特征的变量名,单一阈值和iv