如何在这种情况下制作混淆矩阵?

library(h2o)h2o.init(nthreads=-1)test <- h2o.importFile(path = "C:/Users/AkshayJ/Documents/newapril/data/testdata.csv")train <- h2o.importFile(path = "C:/Users/AkshayJ/Documents/newapril/data/traindata.csv")y <- "Label"train[,y] <- as.factor(train[,y])test[,y] <- as.factor(test[,y])train[,"Allele1Top"] <- as.factor(train[,"Allele1Top"])test[,"Allele1Top"] <- as.factor(test[,"Allele1Top"])train[,"Allele2Top"] <- as.factor(train[,"Allele2Top"])test[,"Allele2Top"] <- as.factor(test[,"Allele2Top"])train[,"Allele1Forward"] <- as.factor(train[,"Allele1Forward"])test[,"Allele1Forward"] <- as.factor(test[,"Allele1Forward"])train[,"Allele2Forward"] <- as.factor(train[,"Allele2Forward"])test[,"Allele2Forward"] <- as.factor(test[,"Allele2Forward"])train[,"Allele1AB"] <- as.factor(train[,"Allele1AB"])test[,"Allele1AB"] <- as.factor(test[,"Allele1AB"])train[,"Allele2AB"] <- as.factor(train[,"Allele2AB"])test[,"Allele2AB"] <- as.factor(test[,"Allele2AB"])train[,"Chr"] <- as.factor(train[,"Chr"])test[,"Chr"] <- as.factor(test[,"Chr"])train[,"SNP"] <- as.factor(train[,"SNP"])test[,"SNP"] <- as.factor(test[,"SNP"])x <- setdiff(names(train),y)model <- h2o.deeplearning(x = x,y = y,training_frame = train,validation_frame = test,distribution = "multinomial",activation = "RectifierWithDropout",hidden = c(32,32,32),input_dropout_ratio = 0.2,sparse = TRUE,l1 = 1e-5,epochs = 10)predic <- h2o.predict(model, newdata = test)table(pred=predic, true = test[,21])

一切正常,但最后一行table(pred=predic, true = test[,21])出现了错误Error in unique.default(x, nmax = nmax) : invalid type/length (environment/0) in vector allocation


回答:

使用函数h2o.confusionMatrix()来获取混淆矩阵。简单的方法是提供模型和您想要分析的数据:

h2o.confusionMatrix(model, test)

如果查看?h2o.confusionMatrix,您会发现它也可以接受一个H2OModelMetrics对象。您可以通过调用h2o.performance()来获取这样的对象:

p = h2o.performance(model, test)h2o.confusionMatrix(p)

我推荐第二种方法,因为p对象包含了关于模型表现的其他有用信息。

注意:无论哪种方法,您都没有使用您的预测。基本上:

  • h2o.performance如果您想分析模型的质量。
  • h2o.predict如果您想获取实际的预测结果。

Related Posts

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注