东莞网站优化哪里找wordpress新窗口打开所有外链
2026/4/8 17:36:28 网站建设 项目流程
东莞网站优化哪里找,wordpress新窗口打开所有外链,wordpress获得授权,网上购物商城系统设计摘要#xff1a;多元线性回归是一种监督学习算法#xff0c;用于建立因变量与多个自变量之间的关系模型。与简单线性回归不同#xff0c;它可处理多个预测变量。本文详细介绍了多元线性回归的数学表示、基本假设#xff08;如线性性、独立性、同方差性等#xff09;#…摘要多元线性回归是一种监督学习算法用于建立因变量与多个自变量之间的关系模型。与简单线性回归不同它可处理多个预测变量。本文详细介绍了多元线性回归的数学表示、基本假设如线性性、独立性、同方差性等并通过Python实现展示了从数据准备、模型训练到评估的全过程。实验使用包含50个样本的数据集评估指标显示模型R²得分达0.96。文章还分析了系数含义验证了预测结果并探讨了该技术在金融、医疗等领域的应用及面临的挑战如多重共线性最后对比了简单与多元线性回归的差异。目录什么是多元线性回归多重线性回归的假设1. 线性性2. 独立3. 同方差性4. 误差正规性5. 无多重共线性6. 无自相关性7. 固定自变量在 Python 中实现多重线性回归第一步数据准备第二步模型训练第三步模型测试步骤4模型评估步骤5新数据模型预测模型参数系数和截距结果说明多重线性回归的应用多重线性回归的挑战简单回归与多重线性回归的区别机器学习中的多元线性回归是一种监督算法用于建模因变量与多个自变量之间的关系。该关系用于预测因变量的结果。多重线性回归是机器学习中的一种线性回归。线性回归算法主要有两种类型 −简单线性回归——它涉及两个特征一个因变量和一个自变量。多重线性回归− 涉及两个以上特征一个因变量和多个自变量。让我们详细讨论多元线性回归 −什么是多元线性回归在机器学习中多元线性回归MLR是一种统计技术用于根据多个自变量的取值预测因变量的结果。多重线性回归算法通过训练数据学习最符合数据的关系称为回归线。该关系描述了各种因素如何影响结果。该关系用于根据自变量的值预测因变量的值。在线性回归简单回归和多重回归中因变量是连续的数值自变量可以是连续的或离散的数值。自变量也可以是类别变量性别、职业但需要先转换为数值。多重线性回归基本上是简单线性回归的扩展利用两个或多个特征预测一个响应。数学上我们可以表示多重线性回归如下 −考虑一个数据集包含n个观测值p个特征即自变量y作为一个响应即因变量。p个特征的回归直线可计算如下−这里预测反应值是回归系数。多重线性回归模型总是包含数据中的误差称为残差误差这会改变计算方式如下 −我们也可以将上述方程写成如下 −多重线性回归的假设以下是多重线性回归模型对数据集的一些假设——1. 线性性因变量目标与自变量预测变量之间的关系是线性的。2. 独立每个观测都是独立于其他观测的。一个观测值的因变量值与另一个观测值无关。3. 同方差性对于所有观测值残差误差的方差在每个自变量值上都相似。4. 误差正规性残差误差呈正态分布。残差是实际值与预测值之间的差异。5. 无多重共线性自变量之间相关性不高。线性回归模型假设数据中几乎没有多重共线性。6. 无自相关性残差之间没有相关性。这确保了残差误差彼此独立。7. 固定自变量自变量的取值在所有重复样本中固定。违反这些假设可能导致估计偏差或效率低下。验证这些假设对于确保模型准确性至关重要。在 Python 中实现多重线性回归要在 Python 中使用 Scikit-Learn 实现多重线性回归我们可以使用与简单线性回归相同的线性回归类但这次需要提供多个自变量作为输入。第一步数据准备我们使用名为data.csv的数据集包含50个示例。它包含四个预测变量自变量和一个目标变量因变量。下表表示data.csv文件中的数据。研发投入行政管理市场营销支出州际利润165349.2136897.8471784.1纽约192261.8162597.7151377.6443898.5加利福尼亚191792.1153441.5101145.6407934.5佛罗里达191050.4144372.4118671.9383199.6纽约182902142107.391391.77366168.4佛罗里达166187.9131876.999814.71362861.4纽约156991.1134615.5147198.9127716.8加利福尼亚156122.5130298.1145530.1323876.7佛罗里达155752.6120542.5148719311613.3纽约152211.8123334.9108679.2304981.6加利福尼亚149760101913.1110594.1229161佛罗里达14612210067291790.61249744.6加利福尼亚144259.493863.75127320.4249839.4佛罗里达141585.591992.39135495.1252664.9加利福尼亚134307.4119943.2156547.4256512.9佛罗里达132602.7114523.6122616.8261776.2纽约12991778013.11121597.6264346.1加利福尼亚126992.994657.16145077.6282574.3纽约125370.491749.16114175.8294919.6佛罗里达124266.986419.7153514.10纽约122776.976253.86113867.3298664.5加利福尼亚11847478389.47153773.4299737.3纽约11131373994.56122782.8303319.3佛罗里达110352.367532.53105751304768.7佛罗里达10873477044.0199281.34140574.8纽约10855264664.71139553.2137962.6加利福尼亚107404.375328.87144136134050.1佛罗里达105733.572107.6127864.6353183.8纽约105008.366051.52182645.6118148.2佛罗里达103282.465605.48153032.1107138.4纽约101004.661994.48115641.391131.24佛罗里达99937.5961136.38152701.988218.23纽约97483.5663408.86129219.646085.25加利福尼亚97427.8455493.95103057.5214634.8佛罗里达96778.9246426.07157693.9210797.7加利福尼亚96712.846014.0285047.44205517.6纽约96479.5128663.76127056.2201126.8佛罗里达90708.1944069.9551283.14197029.4加利福尼亚89949.1420229.5965947.93185265.1纽约81229.0638558.5182982.09174999.3加利福尼亚81005.7628754.33118546.1172795.7加利福尼亚78239.9127892.9284710.77164470.7佛罗里达77798.8323640.9396189.63148001.1加利福尼亚71498.4915505.73127382.335534.17纽约69758.9822177.74154806.128334.72加利福尼亚65200.331000.231241531903.93纽约64926.081315.46115816.2297114.5佛罗里达49490.750135426.90加利福尼亚42559.73542.0551743.150纽约35673.410116983.845173.06加利福尼亚14681.4你可以创建一个CSV文件并存储上述数据点。我们有data.csv文件。我们将用它来理解Python中多重线性回归的实现。我们需要在加载数据集前导入库。# import libraries import numpy as np import matplotlib.pyplot as plt import pandas as pd加载数据集我们将数据集加载为名为stringdataset的Pandas数据帧。现在我们创建一个独立值预测变量列表并将其放入一个名为X./字符串的变量中独立价值观包括“研发支出”、“管理”、“市场营销支出”。为了简化我们不使用自变量“状态”。我们将因变量值赋予变量y。# load dataset dataset pd.read_csv(data.csv) X dataset[[RD Spend, Administration, Marketing Spend]] y dataset[Profit]我们先检查输入特征X和目标y−的前五个例子行X.head()输出RD Spend Administration Marketing Spend 0 165349.20 136897.80 471784.10 1 162597.70 151377.59 443898.53 2 153441.51 101145.55 407934.54 3 144372.41 118671.85 383199.62 4 142107.34 91391.77 366168.42y.head()输出Profit 0 192261.83 1 191792.06 2 191050.39 3 182901.99 4 166187.94将数据集拆分为训练集和测试集现在我们将数据集拆分为训练集和测试集。X独立值和y依赖值都分为两组——训练值和测试值。测试集会用20%。在50个特征向量观察/示例中训练集中将有40个特征向量测试集中有10个特征向量。# Split the dataset into training and test sets from sklearn.model_selection import train_test_split X_train, X_test, y_train, y_test train_test_split(X, y, test_size 0.2)这里X_train和X_test代表训练集和测试集中的输入特征其中y_train和y_test代表训练和测试集中的目标值输出。第二步模型训练下一步是用训练数据拟合模型。我们将使用sklearn模块中的linear_model类。我们使用linear_model类的线性回归方法创建一个线性回归对象这里称之为回归子。# Fit Multiple Linear Regression to the Training set from sklearn.linear_model import LinearRegression regressor LinearRegression() regressor.fit(X_train, y_train)回归器对象具有fit方法。fit 方法用于将线性回归对象 回归子拟合到训练数据中。模型学习预测变量X_train与目标变量y_train之间的关系。第三步模型测试现在我们的模型已经准备好用于预测。让我们用测试数据测试我们的回归模型。我们使用predict方法来预测测试集的结果。它接收输入特征X_test并返回重写值。y_pred regressor.predict(X_test) df pd.DataFrame({Real Values:y_test, Predicted Values:y_pred}) print(df)输出Real Values Predicted Values 23 108733.99 110159.827849 43 69758.98 59787.885207 26 105733.54 110545.686823 34 96712.80 88204.710014 24 108552.04 114094.816702 39 81005.76 84152.640761 44 65200.33 63862.256006 18 124266.90 129379.514419 47 42559.73 45832.902722 17 125370.37 130086.829016你可以比较实际数值和预测值。步骤4模型评估我们现在评估模型的准确性。我们将使用均方误差MSE、均方根误差RMSE、均值绝对误差MAE和R2-分数决定系数。from sklearn.metrics import mean_squared_error, root_mean_squared_error, mean_absolute_error, r2_score # Assuming you have your true y values (y_test) and predicted y values (y_pred) mse mean_squared_error(y_test, y_pred) rmse root_mean_squared_error(y_test, y_pred) mae mean_absolute_error(y_test, y_pred) r2 r2_score(y_test, y_pred) print(Mean Squared Error (MSE):, mse) print(Root Mean Squared Error (RMSE):, rmse) print(Mean Absolute Error (MAE):, mae) print(R-squared (R2):, r2)输出Mean Squared Error (MSE): 72684687.6336162 Root Mean Squared Error (RMSE): 8525.531516193943 Mean Absolute Error (MAE): 6425.118502810154 R-squared (R2): 0.9588459519573707你可以参考上述指标。我们的模型显示R平方得分约为0.96这意味着96%的数据点分布在拟合回归线周围。另一种解释是输出变量96%的变异由输入变量解释。步骤5新数据模型预测让我们用回归模型根据研发支出、管理和市场营销支出来预测利润价值。[“研发支出”、“管理”、“市场营销支出”][166343.2 136787.8 461724.1]// predict profit when RD Spend is 166343.2, Administration is 136787.8 and Marketing Spend is 461724.1 new_data [[166343.2, 136787.8, 461724.1]] profit regressor.predict(new_data) print(profit)输出[193053.61874652]模型预测上述三个值的利润值约为192090.567。模型参数系数和截距模型参数截距和系数描述了因变量与自变量之间的关系。我们针对上述用例的回归模型w0是截距且w1,w2,w3是 的系数X1,X2,X3分别。这里X1代表研发支出X2代表行政管理X3代表市场营销支出。我们先计算截距和系数print(coefficients: , regressor.coef_) print(intercept: , regressor.intercept_)输出coefficients: [ 0.81129358 -0.06184074 0.02515044] intercept: 54946.94052163202上面的输出显示了如下内容——w0 54946.94052163202w1 0.81129358w2 -0.06184074w3 0.02515044结果说明我们计算出截距w0和系数w1,w2,w3).系数如下——研发支出0.81129358管理值-0.06184074市场营销支出0.02515044这表明如果研发支出增加1美元利润将增加0.81851334美元。结果显示当行政支出增加1美元时利润将减少0.03124763美元。当营销支出增加1美元时利润增加0.02042286美元。让我们验证一下结果在第5步我们预测新数据的利润为193053.61874652这里new_data [[166343.2, 136787.8, 461724.1]] Profit 54946.94052163202 0.81129358*166343.2 - 0.06184074* 136787.8 0.02515044 * 461724.1 Profit 193053.616257这大致与模型预测相同。为什么是大概的因为残留误差。residual error 193053.61874652 - 193053.616257 residual error 0.00248952多重线性回归的应用以下是多重线性回归的一些常用应用 −应用描述财务预测股票价格预测汇率评估信用风险。市场营销预测销售、客户流失率以及营销活动的效果。房地产根据大小、位置和卧室数量等因素预测房价。医疗保健预测患者结局分析治疗影响识别疾病风险因素。经济预测经济增长分析政策影响预测通胀率。社会科学社会现象建模、选举结果预测以及理解人类行为。多重线性回归的挑战以下是机器学习中多重线性回归面临的一些常见挑战 −挑战描述多重共线性自变量之间的高度相关性导致模型系数不稳定以及解释单个变量影响的困难。过拟合模型拟合训练数据过于贴合导致在新的未见数据上表现不佳。欠拟合模型未能捕捉数据中的潜在模式导致训练和测试数据的性能都很差。非线性多元线性回归假设自变量和因变量之间存在线性关系。非线性关系可能导致预测不准确。异类异常值会显著影响模型性能尤其是在小数据集中。缺失数据数据缺失可能导致偏见和不准确的结果。简单回归与多重线性回归的区别下表突出了简单回归与多重线性回归的主要区别 −特色简单线性回归多重线性回归自变量一两个或更多模型方程y w1x w0yw0w1x1w2x2 ... wpxp复杂性简单由于多变量情况更复杂实际应用基于平方英尺预测房价基于广告支出预测销售基于广告支出、价格和竞争对手活动预测销售基于学习时间、出勤和智商预测学生表现模型解读系数的解释更为简便由于多变量解释更复杂

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询