如何使用R中的受限玻尔兹曼机(RBM)计算我的数据集中的准确性?

时间:2019-04-25 05:20:04

标签: r rbm

我想使用Restricted计算我的数据集的准确性 R中的Boltzman Machine(RBM)。我从 Github; Timo Matzen为了与我的代码一起使用 自己的数据集。我在训练和测试数据集方面取得了成功。 但是,当我运行 R中的PredictRBM函数。我不知道获取该错误是什么错误 准确性。我训练和测试的行数和列数 数据集已经相同。

我为CSV文件创建了trainX.csv,trainY.csv, testX.csv,testY.csv并将其上传到我的R编码中。所有数据集 具有相同数量的列和行。然后,我训练并测试所有 从以下位置安装的软件包中使用RBM方法分析数据集CSV文件 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

0 个答案:

没有答案