线性回归与Logistic回归模型分析

1、线性回归

2、Logistic回归

原理

Logistic回归模型中因变量仅有0和1两种取值,假设:在p个独立自变量x1、x2....xp作用下,记y取1的概率为p=P(y=1|X),取0概率为1-p,取1和0的概率比为:p/(1-p),称为事件的优势比,对odds取自然对数倒数的Logistic变换

 当p在(0,1)变化时,odds的取值范围为:0到正无穷大,则In(p/1-p)范围为:负无穷大到正无穷大

建模步骤

  • 根据挖掘目的设置特征,筛选特征y:x1,x2....xp
  • 列回归方程
  • 估计回归系数
  • 模型检验(正确率、混淆矩阵、ROC曲线、KS值)
  • 预测控制

代码实现

import pandas as pd

# 参数初始化
filename = '../data/bankloan.xls'
data = pd.read_excel(filename)
x = data.iloc[:,:8].as_matrix()
y = data.iloc[:,8].as_matrix()

from sklearn.linear_model import LogisticRegression as LR
from sklearn.linear_model import RandomizeLogisticRegression as RLR

rlr = RLR() # 建立随机逻辑回归模型,筛选变量    
rlr.fit(x,y) # 训练数据
rlr.get_support() # 获取特征筛选结果,也可通过.scores_方法获取各特征分数
print(u有效特征为:%s'%','.join(data.columns[rlr.get_support()]).as_matrix()    #筛选好特征

lr = LR()    #建立逻辑货柜模型
lr.fit(x,y)    #用筛选后的特征数据训练模型
print(u'模型的平均正确率为:%s'%lr.score(x,y))    # 给出模型平均正确率

递归特征消除的主要思想是:反复构建模型,然后选出最好或最差的特征,将选出的特征放在一边,剩余部分重复上述过程,直到遍历所有特征,此过程中被消除的次序就是特征的排序。

猜你喜欢

转载自www.cnblogs.com/Iceredtea/p/12052323.html
今日推荐