前三篇文章我们对经典的贷款还款逾期问题进行了模型的建立和参数调整,并将结果可视化。
模型建立了,自然是要拿来用了。这里我们就看看模型的简单运用。
import sklearn
import pydotplus
import pandas as pd
from sklearn import tree
#导入各种库
df=pd.read_excel(r'C:\Users\数据\Desktop\Model\决策树1.0.xlsx')
df_data=df.iloc[:,:3]
df_target=df.iloc[:,3]
#导入数据,并将数据分为自变量和应变量
model=tree.DecisionTreeClassifier() #选择模型,并设置参数(这里没有设置参数)
model=model.fit(df_data,df_target) #训练数据
with open(r'C:\Users\数据\Desktop\Model\tree.dot','w') as f:
f=tree.export_graphviz(model,out_file=f)
#将训练的模型保存
dot_data=tree.export_graphviz(model, out_file=None, feature_names=df_data.columns, class_names=['Not Cheat', 'Cheat'], filled=True, rounded=True, special_characters=True)
graph=pydotplus.graph_from_dot_data(dot_data)
graph.write_pdf(r'C:\Users\数据\Desktop\Model\tree.pdf')
#将模型可视化并保存
一、分类预测
决策树模型的功能用来分类的。
这是原始的数据:
如果我们预测一个新用户是‘有房产’,‘未婚’,收入78000的,我们用模型预测一下他是否会还款逾期:
结果是0,就是不会逾期。
我们从树图上看看结果是否是对的。
这只是预测一个客户,如果我有多个客户呢??
直接读取为DataFrame进行预测就行了。
可以直接变成预测结果列:
二、各个自变量的重要性:
系数反映每个自变量的影响力。系数越大表示该特征在分类中起到的作用越大。
看来似乎收入和房产对是否逾期影响更大。
。
。
。
由于这个案例使用的样本量比较小,很难进行结果检测,下一篇,我们使用另外一个经典案例鸢尾花来总结一下结果评估和分样本训练模型。