位置: IT常识 - 正文

逻辑回归(Logistic Regression)原理及其应用(逻辑回归模型)

编辑:rootadmin
逻辑回归(Logistic Regression)原理及其应用

目录

第一章:逻辑回归的应用场景

第二章:逻辑回归的原理

1.输入

2.Sigmoid函数

3.损失函数

4.优化损失

采用梯度下降:

第三章 逻辑回归应用案例

1.数据集

 2.具体流程

1.读取数据

 2.缺失值处理

3.划分数据集

4.标准化

5.预估器流程

6.模型评估

7.结果展示

第四章 分类评估算法

 1.分类的评估方法------精确率与召回率

精确率:

召回率:

F1-score

2.分类的评估方法------ROC曲线和AUC指标


第一章:逻辑回归的应用场景广告点击率是否为垃圾邮件是否患病金融诈骗虚假账号

推荐整理分享逻辑回归(Logistic Regression)原理及其应用(逻辑回归模型),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:逻辑回归原理,逻辑回归logistic,逻辑回归Logistic regression,逻辑回归Logistic regression,逻辑回归Logistic regression,逻辑回归模型,逻辑回归模型解决什么问题,逻辑回归模型,内容如对您有帮助,希望把文章链接给更多的朋友!

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

注意:逻辑回归虽然名字中有回归二字,但是它不是回归算法,而是分类算法。

第二章:逻辑回归的原理1.输入

这是线性回归输出的结果,我们一般可以写成矩阵形式。如下:

权重和偏置分别用矩阵表示之后,将上面的式子可以写成下面的:

 重点:逻辑回归的输入就是一个线性回归的结果。

2.Sigmoid函数

图像为:

观察该图像,自变量取值范围是(-∞,+∞),因变量取值范围为(0,1),意思是无论自变量取值多少,都可以通过sigmoid函数映射到(0,1)之间。

总结:sigmoid函数,会把线性回归的结果映射到【0,1】之间,假设0.5为阈值,默认会把小于0.5的为0,大于0.5的为1,这样就可以分类了 

假设:预测函数为:

其中

 以上两式的意思是,先把线性回归的结果用矩阵表示,在将表示的结果放到sigmoid函数当中。

分类任务:

理解:以丢硬币的概率举例,假如正面的概率是0.7,那么反面的概率是1-0.7=0.3

将上面两个式子进行整合,得到:

这个式子的特点,当y=0的时候,整体会等于右边这个式子,当y=1的时候,整体会等于左边这个式子。 

3.损失函数

为求出好的逻辑回归,引出损失函数 :

①损失函数是体现“预测值”和“真实值”,相似程度的函数

②损失函数越小,模型越好

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

这个式子也不陌生,将上面整合的式子,取对数,原先是相乘,取对数之后会相加,指数也可以移到前面。

假定样本与样本之间相互独立,那么整个样本集生成的概率即为所有样本生成概率的乘积,再将公式对数化,便可得到如下公式:

 举例:求损失

其中,y代表真实结果,h(x)或者1-h(x)表示的是逻辑回归结果(也是预测值),将值带入即可得到。

4.优化损失采用梯度下降:

理解:α为学习速率,需要手动指定,α旁边的整体表示方向

沿着这个函数下降的方向找,最后就能找到山谷的最低点,然后更新W值

使用:面对训练数据规模十分庞大的任务 ,能够找到较好的结果 

图像表示如下:

就是不断的缩小自身的值,最后找到最低点。

第三章 逻辑回归应用案例1.数据集

原始数据集下载

网址:Index of /ml/machine-learning-databases/breast-cancer-wisconsinhttps://archive.ics.uci.edu/ml/machine-learning-databases/breast-cancer-wisconsin/

 

 打开之后,下载红色标注的两个。

 其中data里面是数据,共699条样本,共11列数据,第一列用语检 索的id,后9列分别是与肿瘤相关的医学 特征,最后一列表示肿瘤类型的数值。包含16个缺失值,用”?”标出。

 names里面是对data文件的描述,主要是对data里面每列的说明,最后一列是类别。

 2.具体流程1.读取数据

需要注意的是数据和列明分开了,因此在进行读取的时候,要一块读取。

import pandas as pdimport numpy as np# 1.读取数据path = "breast-cancer-wisconsin.data"column_name = ['Sample code number', 'Clump Thickness', 'Uniformity of Cell Size', 'Uniformity of Cell Shape', 'Marginal Adhesion', 'Single Epithelial Cell Size', 'Bare Nuclei', 'Bland Chromatin', 'Normal Nucleoli', 'Mitoses', 'Class']data = pd.read_csv(path, names=column_name)# print(data) 2.缺失值处理# 2、缺失值处理# 1)替换-》np.nandata = data.replace(to_replace="?", value=np.nan)# 2)删除缺失样本data.dropna(inplace=True)3.划分数据集# 3、划分数据集from sklearn.model_selection import train_test_split# 筛选特征值和目标值x = data.iloc[:, 1:-1]y = data["Class"]x_train, x_test, y_train, y_test = train_test_split(x, y)4.标准化

把原始数据转化到均值为0,标准差为1的范围内

# 4、标准化from sklearn.preprocessing import StandardScalertransfer = StandardScaler()x_train = transfer.fit_transform(x_train)x_test = transfer.transform(x_test)5.预估器流程from sklearn.linear_model import LogisticRegression# 5、预估器流程estimator = LogisticRegression()estimator.fit(x_train, y_train)# 逻辑回归的模型参数:回归系数和偏置# estimator.coef_# estimator.intercept_6.模型评估# 6、模型评估# 方法1:直接比对真实值和预测值y_predict = estimator.predict(x_test)print("y_predict:\n", y_predict)print("直接比对真实值和预测值:\n", y_test == y_predict)# 方法2:计算准确率score = estimator.score(x_test, y_test)print("准确率为:\n", score)7.结果展示

代码还未结束,后面还有评估代码

第四章 分类评估算法 1.分类的评估方法------精确率与召回率

我们往往并不关注准确率,而是关注癌症患者中癌症患者有没有检测出来,于是就有了精确率与召回率。

在分类任务下,预测结果(Predicted Condition)与正确标记(True Condition)之间存在四种不同的组合,构成混淆矩阵。

精确率:逻辑回归(Logistic Regression)原理及其应用(逻辑回归模型)

预测结果为正例样本中真实结果为正例的比例,在混淆矩阵中展示情况为:

召回率:

真实结果为正例的样本中预测结果为正例的比例,在混淆矩阵中展示情况为:

总结:

精确率是预测结果的正例中有多少是真正预测正确的

召回率是真实结果的正例有多少被预测对了

以上就是精确率和召回率,现在介绍F1-score

F1-score

反映了模型的稳健型,F1值大的话,精确率和召回率也大

现在用代码实现精确率、召回率和F1-score

# 查看精确率、召回率、F1-scorefrom sklearn.metrics import classification_reportreport = classification_report(y_test, y_predict, labels=[2, 4], target_names=["良性", "恶性"])print(report)

 结果为:

在引入ROC曲线和AUC指标之前,举个样本不均衡的例子

思考?

假设这样一个情况,如果99个样本癌症,1个样本非癌症,不管怎样我全都预测正例(默认癌症为正例)

将这写信息写入混淆矩阵中,如下:

分别计算:

准确率:99%

精确率:99/(99+1)=99%

召回率:99/(99+0)=100%

F1-score:2*99%*100%/99%+100%=99.497487% 

可以看出,这是一个不负责的模型,根本原因在于样本不均衡,正例太多,反例太少。引入ROC曲线和AUC指标。

2.分类的评估方法------ROC曲线和AUC指标

在引入ROC曲线和AUC指标之前,还要了解TPR与FPR。

TPR = TP / (TP + FN)

所有真实类别为1的样本中,预测类别为1的比例

FPR = FP / (FP + TN)

所有真实类别为0的样本中,预测类别为1的比例

分类的评估方法------ROC曲线和AUC指标

 

 蓝色的线就是ROC曲线,AUC指标是ROC曲线与纵轴和横轴的面积。

现在介绍这张图:

ROC曲线的横轴就是FPRate,纵轴就是TPRate,当二者相等时,表示的意义则是:对于不论真实类别是1还是0的样本,分类器预测为1的概率是相等的,此时AUC为0.5(即随机猜测)

AUC的最小值为0.5,最大值为1,取值越高越好

AUC=1,完美分类器,采用这个预测模型时,不管设定什么阈值都能得出完美预测。绝大多数预测的场合,不存在完美分类器。

0.5<AUC<1,优于随机猜测。这个分类器(模型)妥善设定阈值的话,能有预测价值

结论:

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

通过代码实现,计算ROC曲线面积,即AUC指标:

# y_true:每个样本的真实类别,必须为0(反例),1(正例)标记# 将y_test 转换成 0 1y_true = np.where(y_test > 3, 1, 0)from sklearn.metrics import roc_auc_scoreprint("AUC指标:",roc_auc_score(y_true, y_predict))

其结果展示:

总结:

AUC只能用来评价二分类

AUC非常适合评价样本不平衡中的分类器性能 

现在知道了ROC曲线和AUC指标,再回到前面提到的样本不均衡的例子,即思考那个地方。

TPR:99/99+0=100%

FPR:1/1+0=100%

TPR=FPR

AUC=0.5

对于这种样本不均衡的情况下,AUC指标是0.5,表明这个模型很差。

注:

说明,以上内容来自于黑马程序员机器学习视频的学习。

以上内容也是机器学习课程老师留的作业,原先是PPT形式,觉得整体上比较完整,因此将此发到博客上,让以后的自己和他人学习。2022.6.16

本文链接地址:https://www.jiuchutong.com/zhishi/297641.html 转载请保留说明!

上一篇:vue项目使用定时器每隔几秒运行一次某方法(vue定时调用方法)

下一篇:【Vue】踩坑日记:Scoped下动画无效,曾经以为百利而无一害的Scoped,也有自己的限制

  • iwatch7怎么排水(applewatch如何排水)

    iwatch7怎么排水(applewatch如何排水)

  • 抖音为什么一直在审核中(抖音为什么一直关注不了对方)

    抖音为什么一直在审核中(抖音为什么一直关注不了对方)

  • 荣耀手环5i怎么开机(荣耀手环5i怎么充电)

    荣耀手环5i怎么开机(荣耀手环5i怎么充电)

  • hdd1000g什么意思(hd是多少g)

    hdd1000g什么意思(hd是多少g)

  • 苹果耳机音量自动减小到无(苹果耳机音量自动减小到无怎么设置)

    苹果耳机音量自动减小到无(苹果耳机音量自动减小到无怎么设置)

  • 120hz是什么意思(电视120hz是什么意思)

    120hz是什么意思(电视120hz是什么意思)

  • iphone se什么时候出的(iphone se什么时候降价)

    iphone se什么时候出的(iphone se什么时候降价)

  • 智慧团建系统终止是什么意思(智慧团建系统终止怎么转入)

    智慧团建系统终止是什么意思(智慧团建系统终止怎么转入)

  • 微信录制小视频没声音(如何微信录制小视频)

    微信录制小视频没声音(如何微信录制小视频)

  • 超话帖子发送成功却没有显示(超话帖子发不出去怎么回事)

    超话帖子发送成功却没有显示(超话帖子发不出去怎么回事)

  • 小米9听筒声音小的原因(小米9听筒声音越来越小)

    小米9听筒声音小的原因(小米9听筒声音越来越小)

  • 为什么华为手机的移动数据突然就用不了了(为什么华为手机充不进去电)

    为什么华为手机的移动数据突然就用不了了(为什么华为手机充不进去电)

  • 华为手机玩游戏时微信信息为什么没有提示(华为手机玩游戏发烫怎么解决)

    华为手机玩游戏时微信信息为什么没有提示(华为手机玩游戏发烫怎么解决)

  • 韩剧tv可以在电视上安装吗(韩剧tv可以在电脑上看吗)

    韩剧tv可以在电视上安装吗(韩剧tv可以在电脑上看吗)

  • 蓝牙耳机tws是什么意思(tws蓝牙耳机百度百科)

    蓝牙耳机tws是什么意思(tws蓝牙耳机百度百科)

  • 照片怎么调像素(ps照片怎么调像素)

    照片怎么调像素(ps照片怎么调像素)

  • 苹果系统有没有私密相册(苹果系统有没有必要更新)

    苹果系统有没有私密相册(苹果系统有没有必要更新)

  • ipadair3上市时间中国(ipadair5)

    ipadair3上市时间中国(ipadair5)

  • 拼多多精品推荐怎么关(拼多多精品推荐怎么删除)

    拼多多精品推荐怎么关(拼多多精品推荐怎么删除)

  • 小米dc调光怎么设置(小米 dc 调光)

    小米dc调光怎么设置(小米 dc 调光)

  • p30pro广角怎么开启(p30pro广角摄像头是哪个)

    p30pro广角怎么开启(p30pro广角摄像头是哪个)

  • 手机接口分类(usb接口分类)

    手机接口分类(usb接口分类)

  • 来自二阳人的一些感想(二阳来临)

    来自二阳人的一些感想(二阳来临)

  • 海恩斯章克申附近克鲁瓦尼国家公园中冰川和山脉的鸟瞰图,加拿大育空 (© Robert Postma/plainpicture)(海恩斯科普简介)

    海恩斯章克申附近克鲁瓦尼国家公园中冰川和山脉的鸟瞰图,加拿大育空 (© Robert Postma/plainpicture)(海恩斯科普简介)

  • 微信小程序开发使用onreachBottom实现页面触底加载及分页(微信小程序开发者工具)

    微信小程序开发使用onreachBottom实现页面触底加载及分页(微信小程序开发者工具)

  • 原材料的采购成本包括运费吗
  • 个调税新政策
  • 什么是税收制度构成要素的中心环节
  • 城市维护建设税优惠政策
  • 已开普通发票记账联丢失怎么办?
  • 税务师考试的报名费怎么还没有退成功
  • 代销商品怎么交增值税
  • 工程结算可以转什么科目
  • 固定资产核算的心得体会
  • 未进行账务处理违反什么
  • 预存送返利的帐户怎么查
  • 企业资产业务收购税务处理怎么做?
  • 企业进货不收发票怎么做帐?
  • 民办非企业单位设立分机构
  • 增值税专用发票验票
  • 湖北省教育费附加和地方教育费附加减免
  • 红字发票打印乱码怎么办
  • 假设公司为增值税一般纳税人
  • 自行研发专利权发生的费用全部费用化了
  • 最新土地增值税实施细则
  • 费用报销单如何粘贴票据
  • 公司股东和自然人的区别
  • 服装加工费发票税点
  • 呆账怎么写会计分录
  • 没有单据怎么核算成本?
  • 政府补助不征税条件
  • 购进产品样品怎么做分录
  • windows 10如何使用
  • windows7如何删除软件
  • 国外差旅费如何报销
  • Get请求报错404出现原因及解决办法
  • linux如何配置ssh
  • 制造业企业资金管理
  • 辅助生产成本是
  • 年金单位缴费计入个人账户(税前)
  • 营业执照年检认缴和实缴怎么填
  • 小规模纳税人的企业所得税税率
  • devtools安装mac
  • 简单的php文件
  • 勾选发票提交后如何
  • 我国营改增后,一般纳税人适用的增值税基本税率
  • 临时工享受的福利有哪些
  • 成本利润率算出的不含税吗
  • sqlserver数据类型转换函数
  • 代开专票的个税减免吗?
  • 建筑公司增值税专用发票税率是多少
  • 建筑企业预缴税率
  • 企业法人需要本人到场吗
  • 冲抵货款是什么意思
  • 厂部管理人员的工资属于制造费用吗
  • 新冠捐款捐物新闻
  • 支付临时工人的报酬属于工资薪金概算吗
  • 厂商租赁公司
  • 小规模纳税人差旅费可以抵扣吗
  • 股东借款转为资本公积的决议
  • 因质量原因无法退货
  • 招待客人的住宿叫什么
  • 进口关税,增值税,消费税
  • 审核记账凭证的心得
  • mysql如何输入数据
  • mysql8.0存储过程
  • dos命令环境
  • windows预览版和正式版区别
  • regsvc32.exe - regsvc32是什么进程 有什么用
  • 苹果Mac OS X通知中心提示音怎么修改 OS X通知中心提示音更换方法图解
  • centos 安装
  • win10激活界面打不开
  • 深入解析windows
  • 安卓软件集
  • jquery实现回到顶部
  • perl -pi
  • 手机背光面板
  • unity mrt
  • jquery实战
  • 反序存放字符串
  • Python通过DOM和SAX方式解析XML的应用实例分享
  • unity find references in scene
  • 从零基础开始学
  • javascript基础笔记
  • 云南地方税务局电话
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设