【python】Logistics模型预测银行贷款违约

来源:互联网 发布:vb是什么 编辑:程序博客网 时间:2024/04/27 19:58
Logistics模型预测贷款违约
         logistic回归又称logistic回归分析,是一种广义的线性回归分析模型,常用于数据挖掘,疾病自动诊断,经济预测等领域。 Logistics回归模型中因变量只有1-0,两种取值。
模型理论重要参考

一、模型输入:



二、特征选择:
特征选择是模型成功的基础性重要工作。一般特征筛选方法有
(1)看模型系数显著性(F值大、P值小)
(2)递归特征消除:反复构建模型,根据变量系数选择最好特征,然后再递归在剩余变量上重复该过程,直到遍历所有特征。特征被挑选出顺序就是特征重要性排序顺序。
(3)稳定性选择:在不同特征子集、数据子集上运行算法,不断重复,最终汇总特征选择结果。统计,各个特征被认为是重要性特征的频率作为其重要性得分(被选为重要特征次数除以它所在子集被测试次数)。

三、pythonCode:
#-*- coding: utf-8 -*-#逻辑回归 自动建模import pandas as pdfrom sklearn.linear_model import LogisticRegression as LRfrom sklearn.linear_model import RandomizedLogisticRegression as RLR#参数初始化filename = '../data/bankloan.xls'data = pd.read_excel(filename)x = data.iloc[:,:8].as_matrix()#8个属性y = data.iloc[:,8].as_matrix()#第九列  结果标签#稳定性选择方法  挑选特征rlr = RLR(selection_threshold=0.5) #建立随机逻辑回归模型,筛选变量  特征筛选用了默认阈值0.25rlr.fit(x, y) #训练模型rlr.get_support() #获取特征筛选结果print(u'通过随机逻辑回归模型筛选特征结束。')print(u'有效特征为:%s' % ','.join(data.columns[rlr.get_support()]))x = data[data.columns[rlr.get_support()]].as_matrix() #筛选好特征,重新训练模型lr = LR() #建立逻辑货柜模型lr.fit(x, y) #用筛选后的特征数据来训练模型print(u'逻辑回归模型训练结束。')print(u'模型的平均正确率为:%s' % lr.score(x, y))

四、结果

通过随机逻辑回归模型筛选特征结束。
有效特征为:工龄,负债率,信用卡负债
逻辑回归模型训练结束。
模型的平均正确率为:0.8



1 0
原创粉丝点击