gpt4 book ai didi

machine-learning - 使用 evaluate!() 时的 MLJ 预测类型确定性错误

转载 作者:行者123 更新时间:2023-12-04 03:41:33 25 4
gpt4 key购买 nike

我在从 MLJ 运行 evaluate!() 命令时遇到问题。我正在使用多项式朴素贝叶斯分类器对一堆推文中的情绪进行分类。当我像这样运行单个案例时,它运行一切正常,

using MLJ

X = coerce(wordCountVec,Count)
y = coerce(data.sentiment_labels, Multiclass)
train_idx,test_idx = partition(eachindex(y), 0.7,shuffle = true)

nb_m = @load MultinomialNBClassifier pkg = "NaiveBayes"
mach = machine(nb_m,X,y)
MLJ.fit!(mach, rows = train_idx)

yhat = MLJ.predict_mode(mach, rows = test_idx)
micro_f1score(yhat,y[test_idx])

#out > 0.68

但是当我尝试使用 evaluate!() 来使用交叉验证时

evaluate!(
mach,
resampling = CV(nfolds = 3),
measure = micro_f1score
)

出现以下错误

ArgumentError:

[34mMultinomialNBClassifier @358[39m <: Probabilistic but prediction_type([34mMulticlassFScore{Float64,…} @139[39m) = :deterministic.

To override measure checks, set check_measure=false.

我要在这里猜测一下,这可能是因为当我在第一种情况下进行预测时(不使用 evaluate!()),我使用 predict_mode 而不是而不是 predict,所以我最终得到的是确定性值而不是概率。在使用 evaluate() 函数时我能做些什么来解决这个问题,或者这是其他错误吗?

最佳答案

您可以指定 operation 参数给 evaluate!,像这样:

evaluate!(
mach,
resampling = CV(nfolds = 3),
measure = micro_f1score,
operation = predict_mode
)

关于machine-learning - 使用 evaluate!() 时的 MLJ 预测类型确定性错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65937483/

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