python数据分析逻辑回归,python逻辑回归逐步回归
使用Scikit-Learn对数据进行逻辑回归分析。
1.特征选择(1)给出每个特征的f值和p值,选择f值大或p值小的一个(2)递归特征消除Scikit-Learn提供RFE包和RFECV,通过交叉验证对特征进行排序。
(3)稳定性选择
用随机逻辑回归模型表示(在图书计划中使用)
对训练数据进行多次采样以拟合回归模型,即在不同的数据子集和特征子集上运行特征算法,最终选出得分高的重要特征。这是稳定性选择方法。具有高得分的重要特征可能是由于被认为是重要特征的高频率(被选为重要特征的次数除以其子集被测试的次数)
2.对筛选出的特征建立logistic回归模型,输出平均正确率。
Filename= e:/python数据挖掘程序/chapter 5/demo/data/bank loan . xls
data=pd.read_excel(文件名)
数据
X=data.iloc[:8]。as_matrix()#所有行和列1到7,后面的as_matrix()采用变量列表的形式。
Y=data.iloc[:8]。as_matrix()#第8列
来自sklearn.linear_model导入逻辑回归为LR
从sklearn.linear_model导入随机逻辑回归作为RLR
Rlr=RLR() #建立随机逻辑回归模型,筛选变量。
Rl.fit (x,y) #训练模型
Print(rlr.get_support())#筛选八个特征的结果,
结果如下:[假假真假真假真假真假真假]
Print(rlr.scores_)#获取特征筛选分数
结果如下:[0.055 0.055 0.99 0.43 0.0 995 0.56 0.025]
打印(u 通过随机逻辑回归模型选择特征的结束)
2=data.drop (u default ,1)
print(u 的有效特征是:% s% ,。join(data2 . columns[rlr . get _ support()])#书中错误,应该是data 2。
x=data[data 2 . columns[rlr . get _ support()]]。as _矩阵()
Lr=LR() #建立logistic回归模型
Lr.fit(x,y) #用所选特征数据训练模型
打印(u 逻辑回归模型训练结束)
打印(U 模型的平均正确率为:%s% lr.score(x,y))
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。