Sklearn 线性回归示例2025年3月17日 | 阅读 7 分钟 线性回归是一种基于监督学习的机器学习算法。它执行回归操作。回归使用自变量来训练模型并查找预测值,主要用于确定变量和预测值之间的关系。 回归模型根据所使用的自变量数量、因变量和自变量之间的关系以及其他因素而异。本教程将展示如何使用多个 Python 模块将线性回归应用于给定数据集。由于单个线性模型更容易可视化,我们将以它为例。在此演示中,模型将使用 sklearn 糖尿病数据集进行学习。 如何在 Sklearn 中使用线性回归?Scikit-learn 是一个 Python 包,可简化使用各种机器学习 (ML) 方法来研究预测性数据,包括线性回归。 找到最适合一组散点数据的直线模型就是线性回归;然后,我们可以外推该曲线来预测新数据点。线性回归因其简单性和关键特性而成为一项重要的机器学习技术。 使用 Sklearn 的线性回归示例代码 输出 Value of the coefficients: [875.72247876] Mean square error: 4254.602428877642 Coefficient of determination: 0.3276195356900222 使用交叉验证的 Sklearn 线性回归示例许多机器学习模型在部分原始数据上进行训练,然后在互补的数据子集上进行评估。此过程称为交叉验证。为了识别过拟合或未能泛化模式,请使用交叉验证。 交叉验证涉及以下三个步骤
通过交叉验证,我们使用原始训练数据集生成多个小的训练-测试分割。我们使用这些分割来训练我们的模型,该模型最能描述因变量和自变量之间的关系。对于标准的 k-fold 交叉验证测试,我们将原始数据集分成 k 个子集。在我们迭代地训练线性回归模型使用 k-1 个数据集后,我们使用剩余的数据集来验证模型。 这使我们能够在新数据集上验证模型,以了解模型是否描述了良好的关系。在本节中,我们将学习如何使用 sklearn 在线性回归模型上进行交叉验证测试。此外,我们将看到一种方法来提高 KFold 交叉验证方法提供的准确性。 代码 输出 Accuracy score of each fold: [0.41676766 0.45263441 0.44526044 0.43015152 0.40605028 0.41904005] Mean accuracy score: 0.4283173940888665 为了提高 KFold 交叉验证测试的准确性,我们可以使用分层 KFold 方法 代码 输出 Size of the dataset is: 442 Stratified k-fold Cross Validation Scores are: [0.50117449 0.45486492 0.46935982 0.5599043 0.50545775 0.42289802] Average Cross Validation score is: 0.48560988266624 使用 Python Sklearn 进行多元线性回归多变量回归是一种监督机器学习方法,它使用多个自变量数据特征来分析目标特征。一个因变量和多个自变量构成了多变量回归,这是多元回归模型的扩展。我们尝试通过使用自变量训练模型来预测结果。 多变量回归使用一个公式来描述多个变量如何同时响应目标变量的变化。 数据预处理大多数机器学习程序员认为,数据预处理是回归模型项目中最重要的阶段之一。可能存在过多的数据点、报告错误或许多其他问题,这些问题会阻止算法对数据集进行准确预测。 在将数据集输入机器学习模型之前,数据科学家会花费大量时间对其进行清理、归一化和缩放,以避免这种情况。 标准化函数,例如 MinMax 和 Standard 函数,是最常见的函数类型,用于执行特征缩放。这是因为您的数据中的特征范围不同。几乎所有机器学习方法都使用欧几里得距离来估计两个数据点之间的距离。 通过将集合中的每个点缩放到相同的范围,尺度标准化函数使算法能够准确计算距离。 我们必须首先同时导入 sklearn.preprocessing 和 numpy。 多元线性回归 Sklearn 示例代码 输出 sepal length (cm) sepal width (cm) petal length (cm) petal width (cm) \ 0 5.1 3.5 1.4 0.2 1 4.9 3.0 1.4 0.2 2 4.7 3.2 1.3 0.2 3 4.6 3.1 1.5 0.2 4 5.0 3.6 1.4 0.2 target 0 0 1 0 2 0 3 0 4 0 R-square score of the model: 0.9215461211058802 Features Coefficients 0 Intercept 0.279851 1 sepal width (cm) -0.006845 2 petal length (cm) 0.297868 3 petal width (cm) 0.507009 下一个主题Python Timeit 模块 |
在本教程中,我们将讨论 Python 中 choice() 方法的用法。要在程序中使用它,我们首先需要导入 random 模块。choice() 的功能是挑选或生成一个随机元素,它可以是任何东西,一个数字或一个...
阅读 3 分钟
如果一个数的平方的最后几位与这个数本身相同,那么这个数就被称为自守数。以下是自守数的例子:1. 输入:25 输出 - 是的,它是一个自守数。原因 - 25 的平方是 625,...
阅读 3 分钟
在本文中,我们将学习如何在 Python 中将字符串转换为其二进制等效项。我们知道字符串是由字符串组成的序列,并用反引号表示。二进制数字的形式为 0 和 1,信息始终编码在...
阅读 3 分钟
Covid 期间金融科技行业的崛起已遍及全球。根据报告,未来 4-6 年,金融科技公司将完成超过十亿美元的投资。金融科技根植于银行、保险、贷款、交易和...
阅读 8 分钟
本教程将演示如何使用 Python 将浮点值四舍五入到最近的两位小数。使用 round() 函数 round() 函数提供所请求值的四舍五入形式,它返回具有给定数量的浮点值…
阅读 3 分钟
简介:在本教程中,我们将学习 Python Selenium 中的 forward_driver 方法。Selenium 模块用于使用 Python 进行自动测试。Selenium Python 绑定提供了一个简单的 API。使用 Selenium WebDriver,此 API 用于编写功能或验收测试。Web……
阅读 3 分钟
基础/先决知识简介:'Pandas'是Python最杰出的库之一。它广泛应用于机器学习和数据分析的不同应用中。使用Pandas,程序员可以创建、读取和操作大量数据,并处理任何文件...
7 分钟阅读
在本教程中,我们将学习如何将 tqdm 与 pandas 库一起实现。tqdm 模块用于根据需要创建进程条。进程条是估算和显示任务所需时间的重要工具。要理解...
5 分钟阅读
XGBoost 是 Python 的一个库,它实现了梯度提升决策树,旨在提高速度和执行效率,这是机器学习 (ML) 最重要的方面。XgBoost:XgBoost(极端梯度提升)是华盛顿大学的学者们引入的 Python 库。它是一个...
阅读 6 分钟
本教程将学习RSME(均方根误差)及其在Python中的实现。让我们从它的简要介绍开始。简介 RSME(均方根误差)计算模型预测值与实际值之间的变换。换句话说,它是这样一种...
阅读 3 分钟
我们请求您订阅我们的新闻通讯以获取最新更新。
我们提供所有技术(如 Java 教程、Android、Java 框架)的教程和面试问题
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India