gpt4 book ai didi

julia - Machine 中 X 的 scitype 与模型不兼容

转载 作者:行者123 更新时间:2023-12-05 06:50:38 24 4
gpt4 key购买 nike

我正在尝试使用 MLJ 使用随机森林分类器训练一些数据。为了做到这一点,我将强制我的分类变量为Multiclass(scitype),并将连续特征为Continuous。 (我还将目标变量 scitype 更改为 Multiclass)

 MLJ.schema(X)

enter image description here

然而,当我构造机器对象时,我收到以下警告,

 mach = machine(forest, X,y)

┌ Warning: The scitype of `X`, in `machine(model, X, ...)` is incompatible
with `model=RandomForestClassifier @695`:
│ scitype(X) = Table{Union{AbstractArray{Continuous,1},
AbstractArray{Multiclass{8},1}, AbstractArray{Multiclass{3},1},
AbstractArray{Multiclass{14},1}, AbstractArray{Multiclass{7},1},
AbstractArray{Multiclass{12},1}}}
│ input_scitype(model) = Table{var"#s45"} where var"#s45"
<:Union{AbstractArray{var"#s13",1} where var"#s13"<:Count,
AbstractArray{var"#s13",1} where var"#s13"<:OrderedFactor,
AbstractArray{var"#s13",1} where var"#s13"<:Continuous}.

当我拟合模型时紧随其后的是这个TaskFailedExceptionError

trainRows, testRows = partition(eachindex(y),0.7, shuffle = true)
MLJ.fit(mach, rows = trainRows)

我仅使用 Continuous 特征测试了该模型,它运行良好。所以分类变量(使用 scitype Muticlass)有些不正确,但不能完全弄清楚它是什么。知道我做错了什么吗?

最佳答案

MLJDecisionTreeInterface不支持 Multiclass scitype。 GitHub:

Inputs are tables with ordinal columns. That is, the element scitype
of each column can be `Continuous`, `Count` or `OrderedFactor`.

一种可能的解决方案是将表的分类列扩展为单热编码列,如 this forum post .

关于julia - Machine 中 X 的 scitype 与模型不兼容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66365311/

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