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回归 python代码

[机器学习实战-Logistic回归]使用Logistic回归预测各种实例

Python机器学习(十四)Logistic回归算法原理与代码实现

Logistic回归分类算法原理分析与代码实现

Logistic回归模型(C++代码实现)

Logistic回归模型(C++代码实现)