我想在scikit使用RBM。我可以定义和培养像许多其他分类器RBM。
from sklearn.neural_network import BernoulliRBM
clf = BernoulliRBM(random_state=0, verbose=True)
clf.fit(X_train, y_train)
但我似乎无法找到一个功能,这让我的预测。我在寻找一个相当于在scikit以下步骤之一。
y_score = clf.decision_function(X_test)
y_score = clf.predict(X_test)
既不功能存在于BernoulliRBM。
该BernoulliRBM是一种无监督的方法,所以你将不能够做到clf.fit(X_train, y_train)
而是clf.fit(X_train)
。它主要用于非线性特征提取可以馈送到分类器。它是这样的:
logistic = linear_model.LogisticRegression()
rbm = BernoulliRBM(random_state=0, verbose=True)
classifier = Pipeline(steps=[('rbm', rbm), ('logistic', logistic)])
因此,通过RBM提取的特征传递到逻辑回归模型。就拿一个完整的例子来看看here。