gpt4 book ai didi

r - 在 nnet R 中对具有 2 个以上状态的目标列使用 softmax

转载 作者:行者123 更新时间:2023-12-04 04:35:02 26 4
gpt4 key购买 nike

我正在使用 nnet 包对具有 3 个状态的目标列进行分类

model <- nnet(targetcolumn ~ ., data=DATAFRAME)

但我希望它使用熵而不是默认的 softmax,当我设置 softmax=false 时,它​​失败并显示错误:

model <- nnet(targetcolumn ~ ., data=DATAFRAME, maxit=1000, MaxNWts=10000,softmax=FALSE, entropy=TRUE)

Error in nnet.default(x, y, w, softmax = false, ...) :
formal argument "softmax" matched by multiple actual arguments

有没有办法在这种情况下以某种方式使用熵建模?

最佳答案

# because you've got a classification problem it is imperative that
softmax=TRUE

#to calculate the entropy
entropy=TRUE

但在这 2 个一起工作之前,您有必要将 Y (0 1 2 ...) 转换为虚拟变量矩阵。这是通过以下方式完成的:

dataframe$Y = class.ind(dataframe$targetcolumn)

# delete the old target variable
dataframe$targetcolumn=NULL

# and now you can start creating your ANN
nnet1 = nnet (Y~., dataframe, size=..., decay=..., entropy=TRUE, softmax=TRUE)

关于r - 在 nnet R 中对具有 2 个以上状态的目标列使用 softmax,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19870594/

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