规则策略是风控策略人员日常打交道的一项工作内容,如何有效挖掘出有价值的规则对于风险拦截至关重要。本次介绍除了单规则以外的,二维、以及多维规则的挖掘方法,内容节选自👉《100天风控专家》。






Sklearn没有对ID3和C4.5算法的实现,就只有CART算法,并且是调优过的。下面是官方文档的说明。
X = df[df.columns.difference([yflag,'issue_d','address','emp_title','earliest_cr_line','title'])]y = df[yflag]# 划分数据集x_train,x_test,y_train,y_test=train_test_split(X,y,test_size=0.2,random_state=42)# 按照最优的方式分裂model=tree.DecisionTreeClassifier(criterion="gini", splitter='best', random_state=42, max_depth=3, min_samples_leaf=0.05, min_samples_split=0.05)model = model.fit(x_train,y_train)dot_data=tree.export_graphviz(model, feature_names=X.columns, filled=True, rounded=True, out_file=None)graph=graphviz.Source(dot_data)graph

export_graphviz可视化方法,但会在此基础上做一些内容的优化调整。dot_data = tree.export_graphviz(tree_model)

DecisionTreeClassifier或者DecisionTreeRegressor构建一个决策树模型对象。X = df[df.columns.difference([yflag,'issue_d','address','emp_title','earliest_cr_line','title'])]y = df[yflag]# 划分数据集x_train,x_test,y_train,y_test=train_test_split(X,y,test_size=0.2,random_state=42)# 按照最优的方式分裂model=tree.DecisionTreeClassifier(criterion="gini", splitter='best', random_state=42, max_depth=3, min_samples_leaf=0.05, min_samples_split=0.05)model = model.fit(x_train,y_train)...这里要我们设置的决策树深度为3,并且树结构生成完整,因此生成的规则中均包含3个变量,8条决策路径总共生成8条规则,具体如下:

规则是用来高风险客户的,因此先对精准率进行从大到小的排序,然然后再看命中率、召回率等是否符合要求。
--end--
从0到1的信贷风控训练营