Я тестирую 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_)]