Прогноз для УКР в скиките

Я хотел бы использовать 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. Посмотрите здесь для полного примера.

Другие вопросы по тегам