python 10折交叉验证的随机森林回归代码
时间: 2023-08-28 14:09:24 浏览: 233
下面是一个基于 scikit-learn 库实现的 10 折交叉验证的随机森林回归的 Python 代码:
```python
from sklearn.ensemble import RandomForestRegressor
from sklearn.model_selection import cross_val_score
import numpy as np
# 加载数据,假设 X 和 y 分别为特征和目标变量
X = np.load('features.npy')
y = np.load('targets.npy')
# 定义随机森林回归模型
model = RandomForestRegressor(n_estimators=100, max_depth=10)
# 进行 10 折交叉验证,并输出平均得分
scores = cross_val_score(model, X, y, cv=10)
print("Mean R2 score:", np.mean(scores))
```
其中,`RandomForestRegressor` 是 scikit-learn 中实现随机森林回归的类,`n_estimators` 和 `max_depth` 分别是随机森林模型中决策树的数量和深度。`cross_val_score` 函数是用于对模型进行 k 折交叉验证的函数,其中 `cv` 参数指定了交叉验证的折数。代码中的输出结果是 10 折交叉验证的 R2 得分的平均值。
相关问题
10折交叉验证的随机森林回归代码
以下是使用Python中的scikit-learn库实现10折交叉验证的随机森林回归代码:
```python
from sklearn.ensemble import RandomForestRegressor
from sklearn.model_selection import cross_val_score
import numpy as np
# 加载数据
X = np.load("X.npy")
y = np.load("y.npy")
# 创建随机森林回归模型
rf = RandomForestRegressor(n_estimators=100, max_depth=5)
# 进行10折交叉验证
scores = cross_val_score(rf, X, y, cv=10)
# 输出平均得分和标准差
print("Mean score: ", np.mean(scores))
print("Standard deviation: ", np.std(scores))
```
代码中,我们首先加载数据,然后创建一个随机森林回归模型。接着,使用`cross_val_score`函数进行10折交叉验证,并输出平均得分和标准差。在创建随机森林回归模型时,我们设置了树的数量为100,最大深度为5。你可以根据自己的数据进行调整。
阅读全文