线性回归留一法交叉验证python代码
时间: 2023-10-12 21:20:20 浏览: 117
线性回归留一法交叉验证的 Python 代码如下:
```python
import numpy as np
from sklearn.linear_model import LinearRegression
from sklearn.model_selection import LeaveOneOut
# 生成数据集
X = np.array([[1, 2], [3, 4], [5, 6], [7, 8], [9, 10]])
y = np.array([3, 7, 11, 15, 19])
# 初始化线性回归模型
model = LinearRegression()
# 初始化留一法交叉验证器
cv = LeaveOneOut()
# 进行留一法交叉验证
for train_index, test_index in cv.split(X):
X_train, X_test = X[train_index], X[test_index]
y_train, y_test = y[train_index], y[test_index]
model.fit(X_train, y_train)
print(f"Test index: {test_index}")
print(f"Predicted value: {model.predict(X_test)}")
print(f"True value: {y_test}")
```
代码中,我们使用 `numpy` 生成一个数据集 `X` 和目标值 `y`,并初始化一个线性回归模型 `model` 和一个留一法交叉验证器 `cv`。然后,我们使用 `cv.split(X)` 方法进行留一法交叉验证,将得到的训练集和测试集用于训练模型和评估模型性能。最后,我们输出每次测试的索引、预测值和真实值。
阅读全文