Оценки классификации отличаются между H2O4GPU и Scikit-Learn - PullRequest
0 голосов
/ 14 ноября 2018

Я начал оценивать случайный лесной классификатор, используя точность и отзыв. Тем не менее, несмотря на то, что наборы поездов и тестов идентичны для реализаций классификатора с использованием ЦП и ГП, я вижу различия в возвращаемых оценочных баллах. Случайно ли это известная ошибка в библиотеке?

Оба примера кода приведены ниже для справки.

Scikit-Learn (CPU)

from sklearn.metrics import recall_score, precision_score
from sklearn.ensemble import RandomForestClassifier

rf_cpu = RandomForestClassifier(n_estimators=5000, n_jobs=-1)
rf_cpu.fit(X_train, y_train)
rf_cpu_pred = clf.predict(X_test)

recall_score(rf_cpu_pred, y_test)
precision_score(rf_cpu_pred, y_test)

CPU Recall: 0.807186
CPU Precision: 0.82095

H2O4GPU (GPU)

from h2o4gpu.metrics import recall_score, precision_score
from h2o4gpu import RandomForestClassifier

rf_gpu = RandomForestClassifier(n_estimators=5000, n_gpus=1)
rf_gpu.fit(X_train, y_train)
rf_gpu_pred = clf.predict(X_test)

recall_score(rf_gpu_pred, y_test)
precision_score(rf_gpu_pred, y_test)

GPU Recall: 0.714286
GPU Precision: 0.809988

1 Ответ

0 голосов
/ 14 ноября 2018

Исправление: понял, что входы для точности и отзыва были в неправильном порядке.Заказ всегда (y_true, y_pred), согласно документации Scikit-Learn .

Исправленный оценочный код

recall_score(y_test, rf_gpu_pred)
precision_score(y_test, rf_gpu_pred)
...