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

只需按照一个机器学习教程(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行

求助 🙂


回答:

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

Related Posts

L1-L2正则化的不同系数

我想对网络的权重同时应用L1和L2正则化。然而,我找不…

使用scikit-learn的无监督方法将列表分类成不同组别,有没有办法?

我有一系列实例,每个实例都有一份列表,代表它所遵循的不…

f1_score metric in lightgbm

我想使用自定义指标f1_score来训练一个lgb模型…

通过相关系数矩阵进行特征选择

我在测试不同的算法时,如逻辑回归、高斯朴素贝叶斯、随机…

可以将机器学习库用于流式输入和输出吗?

已关闭。此问题需要更加聚焦。目前不接受回答。 想要改进…

在TensorFlow中,queue.dequeue_up_to()方法的用途是什么?

我对这个方法感到非常困惑,特别是当我发现这个令人费解的…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注