gpt4 book ai didi

python - 什么是 Gridsearch.cv_results_ ,是否可以解释其中的所有内容,即 mean_test_score 等?

转载 作者:太空宇宙 更新时间:2023-11-03 10:49:09 50 4
gpt4 key购买 nike

我正在使用 GridSearchCV 对决策树进行超参数调整。我已经适合该模型,我正在尝试找出 Gridsearch.cv_results_ 给出的确切结果。我已经阅读了文档,但仍然不清楚。谁能解释一下这个属性?

我的代码如下:

depth={"max_depth":[1,5,10,50,100,500,1000],
"min_samples_split":[5,10,100,500]}

DTC=DecisionTreeClassifier(class_weight="balanced")

DTC_Grid=GridSearchCV(DTC,param_grid=depth , cv=3, scoring='roc_auc')
DTC_Bow=DTC_Grid.fit(xtrain_bow,ytrain_bow)

最佳答案

DTC_Bow.cv_results_ 返回网格搜索中所有评估指标的字典。要正确地可视化它,您可以这样做

pd.DataFrame(DTC_Bow.cv_results_)

在您的情况下,这应该返回一个包含 28 行的数据帧(max_depth 的 7 个选择乘以 min_samples_split 的 4 个选择)。该数据框的每一行都给出了这两个参数的一个组合的网格搜索指标。请记住,网格搜索的目标是选择具有最佳性能指标的参数组合。这就是 cv_results_ 的目的。

您应该有一个名为 param_max_depth 的列,另一个名为 param_min_samples_leaf 的列引用每一行的参数值。两者的组合在 params 列中总结为字典。

现在来看指标。到目前为止,return_train_score 的默认值为 True,但他们将在 0.21 版本中将其更改为 False。如果您想要列车指标,请将其设置为 True。但通常,您感兴趣的是测试指标。

主列是mean_test_score。这是 split_0_test_score、split_1_test_score、split_2_test_score 列的平均值(因为您在网格搜索中进行了 3 倍拆分)。如果您执行 DTC_Bow.best_score_,这将返回 mean_test_score 列的最大值。 rank_test_score 列按 mean_test_score 的值对所有参数组合进行排名。

您可能还想查看 std_test_score,它是 split_0_test_score、split_1_test_score、split_2_test_score 的标准差。如果您想了解您的参数集对保留数据的执行情况有多一致,这可能会很有趣。

如前所述,如果您设置了 return_train_score = True,您也可以在训练集上设置指标。

最后,还有时间列,告诉您每一行花费了多少时间。它衡量训练模型(mean_fit_time, std_fit_time)和评估模型(mean_score_time, std_score_time)所花费的时间。这仅供引用,通常情况下,除非时间是瓶颈,否则您不会真正查看这些指标。

关于python - 什么是 Gridsearch.cv_results_ ,是否可以解释其中的所有内容,即 mean_test_score 等?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54608088/

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