【问题标题】:Error in neuralnet package with setpmax and threshold具有 setpmax 和阈值的神经网络包中的错误
【发布时间】:2020-02-18 17:36:04
【问题描述】:

我正在尝试用neuralnet 包在R 中安装一个神经网络,但遇到了一些问题:

在 while (step 阈值) 中出错 { : 需要 TRUE/FALSE 的缺失值

到目前为止我正在尝试这个:

n <- names(training)
formula.rna <- as.formula(paste('ID_MAU ~', paste(n[!n %in% 'ID_MAU'], collapse = ' + ')))

> formula.rna
ID_MAU ~ CD_POR + CL_1_LI + CL_1_LC + CL_1_LS + CL_1_LG + CL_1_ET + 
    CL_1_CD + CL_1_EFCP + CL_1_EFLP + CL_1_GEFCP + CL_1_GICP + 
    CL_1_ROE + CL_1_ROI + CL_1_MB + CL_1_MO + CL_1_ML + CL_1_LPA + 
    CL_1_PD + CL_1_MOD_ELI + CL_1_MOD_KAN + X1 + X2 + X3 + X4 + 
    X5 + X6 + X7 + X8 + X9 + X10 + X11 + X12 + X13 + X14 + X15 + 
    X16 + X17 + X20 + X21 + X22 + X23
# ANN
training$ID_MAU <- factor(training$ID_MAU)
set.seed(016238)
fit.rna <- neuralnet(formula.rna,
                     , data=training
                     , hidden=7
                     , linear.output = F
                     , threshold=0.01
                     , stepmax=1e6
                     , rep = 2
)

谁能帮我解释一下为什么会这样?

【问题讨论】:

  • 请查看summary (data)。我认为您的数据包含缺失值。
  • neuralnet 不适用于数据中的 NA,请先使用 na.omit() 过滤您的数据集。可以参考这个stackoverflow.com/questions/31021508/…
  • 我的df中没有缺失值,我用na.omit()进行过滤,但得到同样的错误。
  • NA 和 Inf 的行为方式几乎相同。
  • 好的,谢谢!检查summary(training)后我可以解决它!

标签: r machine-learning neural-network


【解决方案1】:

我能够通过删除具有-Inf 值的变量来解决问题:

summary(training$X21)

Min. 1st Qu.  Median   Mean  3rd Qu.    Max. 
-Inf -2.7411 -1.7210   -Inf  -0.7679  1.6921 

【讨论】:

    猜你喜欢
    • 2018-10-27
    • 1970-01-01
    • 1970-01-01
    • 2018-05-30
    • 2012-09-06
    • 2013-03-16
    • 1970-01-01
    • 2017-11-20
    • 1970-01-01
    相关资源
    最近更新 更多