将神经网络概率转换为r中的预测



请原谅我的无知,因为我正在学习模型背后的理论,在这种情况下是神经网络。我尝试使用library(nnet) library(NeuralNetTools)包来训练一个模型。

例如,如果我的代码是:

#training model on training dataset
nnet_model <- nnet(Morphology~. ,size=10,data=morph_scaled_train, maxit=1500)
#generating predictions
nnet_prediction_prob <- predict(nnet_model,morph_test)

以数字的形式给出预测输出。例如

Blue           Red           Green       Yellow
1   1.020685e-180  1.000000e+00 4.496185e-255 4.079526e-254
2   1.020685e-180  1.000000e+00 4.496185e-255 4.079526e-254
3   1.020685e-180  1.000000e+00 4.496185e-255 4.079526e-254

我如何将其转换为因子,例如,第1行是红色,第2行是蓝色…给出总体预测。当我对其他模型使用预测函数时,例如随机森林,逻辑回归,它给出了整体预测而不是数字,这是我对nnets的期望。这可能吗?或者只是模型的工作方式这是无法解释的。谢谢!

使用max.col:

colnames(nnet_prediction_prob)[max.col(nnet_prediction_prob)]
[1] "Red" "Red" "Red"

您可以在predict函数中添加type = "class"以获得类名。你没有提供任何数据,所以我使用iris数据,如

library(nnet) 
library(NeuralNetTools)
#training model on training dataset
nnet_model <- nnet(Species~. ,size=10,data=iris, maxit=1500)
#generating predictions
nnet_prediction <- predict(nnet_model, iris, type = "class")

相关内容

  • 没有找到相关文章

最新更新