美文网首页
数据挖掘建模之python进行Logistic回归分析

数据挖掘建模之python进行Logistic回归分析

作者: afansdie | 来源:发表于2019-07-07 19:50 被阅读0次

    回归分析是通过建立模型来研究变量之间相互关系的密切程度、结构状态及进行模型预测的一种有效工具。按照研究方法划分,回归分析研究的范围大致如下:


    本文简述几个主要的回归模型:

    线性回归:

    适用于因变量和自变量是线性关系,对自变量和因变量之间的线性关系进行建模,可以用最小二乘法求解模型系数

    非线性回归:

    适用于因变量和自变量不是线性关系,如果非线性关系可以通过简单的函数变换转化成线性关系,用线性回归的思想求解,如果不能转化,用非线性最小二乘法求解

    Logistic回归:

    因变量一般有1、0(是、否)两种求值,是广义线性回归模型的特例,利用Logistic函数将因变量的取值范围控制在0和1之间,表示取之为1的概率。

    岭回归:

    适用于参与建模的自变量之间具有多重共线性,是一种改进最小二乘法估计的方法。

    主成分回归:

    适用于参与建模的自变量之间具有多重共线性,主成分回归是根据主成分分析的思想提出来的,是对最小二乘法的一种改进,它是参数估计的一种有偏估计。可以消除自变量之间的多重共线性。


    本文主要针对二分类Logistic回归进行代码展示:

    利用Scikit-Learn对数据进行逻辑回归分析。

    首先进行特征筛选,特征筛选方法有很多主要包含在Scikit-Learn的feature_selection库中,比较简单的有通过F检验来给出各个特征的F值和p值,从而可以筛选变量。

    其次有递归特征消除和稳定性选择等比较新的方法。这里使用了稳定性选择方法中的随机逻辑回归进行特征筛选,然后利用筛选后的特征建立逻辑回归模型,输出平均正确率。

    其代码如下:

    #-*- coding: utf-8 -*-

    import pandasas pd

    filename ='path'

    data = pd.read_excel(filename)

    x = data.iloc[:,:8].as_matrix()

    y = data.iloc[:,8].as_matrix()

    from sklearn.linear_modelimport LogisticRegressionas LR

    from sklearn.linear_modelimport RandomizedLogisticRegressionas RLR

    rlr = RLR()#建立随机逻辑回归模型,筛选变量

    rlr.fit(x, y) #训练模型

    rlr.get_support()#获取特征筛选结果,也可以通过.scores_方法获取各个特征的分数

    print(u'')

    print(u'%s' %','.join(data.columns[rlr.get_support()]))

    x = data[data.columns[rlr.get_support()]].as_matrix()#筛选好特征

    lr = LR()#建立逻辑货柜模型

    lr.fit(x, y)#用筛选后的特征数据来训练模型

    print(u'逻辑回归模型训练结束')

    print(u'模型的平均正确率为:%s' % lr.score(x, y))#给出模型的平均正确率。

    逻辑回归本质上还是一种线性模型,因此这里的 模型有效性检验本质上还是在做线性相关检验,因此筛选出来的变量,说明和结果具有比较强的线性相关性。对于非线性关系的变量筛选方法还有决策树、神经网络等,接下来的文章会继续介绍。

    相关文章

      网友评论

          本文标题:数据挖掘建模之python进行Logistic回归分析

          本文链接:https://www.haomeiwen.com/subject/rqsihctx.html