只需遵循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行
帮助:)
答案 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