栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

逻辑回归原理

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

逻辑回归原理

百度的定义: logistic回归又称logistic回归分析,是一种广义的线性回归分析模型,常用于数据挖掘,疾病自动诊断,经济预测等领域。例如,探讨引发疾病的危险因素,并根据危险因素预测疾病发生的概率等。以胃癌病情分析为例,选择两组人群,一组是胃癌组,一组是非胃癌组,两组人群必定具有不同的体征与生活方式等。因此因变量就为是否胃癌,值为“是”或“否”,自变量就可以包括很多了,如年龄、性别、饮食习惯、幽门螺杆菌感染等。自变量既可以是连续的,也可以是分类的。然后通过logistic回归分析,可以得到自变量的权重,从而可以大致了解到底哪些因素是胃癌的危险因素。同时根据该权值可以根据危险因素预测一个人患癌症的可能性。

逻辑回归主要是解决二分类问题

Logistic 回归的本质是:假设数据服从这个分布,然后使用极大似然估计做参数的估计

Logistic回归模型的适用条件

1 因变量为二分类的分类变量或某事件的发生率,并且是数值型变量。但是需要注意,重复计数现象指标不适用于Logistic回归。

2 残差和因变量都要服从二项分布。二项分布对应的是分类变量,所以不是正态分布,进而不是用最小二乘法,而是最大似然法来解决方程估计和检验问题。

3 自变量和Logistic概率是线性关系

4 各观测对象间相互独立

公式: 

输出:[0,1]区间的概率值,默认0.5作为阀值 注:g(z)为sigmoid函数

与线性回归原理相同,但由于是分类问题, 损失函数不一样,只能通过梯度下降求解

对数似然损失函数:

cost损失的值越小,那么预测的类别准确度更高

sklearn 的API sklearn.linear_model.LogisticRegression

sklearn.linear_model.LogisticRegression(penalty=‘l2’, C = 1.0)

Logistic回归分类器 coef_:回归系数

注:感觉使用python进行逻辑回归模型比较麻烦,其他的软件如spss,stata有可进行计算

def logistic():
    """
    逻辑回归做二分类进行癌症预测
    :return: none
    """
    #构造列标签名字

    #读取数据
    data = pd.read_csv()

    print(data)

    #缺失值处理
    data = data.replace(to_replace="?",value=np.nan)

    data.dropna()

    #进行数据的分割
    x_train, x_test, y_train, y_test = train_test_split(data[column[1:10]],data[column[10]] ,test_size=0.25)

    #标准化处理
    std= StandardScaler()

    x_train = std_x.fit_transform(x_train)
    x_test = std_x.transform(x_test)

    #逻辑回归预测
    lg =LogisticRegression(c=1.0)
    lg.fit(x_train,y_train)
    print(lg.coef_)

    y_predict = lg.predict(x_test)

    print("准确率:",lg.score(x_test,y_test))

    print("召回率:", classification_report(y_test, y_predict,labels=[2,4],target_names=["良性","恶性"]))

    return None

if __name__ == "__main__":
    logistic()

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/926312.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号