码迷,mamicode.com
首页 > 其他好文 > 详细

Logistic回归

时间:2018-06-07 15:33:05      阅读:560      评论:0      收藏:0      [点我收藏+]

标签:数组   rom   port   index   地址   gre   关系   false   逻辑回归   

适用因变量一般有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回归

标签:数组   rom   port   index   地址   gre   关系   false   逻辑回归   

原文地址:https://www.cnblogs.com/hanshuai0921/p/9150624.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!