我想在
pycaret
中添加指标 F2 分数,但当我运行 F2 列为 0 时它不起作用,但我尝试不使用 pycaret
并且它有效。
from sklearn.metrics import make_scorer, fbeta_score
def f2_score(y_true, y_pred):
return fbeta_score(y_true, y_pred, beta=2)
f2_scorer = make_scorer(f2_score, greater_is_better=True)
clf1 = setup(df, target= target_column, train_size=0.8, fold=5)
add_metric('lol', 'AUPRC', average_precision_score, target='pred_proba')
add_metric('fbeta', 'F2', f2_score, target='pred_proba')
best = compare_models(include=\['rf', 'xgboost'\], fold=5)
在 PyCaret 中使用 add_metric() 添加指标“f1-macro”时,我遇到了同样的问题。我的代码如下:
def my_f1(y_true, y_pred):
return f1_score(y_true, y_pred, average='macro', )
my_f1 = make_scorer(my_f1, greater_is_better=True)
add_metric('f1_macro', 'F1-Macro', my_f1)
best = s.compare_models(sort='f1-macro', n_select=3)
它返回“AttributeError:'_Scorer'对象没有属性'name'”