在线培训sklearn.neural_network.BernoulliRBM?

时间:2013-10-29 17:48:23

标签: python bigdata scikit-learn

我想知道我们是否可以使用fit()方法sklearn.neural_network.BernoulliRBM来进行在线培训。

据我所知,RBM将微型游戏作为输入,但我没有加载所有训练数据:

我想知道是否可以做这样的事情:

// X_train,Y_train大型ndarrays,包含25000行和50000列,并不一定稀疏:它们尚未加载。它们一次只能访问一个小批量(我的定义中的小批量是一个包含100行和50000列的矩阵))

batchSize=100
nIterations=25000/100
idx1=0
idx2=batchSize
for i in range(nIterations):

    rbm = BernoulliRBM(batch_size=100,random_state=0, verbose=True)
    rbm.fit(X_train[idx1:idx2], learning_rate=0.1, n_components=2, n_iter=10,
    random_state=None, verbose=False)
    idx1=idx1+batchSize
    idx2=idx2+batchSize

//完成所有培训后:

idx1=0
idx2=batchSize
for i in range(nIterations):

rbm.transform(X_train[idx1:idx2])
idx1=idx1+batchSize
idx2=idx2+batchSize

我对数据科学和编程的一般知识并不是那么好。我已经坚持了几个星期,并且想知道我是否能解决它。

1 个答案:

答案 0 :(得分:1)

BernoulliRBM课程尚未提供增量学习的公共API。有一个开放的issue here