gpt4 book ai didi

python - 使用 RandomizedSearchCV 进行随机森林调整

转载 作者:行者123 更新时间:2023-12-01 08:34:34 36 4
gpt4 key购买 nike

我有一些关于随机森林回归模型中的随机网格搜索的问题。我的参数网格如下所示:

random_grid = {'bootstrap': [True, False],
'max_depth': [10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, None],
'max_features': ['auto', 'sqrt'],
'min_samples_leaf': [1, 2, 4],
'min_samples_split': [2, 5, 10],
'n_estimators': [130, 180, 230]}

我的 RandomizedSearchCV 代码如下:

# Use the random grid to search for best hyperparameters
# First create the base model to tune
from sklearn.ensemble import RandomForestRegressor
rf = RandomForestRegressor()
# Random search of parameters, using 3 fold cross validation,
# search across 100 different combinations, and use all available cores
rf_random = RandomizedSearchCV(estimator = rf, param_distributions = random_grid, n_iter = 100, cv = 3, verbose=2, random_state=42, n_jobs = -1)
# Fit the random search model
rf_random.fit(X_1, Y)

有什么方法可以计算每个参数集的均方根吗?这对我来说更有趣,因为 R^2 分数?如果我现在想要获得最佳参数集(如下所示),我也会使用最低的 RMSE 分数。有什么办法可以做到吗?

rf_random.best_params_
rf_random.best_score_
rf_random.best_estimator_

谢谢你,

最佳答案

将“评分”参数添加到 RandomizedSearchCV。

RandomizedSearchCV(scoring="neg_mean_squared_error", ...

可以找到替代选项 in the docs

使用此功能,您可以打印每个参数集的 RMSE 以及参数集:

cv_results = rf_random.cv_results_
for mean_score, params in zip(cv_results["mean_test_score"], cvres["params"]):
print(np.sqrt(-mean_score), params)

关于python - 使用 RandomizedSearchCV 进行随机森林调整,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53782169/

36 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com