def classify(self,X): transformed = self.first_pipeline.transform(X) transformed = np.concatenate((transformed,[[0]*10]*len(transformed)),axis=1) # The inverse of rbm_3 to go from hidden layer to visible layer rbm_aux = BernoulliRBM() rbm_aux.intercept_hidden_ = self.rbm_3.intercept_visible_ rbm_aux.intercept_visible_ = self.rbm_3.intercept_hidden_ rbm_aux.components_ = np.transpose(self.rbm_3.components_) results = rbm_aux.transform(self.rbm_3.transform(transformed)) results = results[:,-10:] return np.argmax(results,axis=1)
def classify(self, X): transformed = self.first_pipeline.transform(X) transformed = np.concatenate( (transformed, [[0] * 10] * len(transformed)), axis=1) # The inverse of rbm_3 to go from hidden layer to visible layer rbm_aux = BernoulliRBM() rbm_aux.intercept_hidden_ = self.rbm_3.intercept_visible_ rbm_aux.intercept_visible_ = self.rbm_3.intercept_hidden_ rbm_aux.components_ = np.transpose(self.rbm_3.components_) results = rbm_aux.transform(self.rbm_3.transform(transformed)) results = results[:, -10:] return np.argmax(results, axis=1)
def get_likelihood(data, W, vb, hb): rbm = BernoulliRBM(n_components=W.shape[1]) rbm.components_ = W.T rbm.intercept_hidden_ = hb rbm.intercept_visible_ = vb return rbm.score_samples(data).mean()