【问题标题】:Random Forest, SVM and Multinomial Logistic Regression with R使用 R 的随机森林、SVM 和多项 Logistic 回归
【发布时间】:2020-03-31 00:17:45
【问题描述】:

我对 r 或任何类型的编码几乎一无所知。我正在上一门需要使用 r 分析数据的课程。我的最终项目是从智能手表下载和划分加速度计数据。我已经成功地做到了。然后我必须运行四个模型,如决策树、随机森林、多项逻辑回归和 SMV。我只是让决策树工作。

这个文件太大了,有 350 万个观察值,我不得不选择一小部分数据才能让它在不超时的情况下运行。我的数据是train1。变量 'gt' 可以是 walk、sit、stand、stairup、stairsdown、Null 和 bike。我把它作为一个因素并将其称为“gtF”删除“索引”“模型”和“设备”。错误在代码下方。

任何人都可以就我做错了什么提供建议吗?请像向孩子解释一样解释它,因为我是一个非常基本的初学者。

我还包含了 SVM 和多项 Logistic 回归的代码和错误。

我的导师说某些错误消息表明缺少数据。我运行鼠标并收到一条消息,说所有数据都在那里。

随机森林

library(randomForest)
rf <- randomForest(gtF~ .-Index - Model -Device -gt,data=train1,
                   ntree = 300,
                   mtry = 8,
                   importance = TRUE,
                   proximity = TRUE)
print(rf)
attributes(rf)

randomForest.default(m, y, ...) 中的错误:外部函数调用中的 NA/NaN/Inf (arg 1)

支持向量机

library(e1071)
mymodel <- svm(gtF~ .-Index -Model -Device -gt, data = train1)
summary(mymodel)
plot(mymodel, data = train1,
     gt~x)

contrasts&lt;-(*tmp*, value = contr.funs[1 + isOF[nn]]) 中的错误:对比只能应用于具有 2 个或更多级别的因子

多项逻辑回归

library(nnet)
mymodel <- multinom(out~.-Index -Model -Device -gt -gtF,data=train1)
summary(mymodel)

contrasts&lt;-(*tmp*, value = contr.funs[1 + isOF[nn]]) 中的错误:对比只能应用于具有 2 个或更多级别的因子

谢谢!

【问题讨论】:

    标签: r


    【解决方案1】:

    对于第一个错误:

    你的训练集中一定有一些特征是“char”类的。

    请检查:

    > a <- c("1", "2",letters[1:5], "3")
    > as.numeric(a)
    [1]  1  2 NA NA NA NA NA  3
    Warning message:
    NAs introduced by coercion 
    

    对于第二个和第三个错误:

    看看下面的链接:

    Error in contrasts when defining a linear model in R

    【讨论】:

      猜你喜欢
      • 2020-03-08
      • 2022-11-11
      • 2019-12-06
      • 2016-04-24
      • 2014-08-11
      • 2021-12-31
      • 2019-12-05
      • 2018-06-24
      • 1970-01-01
      相关资源
      最近更新 更多