python交叉验证结合线性回归_python代码实现回归分析--线性回归

这篇博客介绍了线性回归的基本概念,包括一元线性回归和多元线性回归,并通过Python的sklearn库展示了如何进行数据建模、训练模型、预测以及评估模型性能。博主使用了numpy和matplotlib进行数据生成和可视化,同时也展示了如何使用make_regression生成回归问题的样本数据。
摘要由CSDN通过智能技术生成

e5f2f9273ee559ace8787248ce65b9ef.png

#概念篇:

#一下是我自己结合课件理解的,如果理解的有问题,期望看到的人能够好心告诉我一下,我将感激不尽~

#1.什么数据建模? 通过原有数据找到其中的规律,并总结成模型.

#2.什么是模型概念? 通过规律总结的模型,来预测自变量的结果(因变量).

#3.什么是回归分析? 是用来解释自变量和因变量之间关系的一种方法.

#4.什么是线性回归? 回归分析的一种,评估自变量和因变量是一种线性关系的的一种方法.

#5. 什么是一元线性回归? 就是自变量只有一个的线性回归(影响元素只有一种).

#6. 什么是多元线性回归? 就是自变量是多个的线性回归(影响元素不止一种).

#7. 什么是拟合? 回归分析的具体实现方式(构建出最能串联现实实际情况的算法公式)

#8. 什么是模型参数? 就是能够解释自变量和因变量关系的参数.

#代码表示篇:

#一元线性回归程序:

#1.基本工具导入.

import numpy as np

#调科学计算包中线性模块里的线性回归函数

from sklearn.linear_model import LinearRegression

#条用科学计算包中的方法选择模块里的用于切分测试集和训练集的函数.

from sklearn.model_selection import train_test_split

#2.建造数据

#随机数种子,事先设置之后,就能固定值随机数.

好的,让我来回答你的问题。 在Python中,我们可以使用Scikit-learn库来进行回归分析。其中,交叉验证是评估模型性能的一种常用方法。以下是使用线性回归、RFE、LASSO和岭回归进行K折交叉验证代码示例: ```python from sklearn.linear_model import LinearRegression, Lasso, Ridge from sklearn.feature_selection import RFE from sklearn.model_selection import KFold, cross_val_score from sklearn.datasets import load_boston import numpy as np # 加载波士顿房价数据集 boston = load_boston() X = boston.data y = boston.target # 线性回归模型 model_lr = LinearRegression() # RFE模型 model_rfe = RFE(estimator=LinearRegression(), n_features_to_select=5) # LASSO模型 model_lasso = Lasso(alpha=0.1) # 岭回归模型 model_ridge = Ridge(alpha=1.0) # K折交叉验证 kfold = KFold(n_splits=10, shuffle=True, random_state=1) # 线性回归模型K折交叉验证结果 result_lr = cross_val_score(model_lr, X, y, cv=kfold) print("Linear Regression: %.2f (%.2f) MSE" % (result_lr.mean(), result_lr.std())) # RFE模型K折交叉验证结果 result_rfe = cross_val_score(model_rfe, X, y, cv=kfold) print("RFE: %.2f (%.2f) MSE" % (result_rfe.mean(), result_rfe.std())) # LASSO模型K折交叉验证结果 result_lasso = cross_val_score(model_lasso, X, y, cv=kfold) print("LASSO: %.2f (%.2f) MSE" % (result_lasso.mean(), result_lasso.std())) # 岭回归模型K折交叉验证结果 result_ridge = cross_val_score(model_ridge, X, y, cv=kfold) print("Ridge: %.2f (%.2f) MSE" % (result_ridge.mean(), result_ridge.std())) ``` 在上述代码中,我们首先加载了波士顿房价数据集,并将其分为输入变量X和目标变量y。然后,我们分别定义了线性回归、RFE、LASSO和岭回归模型,并使用K折交叉验证对它们进行评估。最后,我们打印了每个模型的平均MSE和标准差。 希望这个代码示例能够帮助你理解如何在Python中使用交叉验证进行回归分析
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值