机器学习:预测R中的新值

时间:2018-04-22 11:07:32

标签: r machine-learning

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

我正在使用IRIS数据集,并尝试使用LDA Algorythm进行预测。 我试图使用我的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)

给我:

警告讯息: &#39; newdata&#39;有4行,但找到的变量有120行

帮助:)

1 个答案:

答案 0 :(得分: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