逻辑回归基本原理和公式推导

本文详细介绍了逻辑回归的基本原理,包括其S型函数和多元线性函数的应用,Sigmoid函数的作用,以及如何通过Python实现逻辑回归模型,涵盖了从定义问题到模型部署的完整流程,并讨论了阈值设定中的精度召回率权衡。
摘要由CSDN通过智能技术生成

我整理了《BAT常见机器学习算法面试题1000题》,供大家学习和参考。资源获取方式:

(1)打开v搜索:1号程序员,并关注。

(2)在对话框中输入:E001,即可获取资源地址。

逻辑回归基本原理

逻辑回归模型通过使用一个称为S型函数的函数,将线性回归函数的连续值输出转换为分类值输出,将任何实值独立变量输入映射为0到1之间的值。这个函数被称为逻辑函数。

逻辑回归的输入特征为:

标签为:

然后将多元线性函数应用于输入变量X:

这里,Xi是第i个样本,wi是模型权重,b是偏差项/截距。多元线性函数可以简写为:

Sigmoid函数

接着,我们使用Sigmoid函数,其中,输入是z,输出是介于0和1之间的概率,即预测的y。

如上所示,Sigmoid函数将连续变量数据转换为介于0和1之间的概率。

其中,属于一个类别的概率可以表示为:

逻辑回归方程

几率是某事发生与某事不发生的比率。它不同于概率,因为概率是某事发生与一切可能发生的事情之比。几率计算公式为:

对几率应用自然对数,那么对数几率将是:

然后,最终的逻辑回归方程是:

逻辑回归的似然函数

正样本的预测概率为:p(X;b,w) = p(x)

负样本的预测概率为:1-p(X;b,w) = 1-p(x)

似然函数为:

对上式两边取自然对数:

对数似然函数的梯度:

为了找到最大似然估计值,我们对w进行微分,

逻辑回归的python实现:

# import the necessary libraries
from sklearn.datasets import load_breast_cancer
from sklearn.linear_model import LogisticRegression
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score
# load the breast cancer dataset
X, y = load_breast_cancer(return_X_y=True)
# split the train and test dataset
X_train, X_test, y_train, y_test = train_test_split(X, y,
                                       test_size=0.20,
                                       random_state=23)
# LogisticRegression
clf = LogisticRegression(random_state=0)
clf.fit(X_train, y_train)
# Prediction
y_pred = clf.predict(X_test)
 
acc = accuracy_score(y_test, y_pred)
print("Logistic Regression model accuracy (in %):", acc*100)

逻辑回归建模步骤

定义问题:确定因变量和自变量,并确定问题是否属于二元分类问题。

数据准备:清理和预处理数据,确保数据适合用于逻辑回归建模。

探索性数据分析(EDA):可视化因变量和自变量之间的关系,并在数据中识别任何离群值或异常值。

特征选择:选择与因变量有显著关系的自变量,并移除多余或不相关的特征。

模型构建:在选定的自变量上训练逻辑回归模型,并估算模型的系数。

模型评估:使用准确率、精确度、召回率、F1-分数或AUC-ROC等适当的指标评估逻辑回归模型的性能。

模型改进:根据评估结果,通过调整自变量、添加新特征或使用正则化技术来减少过拟合,进一步优化模型。

模型部署:将逻辑回归模型部署到实际场景中,并在新数据上进行预测。

逻辑回归模型的阈值设定

逻辑回归只有在引入决策阈值时才成为一种分类技术。阈值值的设置是逻辑回归的一个非常重要的方面,它取决于分类问题本身。

阈值值的决定主要受到精确度和召回率的影响。理想情况下,我们希望精确度和召回率都为1,但这很少发生。在精确度和召回率之间存在权衡的情况下,我们使用以下参数来决定阈值:

低精确度/高召回率:在我们希望减少假阴性的应用中,而不一定减少假阳性的情况下,我们选择具有低精确度或高召回率值的决策值。例如,在癌症诊断应用中,我们不希望任何患病的患者被错误地分类为未患病,而不太关心是否错误地诊断为癌症。这是因为不存在癌症可以通过进一步的医学检查来检测,但已经被排除的候选人中无法检测到疾病的存在。

高精确度/低召回率:在我们希望减少假阳性的应用中,而不一定减少假阴性的情况下,我们选择具有高精确度或低召回率值的决策值。例如,如果我们要将客户分类为对个性化广告的反应是积极的还是消极的,我们希望非常确定客户对广告的反应是积极的,否则,消极的反应可能会导致失去客户的潜在销售机会。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值