Медленная производительность логистической регрессии в accord.net
Логистическая регрессия с использованием Accord.net ( http://accord-framework.net/docs/html/T_Accord_Statistics_Analysis_LogisticRegressionAnalysis.htm) занимает около 5 минут. SAS делает это за несколько секунд (также используя одно ядро процессора).
Набор данных составляет около 40000 строк и 30 входов.
Почему такая разница? Использует ли SAS алгоритм с гораздо лучшей сложностью? Логистическая регрессия - довольно простой алгоритм, насколько я знаю.
Есть ли другая библиотека, которая будет работать лучше (желательно бесплатно)?
2 ответа
Решение состоит в том, чтобы закомментировать эту строку:
Он вычисляет некоторые очень дорогие статистические данные, которые мне не нужны.
Существует класс, который можно использовать со стандартным пакетом Accord: https://gist.github.com/eugenem/e1dd2ef2149e8c21c37d
У меня был такой же опыт с многочленной логистической регрессией. Я провел сравнение между Accord, R, SPSS и Python's Scikit. У меня 30 входов, 10 выходов и более 1600 обучающих примеров. Аккорд занял 8 минут, а остальные заняли 2-8 сек. Согласие выглядит красиво, но для полиномиальной логистической регрессии это способ замедлить. Мое решение состояло в том, что я сделал небольшой веб-сервис python, который вычисляет регрессию и сохраняет результат в базе данных.