gpt4 book ai didi

python - GridSearch 'UndefinedMetricWarning' 和错误结果

转载 作者:太空宇宙 更新时间:2023-11-03 14:26:42 26 4
gpt4 key购买 nike

我创建了一个简单的脚本来对随机森林分类器应用网格搜索,虽然我过去使用过它,但它现在似乎被破坏了,我找不到原因。

from sklearn.ensemble import RandomForestClassifier
from sklearn.model_selection import GridSearchCV

rfc = RandomForestClassifier(n_estimators=100, n_jobs=-1).fit(X, y)


grid_values = {'criterion':['gini','entropy'], 'max_features':['log2', 5, 10, 15, 20, 25], 'max_depth':[None, 5, 10, 15, 20],
'min_samples_split':[2, 3],'n_jobs':[-1], 'class_weight': [{0 : 1., 1: 30.}, {0 : 1., 1: 50.}, {0 : 1., 1: 100.}]}

for eval_metric in ('precision', 'accuracy'):
rfc_custom = GridSearchCV(rfc, param_grid=grid_values, scoring=eval_metric)
rfc_custom.fit(X_train, y_train)
rfc_custom.best_params_
print('Grid best parameter (max. {0}): {1}'
.format(eval_metric, rfc_custom.best_params_))
print('Grid best score ({0}): {1}'
.format(eval_metric, rfc_custom.best_score_))

当我运行此命令时,我收到以下警告:UndefinedMetricWarning:精度定义不明确,由于没有预测样本而被设置为 0.0。

在线搜索,我添加了此代码,警告停止了:

import warnings
import sklearn.exception

warnings.filterwarnings("ignore",category=sklearn.exceptions.UndefinedMetricWarning)

运行算法后,我得到的精度为 0.0

由于我收到警告,这正常吗?我可能错过了什么吗?

最佳答案

我认为在某些 CV 条件下没有 TP 和 FP 样本,因此 GridSearchCV 内部发生了零 split 。如果验证数据没有标签数据,或者所有样本都以某种方式错误地分类到其他样本中,就会发生这种情况。

备注:精度的定义为(TP)/(TP+FP),其中TP为真阳性,FP为假阳性。

关于python - GridSearch 'UndefinedMetricWarning' 和错误结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47593729/

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