Intel daal4py классификаторы с Scikit-обучения - PullRequest
0 голосов
/ 05 октября 2019

Я тестирую sklearn-совместимые оболочки для последней версии классификаторов intel daal4py. Классификатор intel k-near работает нормально с помощью sklearn's cross_val_score () и GridSearchCV. Повышение производительности благодаря классификатору intel является значительным, и модели intel и sklearn обеспечивают в целом сопоставимые результаты для 10 различных больших общедоступных наборов данных и некоторых имитированных наборов данных. Совместимая с sklearn оболочка для классификатора случайных лесов intel, похоже, полностью сломана. Метод Score () не работает, поэтому я не могу продолжить работу с классом оболочки случайного леса Intel.

Я разместил это на форуме Intel AI Developer, но мне было интересно, если кто-нибудь здесь включил в работу классификатор случайных лесов, совместимый с intel sklearn.

Мой следующий шаг - протестировать нативныйСлучайный лесной объект daal4py и, возможно, напишите мою собственную оболочку, потому что нативный API-интерфейс daal4py так сильно отличается от sklearn. Я надеялся избежать этого. Похоже, что на сайте Intel есть некоторая путаница с названиями классов-оболочек.

Я использую:

  • Для k-ближайшего: daal4py.sklearn.neighbors.kdtree_knn_classifier (это отлично работает)
  • Для случайного леса: daal4py.sklearn. ensemble.decision_forest.RandomForestClassifier

Сбой в intel RandomForestClassifier находится в файле forest.py, поскольку n_classes_ является целым числом. n_classes_ соответствует количеству классов для передаваемой переменной метки. Переменная метки является целым числом.

predictions = [np.zeros((n_samples, n_classes_[k]))
                for k in range(self.n_outputs_)]

1 Ответ

0 голосов
/ 10 октября 2019

Ниже приведены шаги, которые мы использовали для вычисления оценок для daal4py RandomForestClassifier

(i) Для cross_val_score

from daal4py.sklearn.ensemble.decision_forest import RandomForestClassifier
from sklearn.model_selection import cross_val_score
clf = RandomForestClassifier()
scores = cross_val_score(clf, train_data, train_labels, cv=3)
print(scores)

(ii) Для GridSearchCV

from sklearn.model_selection import GridSearchCV
from daal4py.sklearn.ensemble.decision_forest import RandomForestClassifier
param_grid = { 
    'n_estimators': [200, 700],
    'max_features': ['auto', 'sqrt', 'log2']
}
clf = RandomForestClassifier()
CV_rfc = GridSearchCV(estimator=clf, param_grid=param_grid, cv= 5)
CV_rfc.fit(train_data, train_labels)
score=CV_rfc.score(train_data, train_labels)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...