Logistic回归分析实例

Logistic回归,即Logistic回归分析,是一种广义的线性回归模型,常用于数据挖掘,疾病自动诊断,经济预测等领域。

Logistic回归分析的因变量是:0、1,或者是否(二分类);自变量可以是连续的也可以是分类的,通过Logistic回归分析得到自变量的权重

Logistic回归属于概率型非线性回归,分为二分类和多分类的回归模型(二分类就是因变量只有2种取值,多分类就是因变量有多种取值)

Logistic回归建模步骤

1)根据分析目的设置指标变量(因变量和自变量),然后收集数据,根据收集到的数据对特征再次进行筛选

2)y取1的概率是,取0的概率是,用和自变量列出线性回归方程,估计出模型中的回归系数

3)进行模型检验。模型的有效性的检验指标有很多,最基本的有正确率,其次有混淆矩阵、ROC曲线、KS值等

4)模型应用:输入自变量的值,就可以得到预测变量的值

小栗子

这里使用书中提供的数据集,银行拖欠贷款的数据为例
大概是这一个样子

df = pd.read_excel(data_path)
df.head()

首先,我们得识别下这个数据,从数据看上来,“违约”是因变量,0、1表示是否,而其他的变量:年龄、教育等就是自变量,所以,我们就是要通过这些自变量来预测用户是否会违约

后面,我们要做一个特征筛选,就是选取哪些自变量来进行回归分析

上面,我们已经识别出自变量和因变量(也就是X和Y)

x = df.iloc[:,:8].values
y = df.iloc[:,8].values
from sklearn.linear_model import LogisticRegression as LR
from sklearn.linear_model import RandomizedLogisticRegression as RLR

书中使用的是sklearn的包
这里引入了逻辑回归模型LogisticRegression
然后,还有一个问题,就是RandomizedLogisticRegression,这个我在文档上找不到
貌似是随机逻辑回归模型,用来筛选变量的,使用的时候,会提示说不推荐使用了,等我再研究一下看看怎样

rlr = RLR()
rlr.fit(x , y)
rlr.get_support()
df.iloc[:,:8].columns[rlr.get_support()]

这里获取的就是我们最终的特征,特征筛选完成之后,就可以调用逻辑回归模型了

x = df[df.iloc[:,:8].columns[rlr.get_support()]].values
lr = LR()
lr.fit(x,y)
lr.score(x,y)

最后的这个分数就是模型的准确率


小栗子到这里是结束了,但是其中使用的几个模型思想,参数啥的,还没有准确的理解,还要再摸索学习一下

你可能感兴趣的:(Logistic回归分析实例)