Прогноз для УКР в скиките
Я хотел бы использовать RBM в Scikit. Я могу определить и обучить УОКР, как и многие другие классификаторы.
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.
1 ответ
Решение
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, передаются в модель LogisticRegression. Посмотрите здесь для полного примера.