Как рассчитать точность в моем наборе данных с помощью Restricted Boltzman Machine (RBM) в R? - PullRequest
0 голосов
/ 25 апреля 2019

Я хочу рассчитать точность моего набора данных, используя Restricted Boltzman Machine (RBM) в R. Я установил пакеты rbm из Github;Тимо Матцен, чтобы использовать пакет в моем кодировании с моим собственным набором данных.У меня есть успехи в обучении и тестировании моего набора данных.Тем не менее, я не могу рассчитать точность rbm, когда я запускаю функцию PredictRBM в R. Я не знаю, в чем заключается ошибка для получения точности.Количество строк и столбцов для набора данных train и test уже одинаково.

Я создал для CSV-файлов: trainX.csv, trainY.csv, testX.csv, testY.csv и загрузил его вмой код RВсе наборы данных имеют одинаковое количество столбцов и строк.Затем я обучил и протестировал все файлы CSV набора данных с использованием метода RBM в пакетах, установленных с GitHub.Поезд и тестовый набор данных успешно запущены.Однако, когда я попытался запустить функцию PredictRBM, возникла ошибка, которая может относиться к столбцам i и j в наборе данных.Поэтому я не смог рассчитать точность набора данных с использованием метода RBM.

#First install devtools 
install.packages("devtools")
#Load devtools 
library(devtools)
#install RBM 
install_github("TimoMatzen/RBM",force = TRUE)
#load RBM 
library(RBM)

trainX <- read.csv('C:\\Users\\DefaultUser.DESKTOP-9JB0E7L\\Desktop\\project R\\trainX.csv') 
trainY <-read.csv('C:\\Users\\Default User.DESKTOP-9JB0E7L\\Desktop\\projectR\\trainY.csv') 
testX <- read.csv('C:\\Users\\DefaultUser.DESKTOP-9JB0E7L\\Desktop\\project R\\testX.csv') 
testY <-read.csv('C:\\Users\\Default User.DESKTOP-9JB0E7L\\Desktop\\projectR\\testY.csv')

attrainX <- as.matrix(trainX) 
attrainY <- as.matrix(trainY) 
atestX <-as.matrix(testX) 
atestY <- as.matrix(testY)

#First get the train data from trainX 
train <- attrainX
#Then fit the model 
modelRBM <- RBM(x = train, n.iter = 1000, n.hidden = 100, size.minibatch = 10)
#Get the test data from testX 
test <- atestX
#First get the train labels of trainY 
TrainY <- attrainY
#This time we add the labels as the y argument 
modelClassRBM <- RBM(x = train, y = TrainY , n.iter = 1000, n.hidden = 100, size.minibatch = 10)
#First get the test labels of testY 
TestY <- atestY
#Give our ClassRBM model as input 
PredictRBM(test = test, labels = TestY, model = modelClassRBM)

Я ожидаю получить точность набора данных с использованием метода RBM с использованием функции PredictRBM: PredictRBM(test = test, labels = TestY, model = modelClassRBM) Однако есть ошибка, которая:

#Give our ClassRBM model as input  
PredictRBM(test = test, labels = TestY, model = modelClassRBM)
Error in `[<-`(`*tmp*`, , 12, value =0): subscript out of bounds '''

Знаете ли вы, почему появляются эти ошибки?Заранее спасибо.

Это мой вывод, если в нем нет ошибки This is my output if it does not have error

...