机器学习:逻辑回归模型算法原理(附案例实战)(代码片段)

i阿极 i阿极     2023-04-06     131

关键词:

机器学习:逻辑回归模型算法原理

作者:i阿极

作者简介:Python领域新星作者、多项比赛获奖者:博主个人首页

😊😊😊如果觉得文章不错或能帮助到你学习,可以点赞👍收藏📁评论📒+关注哦!👍👍👍

📜📜📜如果有小伙伴需要数据集和学习交流,文章下方有交流学习区!一起学习进步!💪


订阅专栏案例:机器学习
机器学习:基于逻辑回归对某银行客户违约预测分析
机器学习:学习k-近邻(KNN)模型建立、使用和评价
机器学习:基于支持向量机(SVM)进行人脸识别预测
决策树算法分析天气、周末和促销活动对销量的影响
机器学习:线性回归分析女性身高与体重之间的关系
机器学习:基于主成分分析(PCA)对数据降维
机器学习:基于朴素贝叶斯对花瓣花萼的宽度和长度分类预测
机器学习:学习KMeans算法,了解模型创建、使用模型及模型评价
机器学习:基于神经网络对用户评论情感分析预测
机器学习:朴素贝叶斯模型算法原理(含实战案例)

文章目录


1、实验目的

随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。
在这个信息爆炸的时代,如何高效处理数据并利用数据推动决策显得尤为重要,这便是人们通常所说的“数据分析”。与数据分析相伴而生的机器学习(Machine Learning),有些人可能会感到陌生,然而说到战胜了众多人类围棋高手的智能机器人AlphaGo,想必大多数人都有所耳闻。AlphaGo背后的原理支撑就是机器学习,它通过模拟人类的学习行为,不停地分析海量的围棋数据,发现数据背后的规律,从而在已有条件下做出最为理性的决断,这个过程充满了机器美学。

2、实验原理

逻辑回归模型虽然名字中有回归两字,其本质却是分类模型。

分类模型与回归模型的区别在于其预测的变量不是连续的,而是离散的一些类别,以最常见的二分类模型为例,分类模型可以预测一个人是否会违约、客户是否会流失、肿瘤是属于良性肿瘤还是恶性肿瘤等

逻辑回归模型的算法原理中同样涉及了之前线性回归模型中学习到的线性回归方程:

上面这个方程是预测连续变量的,其取值范围属为负无穷到正无穷,而逻辑回归模型是用来预测类别的,比如它预测某物品是属于A类还是B类,它本质预测的是属于A类或者B类的概率,而概率的取值范围是0-1,因此我们不能直接用线性回归方程来预测概率。

需要到用到下图所示的Sigmoid函数,该函数可以将取值为(-∞, +∞)的数转换到(0,1)之间,例如倘若y=3,那个通过Sigmoid函数转换后,f(y)就变成了1/(1+e^-3)=0.95了,这就可以作为一个概率值使用了。

可以通过如下代码绘制Sigmoid函数:

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(-6, 6)  
y = 1.0 / (1.0 + np.exp(-x))  

plt.plot(x,y) 
plt.show()  

通过linspace()函数生成-6到6的等差数列,默认50个数.
Sigmoid函数计算公式,exp()函数表示指数函数


如果对Sigmoid函数还是感到有点困惑,则可以参考下图的一个推导过程,其中y就是之前提到的线性回归方程,其范围是(-∞, +∞),那么指数函数的范围便是(0, +∞),再做一次变换,的范围就变成(0, 1)了,然后分子分母同除以就获得了我们上面提到的Sigmoid函数了。

逻辑回归模型本质就是将线性回归模型通过Sigmoid()函数进行了一个非线性转换得到一个介于0到1之间的概率值,对于二分类问题(分类0和1)而言,其预测分类为1(或者说二分类中数值较大的分类)的概率如下图所示:

因为概率和为1,则分类为0(或说二分类中数值较小的那个分类)的概率为1-P:

3、实验环境

Python3.9

Anaconda

Jupyter Notebook

4、乳腺癌肿瘤预测案例

4.1目标

根据历史女性乳腺癌患者数据集(医学指标)构建逻辑回归分类模型进行良/恶性乳腺癌肿瘤预测

4.2数据集来源

数据集源于威斯康星州临床科学中心。每个记录代表一个乳腺癌的随访数据样本。这些是DR Wolberg自1984~1995随访搜集连续乳腺癌患者数据,数据仅包括那些具有侵入性的病例乳腺癌并没有远处转移的医学指标数据集。

4.3导入模块

import pandas as pd
import numpy as np
import warnings
warnings.filterwarnings('ignore')
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
from sklearn.linear_model import LogisticRegression
from sklearn.metrics import classification_report

4.4加载数据

定义列名并导入数据

column_names = ['样本代码','肿块厚度','均匀细胞大小','均匀细胞形状','边缘粘连','单一上皮细胞大小','裸核',
                '乏味染色体','正常核','有丝分裂','分类']
data = pd.read_csv('/home/kesci/breast-cancer-wisconsin.data',names=column_names)
print(data.shape)

4.5数据清洗

删除缺失值

data = data.replace('?',np.nan)    
data = data.dropna(how='any')      
print(data.shape)

4.6划分训练集和测试集

X_train,X_test,y_train,y_test = train_test_split(data[column_names[1:10]],data[column_names[10]],
                                                test_size=0.25)

4.7标准化处理

ss = StandardScaler()
X_train = ss.fit_transform(X_train)
X_test = ss.transform(X_test)

4.8建立逻辑回归模型

lr = LogisticRegression(C=1.0,penalty='l1',solver='liblinear')

lr.fit(X_train,y_train)
y_pred = lr.predict(X_test)

5、模型评估

print('预测结果准确性:',lr.score(X_test,y_test))

print('预测结果准确性:',classification_report(y_test,y_pred,target_names=['良性', '恶性']),sep='\\n')


总结

分类模型与回归模型的区别在于其预测的变量不是连续的,而是离散的一些类别,例如,最常见的二分类模型可以预测一个人是否会违约、客户是否会流失、肿瘤是良性还是恶性等。本章要学习的逻辑回归模型虽然名字中有“回归”二字,但其在本质上却是分类模型。

📢主页:博主个人首页
📢文章下方有交流学习区!一起学习进步!💪💪💪
📢创作不易,你的支持和鼓励是我创作的动力❗❗❗

机器学习:朴素贝叶斯模型算法原理(含实战案例)(代码片段)

机器学习:朴素贝叶斯模型算法原理作者:AOAIYI作者简介:Python领域新星作者、多项比赛获奖者:AOAIYI首页😊😊😊如果觉得文章不错或能帮助到你学习,可以点赞👍收藏📁评论📒+... 查看详情

逻辑回归|机器学习|分类算法(代码片段)

目录1.逻辑回归1.1逻辑回归原理1.2sigmoid函数2.相关代码2.1LogisticsRegression类2.2求解代码2.3输出结果3.直接调库使用1.逻辑回归1.1逻辑回归原理∙\\bullet∙逻辑回归又叫对数几率回归,是一种对数几率模型,可以求解二分类问... 查看详情

python应用实战案例-pythongeopandas包详解(附大量案例及代码)(代码片段)

...通100讲 深度学习框架TensorFlow的应用案例手把手教你ML机器学习算法源码全解析 机器学习算法解析及应用案例数据挖掘算法解析指南 数据挖掘算法原理解析及应用案例数据结构常见算法原理讲解 数据结构算法原理... 查看详情

机器学习实战应用案例100篇-粒子群优化算法(pso)从原理到实战应用案例(附代码)(代码片段)

粒子群优化算法(原理)1粒子群算法简介完整代码详见机器学习实战应用案例-粒子群优化算法(PSO)实战应用案例粒子群算法(Particleswarmoptimization,PSO)是一种仿生算法,它是一种 在求解空间中寻找最优解 的简单算法。它与其... 查看详情

机器学习逻辑回归算法(代码片段)

逻辑回归算法学习目标1.逻辑回归的介绍1.1逻辑回归的应用场景1.2逻辑回归的原理1.2.1输入1.2.2激活函数1.3损失以及优化1.3.1损失1.3.2优化1.4小结2.逻辑回归api介绍3.案例:癌症分类预测-良/恶性乳腺癌肿瘤预测3.1背景介绍3.... 查看详情

机器学习总结四:逻辑回归与反欺诈检测案例

机器学习算法总结一、Bagging之决策树、随机森林原理与案例二、boosting之GBDT、XGBT原理推导与案例三、SVM原理推导与案例四、逻辑回归与反欺诈检测案例五、聚类之K-means四、逻辑回归1、概述由线性回归变化而来的,应用于分... 查看详情

阿旭机器学习实战33中文文本分类之情感分析--朴素贝叶斯knn逻辑回归(代码片段)

【阿旭机器学习实战】系列文章主要介绍机器学习的各种算法模型及其实战案例,欢迎点赞,关注共同学习交流。目录1.查看原始数据结构2.导入数据并进行数据处理2.1提取数据与标签2.2过滤停用词2.3TfidfVectorizer将文本向... 查看详情

机器学习系列7基于python的scikit-learn库构建逻辑回归模型(代码片段)

课前测验本文所用数据免费下载在本文中,你将学习:0用于数据可视化的新库1逻辑回归原理及技术目录一、内容介绍二、理论知识1.分类与回归的区别2.逻辑回归与其他回归的区别3.逻辑回归的数学原理①逻辑回归基本原... 查看详情

[机器学习]--逻辑回归总结

逻辑回归是一个分类算法,它可以处理二元分类以及多元分类。虽然它名字里面有“回归”两个字,却不是一个回归算法。那为什么有“回归”这个误导性的词呢?个人认为,虽然逻辑回归是分类模型,但是它的原... 查看详情

如何完整地掌握一个机器学习模型

如何完整地掌握一个机器学习模型要全面地学习、掌握一个机器学习模型,可以遵循以下步骤:基础理论学习:了解该模型的背后数学原理和推导过程,包括假设、损失函数、优化方法等。学习算法实现:通过查阅论文、教程或... 查看详情

机器学习实战3:基于朴素贝叶斯实现单词拼写修正器(附python代码)

...2.2语言模型建模2.3误差模型建模3单词修正测试0写在前面机器学习强基计划聚焦深度和广度,加深对机器学习模型的理解与应用。“深”在详细推导算法模型背后的数学原理;“广”在分析多个机器学习模型:决策树、支持向量... 查看详情

常见机器学习算法原理+实践系列1(逻辑回归)

一,逻辑回归LogisticRegression逻辑回归是线性模型Y=f(x)=b0+b1*x的延伸,一般用来做2分类问题,输出标记C={0,1},C就是classification的意思,通俗的讲,就要建立Y和C之间的关系,Y是多少的时候,C是0,Y是多少的时候,C是1,传统的... 查看详情

数学建模matlab应用实战系列(九十)-变异系数法应用案例(附matlab和python代码)

...通100讲 深度学习框架TensorFlow的应用案例手把手教你ML机器学习算法源码全解析 机器学习算法解析及应用案例数据挖掘算法解析指南 数据挖掘 查看详情

机器学习实战应用案例100篇(二十三)-粒子群算法从原理到实战应用案例(代码片段)

粒子群优化算法(原理)1粒子群算法简介粒子群算法(Particleswarmoptimization,PSO)是一种仿生算法,它是一种 在求解空间中寻找最优解 的简单算法。它与其他优化算法的不同之处在于,它只需要 目标函数,不依赖于目标的... 查看详情

机器学习面试总结————

目录1、使用机器学习模型时,一般怎么处理数据集2、什么是训练误差和测试误差3、什么是过拟合与欠拟合?怎么解决4、机器学习当中的回归模型有哪些5、机器学习当中的分类模型有哪些6、回归和分类模型的评价指标都有哪... 查看详情

数学建模matlab应用实战系列(八十九)-critic法应用案例(附matlab和python代码)

...通100讲 深度学习框架TensorFlow的应用案例手把手教你ML机器学习算法源码全解析 机器学习算法解析及应用案例数据挖掘算法解析指南 数据挖掘算法原理解析及应用案例数据结构常见算法原理讲解 数据结构算法原理... 查看详情

机器学习的分类方法——逻辑回归

  这个算法看得一知半解的,无论如何,先把理解的写下来,往后再迭代。还是以问题为导向:这个分类模型如何构建?这个模型的分类原理?如何求解模型的参数?逻辑回归模型有什么优点?  第一个问题,对于简单的线... 查看详情

机器学习逻辑回归介绍

...辑回归的应用场景逻辑回归(LogisticRegression)是机器学习中的一种分类模型,逻辑回归是一种分类算法,虽然名字中带有回归。由于算法的简单和高效,在实际中应用非常广泛。广告点击率是否为垃圾邮件是... 查看详情