Sklearn 回归模型2025 年 1 月 12 日 | 13 分钟阅读 机器学习通过使用两种不同的算法来解决回归问题,以执行回归分析:逻辑回归和线性回归。这些是最广泛使用的回归方法。机器学习中的回归分析方法有许多算法,其使用取决于数据的类型和分析目标。 本教程将描述各种机器学习回归模型以及我们可以应用每种模型的情况。如果您是机器学习新手,本教程无疑将帮助您理解回归建模概念。 回归模型在监督机器学习范式中,系统学习结果。模型的输入和输出变量是已知的,并且都用于训练算法。在训练阶段,算法被输入真实值,并且机器学习模型经过训练以降低预测误差。两种主要的监督学习算法类别是回归(用于连续目标变量)和分类(用于离散目标变量)。 回归分析是一种预测建模方法,用于检查目标或因变量与数据集的自变量之间的关系。根据因变量和自变量之间是否表现出线性或非线性关联,或者目标特征是否具有连续值,使用各种回归模型。回归分析通常用于识别因果关系、预测趋势、时间序列预测分析和预测因子强度。 回归将结果作为连续数据给出。借助这种以特征为中心的技术,我们可以预测训练数据的模式。输出是一个真实的数值;但是,它不属于任何类或类别。例如,估算房产价值取决于房屋大小、位置和开发比率等许多细节。 回归分析技术的类型回归分析方法种类繁多,如上所述,因素将决定使用哪种技术。这些因素的例子是回归线模式和独立特征的数量。 下面列出了许多回归方法
线性回归一种称为线性回归的机器学习方法,它建立一个或多个独立特征与特定依赖特征之间的线性关系,以通过预测线性方程变量的系数来预测依赖特征的最佳值。 简单线性回归模型计算因变量 (y) 和单个自变量 (x) 的最佳拟合线。伴随的直线方程定义了它。 m 是回归系数。它表示我们预期 y 会随着 x 值的变化而改变多少。回归模型确定最佳截距 (c) 值和回归系数以最小化误差 (e)。 该算法通过减少目标变量 y 的实际值与模型预测值之间的误差来找到参数的最佳值。使用普通最小二乘法计算误差。它可以适应数据集中存在的许多输入变量。 代码 输出 [151. 75. 141. 206. 135. 97. 138. 63. 110. 310.] The r-square score of the Simple Linear Regression model: 0.3195508704110651 Features Coefficients 0 Intercept 150.559849 1 sex -207.159699 2 bmi 545.523615 3 bp 282.960253 4 s1 -1195.950976 5 s2 580.404692 6 s3 404.413845 7 s4 431.717208 8 s5 871.098497 9 s6 118.346669 逻辑回归逻辑回归是另一种回归建模技术,如果因变量是离散的,例如真或假、0 或 1 等,则使用它。因此,因变量只有两个可能的值,并且 sigmoid 曲线描绘了目标变量和输入变量之间的关联。 逻辑回归算法使用 logit 函数来量化目标变量和输入变量之间的关系。 代码 输出 1.0 岭回归当独立特征具有高相关值时,岭回归算法会预测目标变量。这是因为,对于非共线变量,最小二乘估计了一个无偏解。但是,如果共线性很强,可能会存在偏置分量。因此,在岭回归方程中引入了偏置网格。这种强大的回归方法使得构建的模型不太可能过拟合。 代码 输出 Accuracy score for solver = "auto": 0.40731258229249656 Accuracy score for solver = "lsqr": 0.4073540170017558 Lasso 回归Lasso 回归是一种应用于学习算法的回归模型,它结合了特征选择和归一化过程。不考虑回归系数的绝对值。因此,与岭回归不同,独立特征的系数值接近于零。 Lasso 回归涉及特征选择。此过程允许从给定数据集中选择一组变量,这些变量将比其他变量对模型产生更大的影响。在 Lasso 回归中,除了生成良好预测所需的特征外,所有其他特征都设置为零。此步骤有助于防止模型过拟合。当数据集的独立因素的共线性值严重时,lasso 回归只选择一个变量,并将其他变量的系数减小到零。 代码 输出 The accuracy score of the model is: 0.40131502999775714 多项式回归另一种用于学习算法的回归分析方法是多项式回归。此方法与多元线性回归相似,但进行了一些微调。多项式回归中的 n 次方定义了独立和依赖特征 X 和 Y 之间的链接。 作为预测器,它使用线性模型进行回归;我们使用 sklearn 的多项式 scaler 函数缩放特征。与线性回归一样,多项式回归算法使用普通最小二乘法来比较线的误差。在多项式回归中,最佳拟合线不是直线,而是曲线,并且根据 X 的幂或 n 的值,它穿过数据点。 在尝试实现 OLS 方程的最低值并找到最佳拟合曲线时,多项式回归模型容易过拟合。建议最后评估不同的回归曲线,因为外推更高次多项式会产生奇怪的结果。 数据集可在此处获取 - https://github.com/content-anu/dataset-polynomial-regression 代码 输出 ![]() 贝叶斯线性回归贝叶斯回归是机器学习中使用的回归模型之一,它使用贝叶斯定理计算回归系数的大小。这种回归方法不是寻找最小二乘,而是确定变量的后验分布。与线性回归和岭回归方法一样,贝叶斯线性回归方法比简单线性回归更稳健。 代码 输出 The r2 score of the model is: 0.6312926702997255 弹性网络回归弹性网络回归是一种正则化线性回归方法。它通过线性组合 L1 和 L2 成本,在训练时将其插入到损失函数中。它通过为每个惩罚赋予适当的权重来融合 lasso 和岭回归,从而提高预测精度。 Alpha 和 Lambda 是弹性网络的两个可配置超参数。Lambda 控制两个惩罚的加权总和的比例,该比例决定了模型的有效性。相比之下,alpha 参数控制分配给每个惩罚的权重。 代码 输出 [0.66666667 1.79069767] 2.461240310077521 [12.29069767] [2.46124031] 决策树回归可以使用一种称为决策树的决策工具来表示决策及其所有可能的结果,包括结果、输入惩罚和效用。 监督学习方法组包括决策树策略,它适用于分类和连续值的输出结果。 决策树回归:决策树回归通过观察项目的属性并将这些属性作为输入提供给算法来开发模型以预测未来数据,从而提供相关的连续输出。连续输出表示没有离散结果,即输出不仅仅由一组离散的、众所周知的数字或值表示。 代码 输出 Accuracy scores of the splits: [-1.02298964 0.05276312 -0.74850198 -0.07277615 0.47050685 0.3024374 -1.31209035 -0.26358347 0.43173477 -0.19109809 -0.56778646 -0.61486148 -0.11295867 0.0408493 -0.26464188] The mean accuracy score of the model: -0.25819978131125926 支持向量回归支持向量回归 (SVR) 与其他回归模型不同。它采用支持向量机(SVM,一种分类方法)来预测连续参数。支持向量回归旨在将最佳线拟合到预定或阈值偏差值内,而不是传统线性回归模型旨在最小化估计值和实际值之间的差异。在这方面,SVR 将所有预测线分为两类:那些超过误差限制(由两条平行线划分的区域)的线和那些没有超过误差限制的线。在确定估计值和真实值之间的差异是否超出误差阈值时,不考虑未超过误差边界的线(epsilon)。超过误差阈值的线被添加到潜在支持向量组中,用于预测未知值。如果我们查看下图,我们可以更好地理解这个想法。 SVR 的核参数最关键。它可以是高斯核、多项式核或线性核。我们可以为我们的模型选择多项式核或高斯核,因为数据集中存在非线性属性,但在这种情况下,我们将选择 RBF(高斯类型)核。 代码 输出 ![]() 梯度提升回归如果分类和回归方法存在困难,我们可以应用梯度提升技术。使用许多较小的预测模型构建预测模型;这些小模型通常是决策树。 梯度提升回归器需要一个损失函数才能执行。梯度提升回归器可以处理各种预定义的损失函数,此外还支持自定义损失函数;但是,损失函数必须是可微的。 尽管回归方法通常使用对数函数,但平方误差也可以用于回归技术中。我们不必为梯度提升算法中的每个渐进提升阶段构建一个损失函数;相反,我们可以选择任何可微损失函数。 代码 输出 Accuracy scores: [-1.02298964 0.05276312 -0.74850198 -0.07277615 0.47050685 0.3024374 -1.31209035 -0.26358347 0.43173477 -0.19109809 -0.56778646 -0.61486148 -0.11295867 0.0408493 -0.26464188] The mean accuracy score is: -0.25819978131125926 回归可以处理线性依赖关系回归是预测数值变量的可靠方法。上述机器学习技术包括有效的回归方法,可以使用 sklearn Python 库对各种机器学习任务执行回归分析和预测。 但是,当数据集在独立和依赖特征之间存在线性相关性时,回归是一个更好的选择。其他回归算法,如神经网络,用于管理数据特征之间的非线性关系,因为它们可以使用激活函数记录非线性。 |
Python 中的 mechanize 模块是一个提供程序化网页浏览接口的库。它本质上是一个浏览器模拟器,允许您在 Python 脚本中自动化与网页的交互。该模块构建在 urllib2 模块之上,并支持...
阅读 16 分钟
在本教程中,我们将使用 Python 编程语言学习 KMP 算法。该算法主要用于以 O(n) 复杂度搜索模式或子字符串。该算法可能会在技术面试中被问到,以测试开发人员的能力。KMP 算法 KMP 代表 Knuth-Morris-Prat...
阅读 2 分钟
递归是编程解决问题的重要概念之一。每个初学者都会遇到递归,甚至有经验的开发人员也会使用递归。如果您不熟悉递归,它是一个调用自身的函数。例如 - 放置两面平行的镜子相对……
阅读 8 分钟
机械技术是一个先进的工作领域,机器可能会与人混淆。先进的机器人技术现在是,并且在相当长一段时间内,将是信息技术最非凡的领域之一。机器人领域被认为是一个将...
阅读 8 分钟
什么是多态性?多态性是指具有多种形式。多态性是一个编程术语,指的是对多种类型使用相同的函数名称,但具有不同的签名。内置多态函数示例:# 用于演示内置多态函数的 Python 程序 # len() 函数是...
阅读 4 分钟
re.sub() 是 Python re(正则表达式)模块中的一个函数。它用于将字符串中所有出现的模式替换为新字符串。该函数接受三个参数:pattern:要在输入字符串中搜索的正则表达式模式。repl:...
阅读 2 分钟
在本文中,我们将学习 Python 中的 argparse 模块。我们将探索其工作原理和功能。对于基础开发人员、工程师和计算机科学家来说,这是一个非常重要的话题。众所周知,Python 以其包含的丰富库而闻名。如果...
阅读 8 分钟
在本教程中,我们将学习用 Python 编写的 bisect 算法。它的源代码只有 80 行。让我们通过 bisect 模块的介绍。介绍 它基本上是一个二分法算法,用于查找添加给定值的插入点...
7 分钟阅读
通配符是一个符号,可以替代或补充一个或多个字符。在计算机程序、语言、搜索引擎(包括操作系统)中,通配符用于简化搜索条件。问号 (?) 和星号 () 是...
阅读 3 分钟
字典是 Python 中一种无序的数据值集合,用于存储数据值,如映射。字典存储键值对,而不是像其他数据类型那样存储单个值作为元素。字典中实现的键必须是唯一的……
阅读 4 分钟
我们请求您订阅我们的新闻通讯以获取最新更新。
我们提供所有技术(如 Java 教程、Android、Java 框架)的教程和面试问题
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India