请原谅我的无知,因为我正在学习模型背后的理论,在这种情况下是神经网络。我尝试使用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")