Logistic回归
Posted FutureDrame
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Logistic回归相关的知识,希望对你有一定的参考价值。
适用因变量一般有1和0(是否)两种取值,表示取值为1的概率.
import pandas as pd filename = ‘../data/bankloan.xls‘ data = pd.read_excel(filename) x = data.iloc[:,:8].as_matrix() #读取自变量,并处理为pd的二维数组 y = data.iloc[:,8].as_matrix() #读取因变量,是否违约 from sklearn.linear_model import LogisticRegression as LR from sklearn.linear_model import RandomizedLogisticRegression as RLR rlr = RLR() #建立随机逻辑回归模型,筛选变量 rlr.fit(x,y) #训练模型, rlr.get_support() #筛选出结果,默认阈值0.25,可以RLR(selection_threshold = 0.5)手动设置 print(u‘通过随机筛选模型选取特征结束.‘) print(rlr.get_support()) print(rlr.scores_) # print(data.columns) # print(x) #print(u‘有效特征为:s%‘ % ‘,‘.join(data.columns[rlr.get_support()])) print(u‘有效特征为:%s‘ % ‘,‘.join(data.iloc[:,:8].columns[rlr.get_support()])) #有效特征为:工龄,地址,负债率,信用卡负债 x = data[data.iloc[:,:8].columns[rlr.get_support()]].as_matrix() #筛选好特征 lr = LR() #建立逻辑回归模型 lr.fit(x,y) #用筛选好的特征数据训练模型 print(u‘逻辑回归模型训练结束.‘) print(u‘模型的平均正确率:%s‘ % lr.score(x,y))
通过随机筛选模型选取特征结束. [False False True True False True True False] [ 0.085 0.085 0.98 0.4 0. 0.995 0.545 0.03 ] 有效特征为:工龄,地址,负债率,信用卡负债 Index([‘工龄‘, ‘地址‘, ‘负债率‘, ‘信用卡负债‘], dtype=‘object‘) 逻辑回归模型训练结束. 模型的平均正确率:0.814285714286 Process finished with exit code 0
采用随机逻辑回归剔除自变量(剔除false),逻辑回归的本质还是一种线型模型,被筛选掉的变量不一定就跟结果没关系,可能存在非线型相关.
以上是关于Logistic回归的主要内容,如果未能解决你的问题,请参考以下文章
[机器学习实战-Logistic回归]使用Logistic回归预测各种实例