编写 5折 交叉验证代码
时间: 2024-02-06 13:10:56 浏览: 39
以下是一个简单的 5 折交叉验证的代码示例:
```python
from sklearn.model_selection import KFold
# 假设你已经有了数据集 X 和标签 y
X = ...
y = ...
# 创建 5 折交叉验证器
kf = KFold(n_splits=5, shuffle=True)
# 定义一个空列表来存储每个折叠的评分
scores = []
# 循环遍历每个折叠
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)
# 将得分添加到列表中
scores.append(score)
# 计算平均分数
avg_score = sum(scores) / len(scores)
```
在这个例子中,我们使用 scikit-learn 库中的 `KFold` 类来创建一个 5 折交叉验证器。这个类会为我们自动拆分数据集为训练集和测试集,并且重复这个过程 5 次。我们在每个折叠中训练一个模型,并在测试集上评估它的性能。最后,我们将所有的分数相加并计算平均分数。
请注意,这只是一个简单的示例。在实际应用中,您可能需要对每个折叠中的模型进行调整和优化,并使用更复杂的评估指标。
阅读全文