`RandomForestClassifier`的不同超参数的ROC曲线?

数据挖掘 分类 scikit-学习 随机森林 模型选择
2021-09-21 13:31:41

我目前正在尝试RandomForestClassifier在由 5000 个实例组成的数据集上训练 a,该实例具有 12 个(现在)编码特征和一个二进制目标标签。通过GridSearchCV我发现,

best_parameters = {
    'criterion':    'gini', 
    'max_depth':    12, 
    'max_features': 'log2', 
    'n_estimators': 300
}

效果最好

hyperparameters = {
    "n_estimators": [9,10,20,30,40,50,60,100,150,200,300,1000],
    "max_depth":    [3,6,9,12,20],
    "criterion":    ["gini", "entropy"],
    "max_features": ["log2", "auto"]
}

mean_test_score正如我认为的那样,其中一个0.8546已经相当不错了。

现在我想获得某种视觉解释,例如每个参数的 ROC 曲线。RandomForestClassifier但是在为每个超参数创建 ROC 曲线的情况下真的有意义吗?还是有其他方法来调整我的分类器?

2个回答

似乎您已经根据 mean_test_score 调整了算法。您还可以调整 AUC,即 ROC 曲线下的面积。正如我在我的博客文章中所展示的那样,调整它甚至可以提供更好的 mean_test_score:http: //philipppro.github.io/Tuning_random_forest/

我假设您正在运行分类,并且有一个二进制目标变量。如果是这种情况,则显示组件 ROC 曲线没有意义,因为您的分离可能基于 2、3 或更多个单独 ROC 曲线不会反映的预测变量的组合。我会展示你的整体 ROC 曲线,以及可能的可变重要性度量。如果您有一些明显赢家的预测变量,您可以重新运行您的模型,仅包括那些,然后显示 ROC。否则,我看不出它能给你带来什么。