当前位置:网站首页>机器学习之逻辑回归(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
边栏推荐
- Introduction to the use of semaphore for inter thread control
- MCU function signal generator, output four kinds of waveforms, adjustable frequency, schematic diagram, simulation and C program
- Docker篇 (五) MySQL的安装
- LLVM - 生成 if-else 以及 PH
- C语言p2选择分支语句详解
- 翻牌效果
- C语言知识点精细详解——初识C语言【1】——你不能不知的VS2022调试技巧及代码实操【1】
- 基础正则表达式
- 流程控制之分支语句
- Processing MKDIR: unable to create directory 'AAA': read only file system
猜你喜欢
单相交交变频器的Matlab Simulink建模设计,附Matlab仿真、PPT和论文等资料
ArrayList集合基本使用
数组模拟队列进阶版本——环形队列(真正意义上的排队)
API Gateway/API 网关(三) - Kong的使用 - 限流rate limiting(redis)
Tongxin UOS php7 2.3 upgrade to php7.0 two point two four
Notes on Visio drawing topology
Qt实战:云曦日历篇
顺序表的操作,你真的学会了吗?
51单片机的直流电机PWM调速控制系统(附Proteus仿真+C程序等全套资料)
如何5分钟上手使用OCR
随机推荐
Proteus simulation design of DC adjustable regulated power supply (with simulation + paper and other data)
Solve the problem of SSH configuration file optimization and slow connection
C语言知识点精细详解——初识C语言【1】
JS parabola motion packaging method
Preview CSV file
基于单片机的DS18B20的数字温度监控报警系统设计【LCD1602显示+Proteus仿真+C程序+论文+按键设置等】
Parameter stack pressing problem of C language in structure parameter transmission
Processing MKDIR: unable to create directory 'AAA': read only file system
MCU function signal generator, output four kinds of waveforms, adjustable frequency, schematic diagram, simulation and C program
51 Single Chip Microcomputer Design of traffic light system (with Proteus simulation, C program, schematic diagram, PCB, thesis and other complete data)
Redis源码分析之HSET流程与ziplist
外包干了四年,废了...
AT89C52 MCU frequency meter (1Hz ~ 20MHz) design, LCD1602 display, including simulation, schematic diagram, PCB and code, etc
js 抛物线运动方法封装
LLVM - 生成加法
Uni app message push
Qt实战:云曦日历篇
51单片机的花卉、农田自动浇水灌溉系统开发,Proteus仿真,原理图和C代码
kprobe 的 3 种使用
OpenFaaS实战之四:模板操作(template)