逻辑回归分析
1、代码
import pandas as pd
import numpy as np
#import xlwt
import xlrd
filename = 'E:/data/chapter5/demo/data/bankloan.xls' #文件路径
#outputfile= r'E:\data\chapter4\demo\data\output_principal_component.xls'
data = pd.read_excel(filename) #读取文件
#print(data)
x = data.iloc[:,:8].as_matrix() #读取所有行,第0-7列数据,并将数据转换成矩阵形式
y = data.iloc[:,8].as_matrix() #第8列所有数据,并将数据转换成矩阵形式
#print(x)
#print(y)
from sklearn.linear_model import LogisticRegression as LR
from sklearn.linear_model import RandomizedLogisticRegression as RLR
rlr = RLR() #建立随机逻辑回归模型,筛选变量;在建立模型时,使用了默认阈值0.25,可以用RLR(selection_threshold = 0.4)手动设置阈值
rlr.fit(x, y) #训练模型
rlr.get_support() #获取特征筛选结果
print(rlr.get_support())
print(rlr.scores_) #获取各特征分数
print(u'通过随机逻辑回归模型筛选特征结束。')
data_1 = data.drop(u'违约', 1)
print(u'有效特征为:%s' % ','.join(data_1.columns[rlr.get_support()]))
x = data[data_1.columns[rlr.get_support()]].as_matrix() #筛选好特征
#print(x)
lr = LR()
lr.fit(x,y)
print(u'逻辑回归模型训练结束。')
print(u'模型的平均正确率为: %s' % lr.score(x, y)) #输出模型的平均正确率