分类算法-逻辑回归与二分类

这篇具有很好参考价值的文章主要介绍了分类算法-逻辑回归与二分类。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1、逻辑回归的应用场景

  • 广告点击率
  • 是否为垃圾邮件
  • 是否患病
  • 金融诈骗
  • 虚假账号

看到上面的例子,我们可以发现其中的特点,那就是都属于两个类别之间的判断。逻辑回归就是解决二分类问题的利器。

2、 逻辑回归的原理

2.1 输入

分类算法-逻辑回归与二分类,机器学习,分类,逻辑回归,数据挖掘
逻辑回归的输入就是一个线性回归的结果。

2.2 激活函数

  • sigmoid函数
    分类算法-逻辑回归与二分类,机器学习,分类,逻辑回归,数据挖掘
  • 分析
    • 回归的结果输入到sigmoid函数当中
    • 输出结果:[0, 1]区间中的一个概率值,默认为0.5为阈值

逻辑回归最终的分类是通过属于某个类别的概率值来判断是否属于某个类别,并且这个类别默认标记为1(正例),另外的一个类别会标记为0(反例)。(方便损失计算)

输出结果解释(重要):假设有两个类别A,B,并且假设我们的概率值为属于A(1)这个类别的概率值。现在有一个样本的输入到逻辑回归输出结果0.6,那么这个概率值超过0.5,意味着我们训练或者预测的结果就是A(1)类别。那么反之,如果得出结果为0.3那么,训练或者预测结果就为B(0)类别。

所以接下来我们回忆之前的线性回归预测结果我们用均方误差衡量,那如果对于逻辑回归,我们预测的结果不对该怎么去衡量这个损失呢?我们来看这样一张图
分类算法-逻辑回归与二分类,机器学习,分类,逻辑回归,数据挖掘
那么如何去衡量逻辑回归的预测结果与真实结果的差异呢?

2.3 损失以及优化

逻辑回归的损失,称之为对数似然损失,公式如下:

  • 分段函数:

分类算法-逻辑回归与二分类,机器学习,分类,逻辑回归,数据挖掘

y 代表真实值,h(x)代表预测值

怎么理解单个的式子呢?这个要根据log的函数图像来理解
分类算法-逻辑回归与二分类,机器学习,分类,逻辑回归,数据挖掘

由图像可以看出,当预测值h(x)等于1的时候,纵轴(损失值)就是0,即损失值最小,符合要求;

分类算法-逻辑回归与二分类,机器学习,分类,逻辑回归,数据挖掘

由图像可以看出,当预测值h(x)等于0的时候,纵轴(损失值)就是0,即损失值最小,符合要求;

  • 综合完整损失函数
    分类算法-逻辑回归与二分类,机器学习,分类,逻辑回归,数据挖掘
    接下来我们呢就带入上面那个例子来计算一遍,就能理解意义了。
    分类算法-逻辑回归与二分类,机器学习,分类,逻辑回归,数据挖掘

2.4 优化

同样使用梯度下降优化算法,去减少损失函数的值。这样去更新逻辑回归前面对应算法的权重参数,提升原本属于1类别的概率,降低原本是0类别的概率。

3、逻辑回归API

  • sklearn.linear_model.LogisticRegression(solver=‘liblinear’, penalty=‘l2’, C = 1.0)
    • solver:优化求解方式(默认开源的liblinear库实现,内部使用了坐标轴下降法来迭代优化损失函数)
      • sag:根据数据集自动选择,随机平均梯度下降
    • penalty:正则化的种类
    • C:正则化力度

默认将类别数量少的当做正例

LogisticRegression方法相当于 SGDClassifier(loss=“log”, penalty=" "),SGDClassifier实现了一个普通的随机梯度下降学习,也支持平均随机梯度下降法(ASGD),可以通过设置average=True。而使用LogisticRegression(实现了SAG)

4、 案例:

通过学习时间,预测考试是否通过

5、分类的评估方法

5.1 精确率与召回率

5.1.1混淆矩阵

在分类任务下,预测结果(Predicted Condition)与正确标记(True Condition)之间存在四种不同的组合,构成混淆矩阵(适用于多分类)
分类算法-逻辑回归与二分类,机器学习,分类,逻辑回归,数据挖掘

5.1.2 精确率(Precision)与召回率(Recall)
  • 精确率:预测结果为正例样本中真实为正例的比例(了解)
    分类算法-逻辑回归与二分类,机器学习,分类,逻辑回归,数据挖掘
  • 召回率:真实为正例的样本中预测结果为正例的比例(查的全,对正样本的区分能力)
    分类算法-逻辑回归与二分类,机器学习,分类,逻辑回归,数据挖掘
    那么怎么更好理解这个两个概念
    分类算法-逻辑回归与二分类,机器学习,分类,逻辑回归,数据挖掘
    还有其他的评估标准,F1-score,反映了模型的稳健型

分类算法-逻辑回归与二分类,机器学习,分类,逻辑回归,数据挖掘

5.1.3 分类评估报告API
  • sklearn.metrics.classification_report(y_true, y_pred, labels=[], target_names=None )
    • y_true:真实目标值
    • y_pred:估计器预测目标值
    • labels:指定类别对应的数字
    • target_names:目标类别名称
    • return:每个类别精确率与召回率

根据前面案例,得到结果:

print("精确率和召回率为:", classification_report(y_test, result, labels=[0, 1], target_names=['通过', '不及格']))

分类算法-逻辑回归与二分类,机器学习,分类,逻辑回归,数据挖掘

假设这样一个情况,如果99个样本癌症,1个样本非癌症,不管怎样我全都预测正例(默认癌症为正例),准确率就为99%但是这样效果并不好,这就是样本不均衡下的评估问题
问题:如何衡量样本不均衡下的评估?

5.2 ROC曲线与AUC指标

5.2.1 知道TPR与FPR
  • TPR = TP / (TP + FN)
    • 所有真实类别为1的样本中,预测类别为1的比例
  • FPR = FP / (FP + FN)
    • 所有真实类别为0的样本中,预测类别为1的比例
5.2.2 ROC曲线
  • ROC曲线的横轴就是FPRate,纵轴就是TPRate,当二者相等时,表示的意义则是:对于不论真实类别是1还是0的样本,分类器预测为1的概率是相等的,此时AUC为0.5

分类算法-逻辑回归与二分类,机器学习,分类,逻辑回归,数据挖掘

5.2.3AUC指标
  • AUC的概率意义是随机取一对正负样本,正样本得分大于负样本的概率
  • AUC的最小值为0.5,最大值为1,取值越高越好
  • AUC=1,完美分类器,采用这个预测模型时,不管设定什么阈值都能得出完美预测。绝大多数预测的场合,不存在完美分类器。
  • 0.5<AUC<1,优于随机猜测。这个分类器(模型)妥善设定阈值的话,能有预测价值。

最终AUC的范围在[0.5, 1]之间,并且越接近1越好

5.2.4 AUC计算API
  • from sklearn.metrics import roc_auc_score
    • sklearn.metrics.roc_auc_score(y_true, y_score)
      • 计算ROC曲线面积,即AUC值
      • y_true:每个样本的真实类别,必须为0(反例),1(正例)标记
      • y_score:每个样本预测的概率值
print("AUC指标:", roc_auc_score(y_test, model.predict(X_test)))

分类算法-逻辑回归与二分类,机器学习,分类,逻辑回归,数据挖掘文章来源地址https://www.toymoban.com/news/detail-723609.html

5.2.5、总结
  • AUC只能用来评价二分类
  • AUC非常适合评价样本不平衡中的分类器性能

到了这里,关于分类算法-逻辑回归与二分类的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【机器学习】逻辑回归(二元分类)

    离散感知器:输出的预测值仅为 0 或 1 连续感知器(逻辑分类器):输出的预测值可以是 0 到 1 的任何数字,标签为 0 的点输出接近于 0 的数,标签为 1 的点输出接近于 1 的数 逻辑回归算法(logistics regression algorithm):用于训练逻辑分类器的算法 sigmoid 函数: g ( z ) = 1 1 +

    2024年02月21日
    浏览(49)
  • 【机器学习】鸢尾花分类-逻辑回归示例

    功能: 这段代码演示了如何使用逻辑回归对鸢尾花数据集进行训练,并将训练好的模型保存到文件中。然后,它允许用户输入新的鸢尾花特征数据,使用保存的模型进行预测,并输出预测结果。 步骤概述: 加载数据和预处理: 使用 Scikit-Learn 中的 datasets 模块加载鸢尾花数据

    2024年02月10日
    浏览(40)
  • 逻辑回归揭秘: 从分类原理到机器学习实践

    逻辑回归 (Logistic Regression) 尽管名字中带有 “回归” 两个字, 但主要是用来解决分类问题, 尤其是二分类问题. 逻辑回归的核心思想是: 通过将线性回归的输出传递给一个激活函数 (Activation Function) 比如 Sigmoid 函数) 将连续值转化为 0 到 1 之间的概率值, 在根据阈值 (Threshold) 对概

    2024年02月02日
    浏览(45)
  • 【Python机器学习】实验04 多分类实践(基于逻辑回归)

    Iris数据集是常用的分类实验数据集,由Fisher, 1936收集整理。Iris也称鸢尾花卉数据集,是一类多重变量分析的数据集。数据集包含150个数据样本,分为3类,每类50个数据,每个数据包含4个属性。可通过花萼长度,花萼宽度,花瓣长度,花瓣宽度4个属性预测鸢尾花卉属于(Se

    2024年02月11日
    浏览(45)
  • 【机器学习300问】16、逻辑回归模型实现分类的原理?

            在上一篇文章中,我初步介绍了什么是逻辑回归模型,从它能解决什么问题开始介绍,并讲到了它长什么样子的。如果有需要的小伙伴可以回顾一下,链接我放在下面啦:                              【机器学习300问】15、什么是逻辑回归模型?     

    2024年01月25日
    浏览(55)
  • 【白话机器学习的数学】读书笔记(3)学习分类(感知机、逻辑回归)

    1.分类的目的 找到一条线把白点和黑点分开。这条直线是使 权重向量成为法线向量 的直线。(解释见下图) 直线的表达式为: ω ⋅ x = ∑ i = 1 n ω i ⋅ x i = 0 omega·x = sum_{i=1}^nomega_i · x_i = 0 ω ⋅ x = i = 1 ∑ n ​ ω i ​ ⋅ x i ​ = 0 ω omega ω 是权重向量 权重向量就是我们想要知

    2024年01月18日
    浏览(52)
  • 【Python机器学习】实验04(1) 多分类(基于逻辑回归)实践

    Iris数据集是常用的分类实验数据集,由Fisher, 1936收集整理。Iris也称鸢尾花卉数据集,是一类多重变量分析的数据集。数据集包含150个数据样本,分为3类,每类50个数据,每个数据包含4个属性。可通过花萼长度,花萼宽度,花瓣长度,花瓣宽度4个属性预测鸢尾花卉属于(Se

    2024年02月14日
    浏览(45)
  • 机器学习实战:Python基于Logistic逻辑回归进行分类预测(一)

    1.1 Logistic回归的介绍 逻辑回归( Logistic regression ,简称 LR )是一种经典的二分类算法,它将输入特征与一个sigmoid函数进行线性组合,从而预测输出标签的概率。该算法常被用于预测离散的二元结果,例如是/否、真/假等。 优点: 实现简单。Logistic回归的参数可以用极大似然

    2024年02月08日
    浏览(39)
  • 机器学习(10) 逻辑回归:多元分类(Multi-class classification)

    对于数据集中存在多个类别的分类问题,我们可以采用一种叫做 One-vs-rest 的方法,将其转化成二元分类的问题,然后再进行解决。 前面的是对于二元分类问题,应该如何去处理其预测函数、代价函数和梯度下降算法。 但是多元的分类才是生活常见的情况。 例如对于邮件,我

    2024年02月02日
    浏览(49)
  • 机器学习实验1——朴素贝叶斯和逻辑回归分类Adult数据集

    基于Adult数据集,完成关于收入是否大于50K的逻辑回归分类、朴素贝叶斯模型训练、测试与评估。 认识数据 14个特征变量如下 1个目标变量:Income:50K 或 50K 填充缺失值(“ ?”) 统计各类型数据缺失个数如下,这三种缺失数据类型均为离散型(discrete),因此采用众数填充较

    2024年01月23日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包