R神经网络 - 虹膜数据集混淆矩阵

时间:2015-04-07 22:26:23

标签: r

我不知道如何计算以下内容: 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'的原子   你有没有在名单上打电话给'排序'?

1 个答案:

答案 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           

[...]