如何使用网格搜索绘制树数和 OOB 分数

数据挖掘 机器学习 随机森林 matplotlib 网格搜索 可解释的ai
2022-02-26 15:46:52

我搜索找到答案,但我没有找到网格搜索的东西。

我使用网格搜索创建了一个随机森林和梯度增强回归器。现在我想做一个可视化,看看树的数量是否合适。

# Grid-Search erstellen auf der Basis eineer Random Search 
param_grid = {
    'bootstrap': [True],
    'max_depth': [50, None],
    'max_features': ['auto', 50],
    'min_samples_leaf': [5],
    'min_samples_split': [2],
    'n_estimators': [100, 150, 200, 250, 300, 350]
}

# Base-Model zum Verbessern erstellen
rf_v1 = RandomForestRegressor(random_state=42)

# Grid-Search initisieren 
rf_grid_search_v1 = GridSearchCV(estimator = rf_v1, param_grid = param_grid, 
                           scoring = 'neg_mean_absolute_error', cv = 3, 
                           n_jobs = -1, verbose = 2)

# Die Grid-Search für das Model durchführen
rf_grid_search_v1.fit(X_train_v1, y_train_v1)

但是如何用网格搜索绘制树的分裂?有什么方法可以使 RF/xgb 树拆分可视化?

如果有人给我小费,我真的很感激。

2个回答

要使用网格搜索绘制特征重要性,请使用:

x= X_train_v1.columns,y= rf_grid_search_v1.best_estimator_.feature_importances_

如果您想查看为您的模型选择的最佳参数是什么,您可以使用

rf_grid_search_v1.best_estimator_