k折交叉验证代码
时间: 2023-07-26 12:10:58 浏览: 94
交叉验证代码实现
以下是一个简单的k折交叉验证的Python代码示例:
```python
from sklearn.model_selection import KFold
from sklearn.linear_model import LinearRegression
import numpy as np
# 生成一个样本矩阵X和一个目标向量y
np.random.seed(0)
X = np.random.rand(100, 10)
y = np.random.rand(100)
# 设置k值
k = 5
# 初始化模型
model = LinearRegression()
# 初始化k折交叉验证对象
kf = KFold(n_splits=k)
# 开始交叉验证
for train_index, test_index in kf.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)
# 在测试集上评估模型
score = model.score(X_test, y_test)
# 打印每一次的得分
print("Test score: {:.2f}".format(score))
```
在这个示例中,我们首先生成了一个样本矩阵和一个目标向量,然后设置了k值为5。接下来,我们初始化了一个线性回归模型和一个k折交叉验证对象。在交叉验证的循环中,我们将数据集分为训练集和测试集,并在训练集上训练模型。我们随后在测试集上评估模型,并打印每一次的得分。
阅读全文