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)) # 给出模型平均正确率
递归特征消除的主要思想是:反复构建模型,然后选出最好或最差的特征,将选出的特征放在一边,剩余部分重复上述过程,直到遍历所有特征,此过程中被消除的次序就是特征的排序。