Краткий ответ: да, они будут давать идентичные результаты, если вы настроите их одинаковыми способами.
Причина в том, что sklearn API - это просто оболочка вокруг «нативного обучающего» API, который, в свою очередь, является оболочкой для внутренней библиотеки C ++. В конце концов, это ваш выбор. Я лично посоветовал бы в пользу sklearn API 2 основных преимущества:
- вы можете использовать полный набор инструментов sklearn (конвейеры с предварительной обработкой данных, оптимизацией гиперпараметров, оценкой модели и т. Д.)
- вы можете безболезненно переключаться между различными моделями, т.е. ваши входные данные имеют одинаковый формат (
pd.DataFrame
или np.ndarray
), интерфейс trainign одинаков и вы можете переключаться между моделями sklearn, lightgbm, xgboost, catboost или vowpal wabbit, просто создавая экземпляры различных объектов и передавая их через одну и ту же процедуру.