【问题标题】:Machine Learning: predicting a new value in R机器学习:预测 R 中的新值
【发布时间】:2018-10-02 13:31:21
【问题描述】:

只需遵循 ML 教程 (https://machinelearningmastery.com/machine-learning-in-r-step-by-step/)。我正在尝试预测单个向量上的单个输出。

我正在使用 IRIS 数据集,并尝试使用 LDA 算法进行预测。 我正在尝试使用我的 nval 向量 (c(4.3,3.1,1.5,0.1) 来预测单个结果,它是什么物种?

fit.lda <- train(Species~., data=dataset, method="lda", metric=metric, 
trControl=control)
predictions <- predict(fit.lda, validation)

正如预期的那样,这给出了常规输出。

predict(fit.lda, nval)

给我:

警告信息: 'newdata' 有 4 行,但找到的变量有 120 行

帮助:)

【问题讨论】:

    标签: r machine-learning


    【解决方案1】:
    library(caret)
    control <- trainControl(method="cv", number=10)
    metric <- "Accuracy"
    
    validation_index <- createDataPartition(iris$Species, p=0.80, list=FALSE)
    validation <- iris[-validation_index,]
    dataset <- iris[validation_index,]  
    
    fit.lda <- train(Species~., data=dataset, method="lda", metric=metric, 
                     trControl=control)
    

    您需要将nval定义为一个数据框,其列命名为iris

    nval <- data.frame(4.3, 3.1, 1.5, 0.1)
    names(nval) <- names(iris)[1:4]
    predict(fit.lda, nval)
    
    # [1] setosa
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-03-16
      • 2011-10-04
      • 2018-08-23
      • 1970-01-01
      • 2017-04-21
      • 2017-05-03
      • 1970-01-01
      相关资源
      最近更新 更多