使用RSNNS混淆矩阵的MLP返回“错误:`data`和`reference`应该是具有相同水平的因子”

问题描述

当我运行此代码时:

data(iris)

#shuffle the vector
iris <- iris[sample(1:nrow(iris),length(1:nrow(iris))),1:ncol(iris)]

irisValues <- iris[,1:4]
irisTargets <- decodeClassLabels(iris[,5])
#irisTargets <- decodeClassLabels(iris[,5],valTrue=0.9,valFalse=0.1)

iris <- splitForTrainingAndTest(irisValues,irisTargets,ratio=0.15)
iris <- normTrainingAndTestSet(iris)

model <- mlp(iris$inputsTrain,iris$targetsTrain,size=5,learnFuncParams=c(0.1),maxit=50,inputsTest=iris$inputsTest,targetsTest=iris$targetsTest)

summary(model)
model
weightMatrix(model)
extractNetInfo(model)

par(mfrow=c(2,2))
plotIterativeError(model)

predictions <- predict(model,iris$inputsTest)

plotRegressionError(predictions[,2],iris$targetsTest[,2])

confusionMatrix(iris$targetsTrain,fitted.values(model))
confusionMatrix(iris$targetsTest,predictions)

混淆矩阵返回错误错误:数据和参考应该是具有相同水平的因子。

我怀疑这是由于预测和iris $ targets是num [1:number,1:3]。

我尝试了很多事情,但不确定如何解决这个问题。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)