当前位置:网站首页>机器学习之逻辑回归(Logistic Regression)原理讲解和实例应用,果断收藏
机器学习之逻辑回归(Logistic Regression)原理讲解和实例应用,果断收藏
2022-04-23 14:25:00 【C君莫笑】
人工智能学习路径
第一章 全网最详细的Python入门思维导图,果断收藏
第二章 Python桌面应用开发(PyQT)入门思维导图,果断收藏
第三章 Python数据分析(Numpy和Pandas学习)入门思维导图,果断收藏
第四章 Python人工智能概念之机器学习基础入门思维导图,果断收藏
第五章 机器学习之KNN最邻近分类算法入门思维导图,果断收藏
逻辑回归(Logistic Regression,LR)又称为逻辑回归分析,是分类和预测算法中的一种。通过历史数据的表现对未来结果发生的概率进行预测。例如,我们可以将购买的概率设置为因变量,将用户的特征属性,例如性别,年龄,注册时间等设置为自变量。根据特征属性预测购买的概率。
一、逻辑回归入门思维导图

二、逻辑回归LR
假设现在有一些数据点,我们利用一条直线对这些点进行拟合(该线称为最佳拟合直线),这个拟合过程就称作为回归,如下图所示:

Logistic回归是分类方法,它利用的是Sigmoid函数阈值在[0,1]这个特性。Logistic回归进行分类的主要思想是:根据现有数据对分类边界线建立回归公式,以此进行分类。其实,Logistic本质上是一个基于条件概率的判别模型(Discriminative Model)。
Sigmoid函数
下面这张图片,为我们展示了Sigmoid函数的样子

逻辑回归本质上是线性回归,只是在特征到结果的映射中加入了一层Sigmod函数映射,即先把特征线形求和,然后使用Sigmoid函数将最为假设函数来概率求解,再进行分类。
三、逻辑回归特点
逻辑回归(Logistic Regression)主要解决二分类问题,用来表示某件事情发生的可能性。
- 优点: 适合需要得到一个分类概率的场景,简单,速度快
- 缺点: 只能用来处理二分类问题,不好处理多分类问题,容易欠拟合,一般准确度不太高
- 应用: 是否患病、金融诈骗、是否虚假账号等
四、逻辑回归 VS 线性回归
线性回归和逻辑回归是 2 种经典的算法。经常被拿来做比较,下面整理了一些两者的区别

实例应用 – 癌症病例预测
核心代码
from sklearn.datasets import load_breast_cancer
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LogisticRegression
from sklearn.preprocessing import StandardScaler
from sklearn.metrics import classification_report
# 加载数据
breast = load_breast_cancer()
# 数据拆分
X_train, X_test, y_train, y_test = train_test_split(
breast.data, breast.target)
# 数据标准化
std = StandardScaler()
X_train = std.fit_transform(X_train)
X_test = std.transform(X_test)
# 训练预测
lg = LogisticRegression()
lg.fit(X_train, y_train)
y_predict = lg.predict(X_test)
# 查看训练准确度和预测报告
print(lg.score(X_test, y_test))
print(classification_report(
y_test, y_predict, labels=[0, 1], target_names=["良性", "恶性"]))
运行结果

precision表示准确率;recall表示召回率;f1-score表示综合指标;support表示预测的人数。本模型的召回率,良性达到0.97,恶性达到0.96;该例子是检测癌症,我们希望能找到所有得癌症的人,即使他不是癌症,也可以做进一步检查,因此我们需要一个召回率高的模型。
总结
逻辑回归是线性回归分析的扩展,其通过逻辑函数将回归值映射为概率值,实现了对分类问题的处理。
版权声明
本文为[C君莫笑]所创,转载请带上原文链接,感谢
https://blog.csdn.net/qq_34623621/article/details/124348986
边栏推荐
- 基于TLC5615的多路可调数控直流稳压电源,51单片机,含Proteus仿真和C代码等
- 51单片机的花卉、农田自动浇水灌溉系统开发,Proteus仿真,原理图和C代码
- Find daffodils - for loop practice
- Parameter stack pressing problem of C language in structure parameter transmission
- Matlab Simulink modeling and design of single-phase AC-AC frequency converter, with MATLAB simulation, PPT and papers
- Nacos uses demo as configuration center (IV)
- Branch statement of process control
- x509证书cer格式转pem格式
- 常见存储类型和FTP主被动模式解析
- IE8 browser prompts whether to block access to JS script
猜你喜欢

TLS/SSL 协议详解 (30) SSL中的RSA、DHE、ECDHE、ECDH流程与区别

单片机的函数信号发生器,输出4种波形,频率可调,原理图,仿真和C程序

AT89C52 MCU frequency meter (1Hz ~ 20MHz) design, LCD1602 display, including simulation, schematic diagram, PCB and code, etc

循环队列的基本操作,你学会了吗?

51单片机的直流电机PWM调速控制系统(附Proteus仿真+C程序等全套资料)

uni-app消息推送

C语言知识点精细详解——数据类型和变量【2】——整型变量与常量【1】

A blog allows you to learn how to write markdown on vscode

On the insecurity of using scanf in VS

常见存储类型和FTP主被动模式解析
随机推荐
编译Openssl
错误:无法远程查找到密钥 “428F7ECC7117F726“
基础正则表达式
微信小程序将原生请求通过es6的promise来进行优化
网页自适应,等比缩放
source insight via samba
Wechat applet rotation map swiper
Flop effect
八路抢答器系统51单片机设计【附Proteus仿真、C程序、原理图及PCB文件、元器件清单和论文等】
一个月把字节,腾讯,阿里都面了,写点面经总结……
Nacos uses demo as configuration center (IV)
浅谈skiplist在LevelDB的应用
LLVM - 生成 if-else 以及 PH
A blog allows you to learn how to write markdown on vscode
修改Firebase Emulators的默认侦听IP
Design of single chip microcomputer Proteus for temperature and humidity monitoring and alarm system of SHT11 sensor (with simulation + paper + program, etc.)
js 格式化时间
MQ-2和DS18B20的火灾温度-烟雾报警系统设计,51单片机,附仿真、C代码、原理图和PCB等
JS key value judgment
API Gateway/API 网关(三) - Kong的使用 - 限流rate limiting(redis)