我尝试在R studio中运行我的编码,但无法产生准确性结果。您可以使用RBM方法为R Studio中的大型数据集中的预测精度的编码示例提供帮助吗?我的预期输出:1但是,下面的编码在使用RBM方法预测数据集的准确性方面存在一些错误。
install.packages("devtools")
# Load devtools library(devtools)
# install RBM install_github("TimoMatzen/RBM")
# load RBM library(RBM)
Wednesdaydataset <- read.csv('C:\\Users\\FSKKP\\Desktop\\R iqa\\dataset20181220T065754Z-001\\dataset\\Wednesday-workingHours.pcap_ISCX.csv')
Wednesdaydataset
class(Wednesdaydataset)
str(Wednesdaydataset)
Wednesdaydataset <-as.matrix(Wednesdaydataset)
Wednesdaydataset <-cbind(Wednesdaydataset)
class(Wednesdaydataset)
str(Wednesdaydataset)
view(Wednesdaydataset)
set.seed(1234)
ind<-sample(2,nrow(Wednesdaydataset),replace = TRUE,prob=c(0.7,0.30))
train.data<-Wednesdaydataset [ind==1,]
test.data<-Wednesdaydataset [ind==2,]
# First get the train data from train.data
train <- train.data$Active.Min
# Then fit the model
modelRBM <- RBM(x = train, n.iter = 1000, n.hidden = 100, size.minibatch = 10)
# First get the train labels of test.data
test <- test.data$Active.Min
# This time we add the labels as the y argument
modelClassRBM <- RBM(x = train, y = test, n.iter = 1000, n.hidden = 100, size.minibatch = 10)
# First get the test labels of test.data
test <- test.data$Active.Min
# Give our ClassRBM model as input
PredictRBM(test = test, labels = test, model = modelClassRBM)
答案 0 :(得分:0)
您只需将对角线相加并将其除以总和即可:
# Some lables (like your outputs from RBM)
lab_true <- c("a", "a", "a", "b", "c")
lab_pred <- c("a", "b", "c", "b", "a")
# Making them into a confusion matrix
confusion_matrix <- table(lab_true, lab_pred)
# Calculating overall precision
overall_precision <- sum(diag(confusion_matrix))/sum(confusion_matrix)