python中五折交叉验证模型取均值的代码
时间: 2023-12-26 14:13:21 浏览: 116
均值法代码
4星 · 用户满意度95%
以下是Python中五折交叉验证模型取均值的代码示例:
```python
from sklearn.model_selection import KFold
from sklearn.metrics import mean_squared_error
import numpy as np
# 设定数据和标签
data = np.array([...])
labels = np.array([...])
# 五折交叉验证
kf = KFold(n_splits=5, shuffle=True, random_state=42)
# 初始化模型
model = ...
# 存储每个模型的表现
scores = []
for train_index, test_index in kf.split(data):
# 将数据分成训练集和测试集
X_train, X_test = data[train_index], data[test_index]
y_train, y_test = labels[train_index], labels[test_index]
# 训练模型
model.fit(X_train, y_train)
# 预测测试集
y_pred = model.predict(X_test)
# 计算均方误差
score = mean_squared_error(y_test, y_pred)
# 存储当前模型的表现
scores.append(score)
# 计算五个模型的均值
mean_score = np.mean(scores)
```
在上面的代码中,我们使用了`KFold`对象来进行五折交叉验证,然后在每个训练集和测试集上训练模型并预测测试集。最后,我们计算每个模型的均方误差,并计算五个模型的均值作为最终的评估指标。
阅读全文