使用 Sklearn 实现偏最小二乘回归 (PLSRegression)

偏最小二乘回归是一种机器学习算法,用于对自变量和因变量之间的关系进行建模。这主要用于存在许多相互关联的自变量的情况。它在回归和潜变量建模中更为常用。它会在自变量空间中找到方向(潜变量),以解释因变量和自变量中的最大方差。它通过迭代提取潜变量,来寻找因变量和自变量之间的最大协方差。本文将进一步探讨 PLSRegression 以及如何使用 Sklearn 库进行实现。

什么是偏最小二乘回归?

偏最小二乘回归(PLS 回归)是一种统计技术,它与主成分回归有相似之处。PLS 回归不是通过识别响应变量和自变量之间具有最大方差超平面,而是通过将预测变量和可观测变量都投影到一个新的空间中来构建线性回归模型。这种将数据投影到新空间的特性将 PLS 方法归类为双线性因子模型。偏最小二乘判别分析 (PLS-DA) 是一种特定的变体,用于当响应变量 (Y) 是分类变量时的情况。

PLS 用于揭示两个矩阵 (X 和 Y) 之间的潜在关系。它采用潜变量的方法来对这些矩阵中的协方差结构进行建模。PLS 模型的目标是确定 X 空间中的一个多维方向,该方向能解释 Y 空间中的最大多维方差方向。当预测矩阵的变量数多于观测值数,并且 X 值之间存在多重共线性时,PLS 回归特别有利。这与标准回归形成对比,除非应用正则化,否则标准回归在这些情况下可能会表现不佳。

偏最小二乘回归的实现

为了实现 PLS,我们将使用“Diabetes(糖尿病)”数据集。现在,让我们来看看如何使用 PLS 来预测糖尿病的进展。在这个数据集中,“糖尿病进展”变量是因变量。在糖尿病数据集中,自变量将是各种与健康相关的测量值,如年龄、性别、BMI、血压和其他血清测量值。我们使用 PLS 模型根据“与健康相关的测量值”(自变量)来预测“糖尿病进展”(因变量)。

PLS 算法通过调整权重来迭代提取潜变量,以最大化健康相关测量值与糖尿病进展之间的协方差。一旦训练好 PLS 模型,您就可以使用它根据新观测值的健康相关测量值来预测其糖尿病进展情况。

#### 如果尚未安装,请安装 scikit learn

# Install sci-kit-learn if not already installed
!pip install scikit-learn

这将安装 sci-kit-learn 包,该包用于机器学习,它提供了数据分析和数据建模的工具,包括各种机器学习算法、预处理技术和模型评估工具。

导入必要的库:

Python3


CODEBLOCK_cbabe558

我们需要导入一些库,这些库将在代码的后续部分中使用,它们分别是:

  • NumPy Python: 该库用于 Python 中的数值运算。
  • matplotlib: 该库用于 Python 中的数据可视化。
  • from sklearn import datasets: 这将从 sklearn 导入 ‘datasets‘ 模块,从而允许访问内置数据集。
  • from sklearn.cross_decomposition import PLSRegression: 这将导入 PLSRegression 类,用于执行 PLS 回归。
  • from sklearn.modelselection import traintestsplit: 这将导入 traintest_split 函数,用于将数据集拆分为训练集和测试集。
  • from sklearn.metrics import meansquarederror: 这将导入 meansquarederror 函数,用于计算均方误差。

加载糖尿病数据集:

Python3


CODEBLOCK_e6deab23

这将从 sci-kit-learn 加载糖尿病数据集。该数据集通常用于[回归](https://www.geeksforgeeks.org/machine-learning/regression-in-mac

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。如需转载,请注明文章出处豆丁博客和来源网址。https://shluqu.cn/25237.html
点赞
0.00 平均评分 (0% 分数) - 0