r - 不相容数组的突变

标签 r machine-learning artificial-intelligence data-science

library(boot)
install.packages("AMORE")
library(AMORE)

l.data=nrow(melanoma)
set.seed(5)
idxTrain<-sample(1:l.data,100)
idxTest<-setdiff(1:l.data,idxTrain)

set.seed(3)

net<-newff(n.neurons=c(6,6,3),
        learning.rate.global=0.02,
        momentum.global=0.5,
        hidden.layer="sigmoid",
        output.layer="purelin",
        method="ADAPTgdwm",
        error.criterium="LMS")

result<-train(net,
         melanoma[idxTrain,-2],
         melanoma$status,
         error.criterium="LMS",
         report=TRUE,
         show.step=10,
         n.shows=800)

我遇到的问题是结果有错误:“目标 - 不合格数组”。 我知道这是 melanoma$status 的问题,但不知道如何相应地更改数据。有任何想法吗?几个数据示例(如果您不使用 Rstudio 的引导包)。 黑色素瘤:

        time status sex  age year thickness ulcer
    1     10      3   1   76 1972      6.76     1
    2     30      3   1   56 1968      0.65     0
    3     35      2   1   41 1977      1.34     0
    4     99      3   0   71 1968      2.90     0
    5    185      1   1   52 1965     12.08     1

最佳答案

您的目标变量首先应仅采用训练索引。此外,目标的列数应等于类的数量 - 使用 one-hot 编码。像这样的事情:

net<-newff(n.neurons=c(6,6,3),
       learning.rate.global=0.02,
       momentum.global=0.5,
       hidden.layer="sigmoid",
       output.layer="purelin",
       method="ADAPTgdwm",
       error.criterium="LMS")

Target = matrix(data=0, nrow=length(idxTrain), ncol=3)
status_mat=matrix(nrow=length(idxTrain), ncol=2)
status_mat[,1] = c(1:length(idxTrain))
status_mat[,2] = melanoma$status[idxTrain]

Target[(status_mat[,2]-1)*length(idxTrain)+status_mat[,1]]=1

result<-train(net,
          melanoma[idxTrain,-2],
          Target,
          error.criterium="LMS",
          report=TRUE,
          show.step=10,
          n.shows=800)

关于r - 不相容数组的突变,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58256415/

相关文章:

r - ggplot : Save multiple plots in one pdf with the same plot proportions

r - 在 R 中计算分类变量的组合,无论顺序如何?

r - 在向量中查找以前的相同值并应用某些条件

machine-learning - Keras 的 Tokenizer 与 sklearn 的 CountVectorizer

php - 使用 Python 进行基于规则的人工智能过滤

artificial-intelligence - 神经网络是否只能解决具有 0..1 个输入值和 0..1 个预期输出值的问题?

r - 在 R 函数中调用 predict()

python - libsvm的grid.py输出错误

python - MultinomialNB - 理论与实践

artificial-intelligence - 马尔可夫链聊天机器人如何工作?