我不知道如何计算以下内容: 1.它预测了哪30个元素? 2.我无法让ConfusionMatrix工作。
任何帮助表示赞赏。谢谢。
library(nnet)
attach(iris)
library(caret)
set.seed(3456)
trainIndex <- createDataPartition(iris$Species, p = .8,
list = F,
times = 1)
irisTrain <- iris[ trainIndex,]
irisTest <- iris[-trainIndex,]
irispred <- nnet(Species ~ ., data=irisTrain, size=10)
predicted <- predict(irispred,irisTest,type="class")
输出:
预测&lt; - 预测(irispred,irisTest,type =“class”)
预测 [1]“setosa”“setosa”“setosa”“setosa”“setosa”“setosa”“setosa”
[8]“setosa”“setosa”“setosa”“versicolor”“versicolor”“versicolor”“versicolor” [15]“versicolor”“versicolor”“virginica”“versicolor”“versicolor”“versicolor”“virginica” [22]“virginica”“virginica”“virginica”“virginica”“virginica”“virginica”“virginica” [29]“virginica”“virginica”
混淆矩阵错误,不确定第二个参数应该是什么:
confusionMatrix(预测,虹膜$物种) 表中的错误(数据,引用,dnn = dnn,...): 所有参数必须具有相同的长度
confusionMatrix(预测,irisTest,正= 1) sort.list(y)出错:'x'必须是'sort.list'的原子 你有没有在名单上打电话'排序'? confusionMatrix(预测,虹膜,阳性= 1) sort.list(y)出错:'x'必须是'sort.list'的原子 你有没有在名单上打电话给'排序'?
答案 0 :(得分:1)
第二个参数应该是irisTest$Species
中的引用类。 irisTest
是包含所有其他列的完整测试数据,iris$Species
是整个数据的种类,而不仅仅是测试集。
> confusionMatrix(data = predicted, reference = irisTest$Species)
Confusion Matrix and Statistics
Reference
Prediction setosa versicolor virginica
setosa 10 0 0
versicolor 0 9 0
virginica 0 1 10
Overall Statistics
Accuracy : 0.9667
[...]