+1 к этим проектам. Чего тут комментировать) В scikit-learn собрана куча современных алгоритмов, довольно неплохо оптимизированных, и люди все это на практике используют. В PyBrain — только небыстрые и не супер-актуальные нейронные сети + довольно корявые биндинги для SVM, которые, похоже, не очень-то и поддерживаются. Даже если количество коммитов сравнить — в PyBrain их за последний год штук 10 было, в scikit-learn это сотни (по десятку в день), очень активный и хороший проект. Pandas не пользовался, но все хвалят очень.
При обцчении в ШАДе я искал различные библиотеки, реализующие алгоритмы машинного обучения. К сожалению, в большинстве реализованы обычно только базисные алгоритмы и каких-то продвинутостей нету.
В данной библиотеке PyBrain удивительно много алгоритмов. Насколько удобно ими пользоваться — непонятно.
Когда я сел разбираться в нейронных сетях, то понял, что метод обратного распространения по сравнению с другими методами это как счёты по сравнению с суперкомпьютером. Для объяснения принципов и модельных примеров — пойдёт, для реальных задач он ужасен.
Я-бы использовал PyPy для JIT, более общий конечно вариант, по идее должен быть медленнее чем arac, просто смущает то, что последнее обновление для arac было больше двух лет назад
На порядок это серьёзно! Опишете процесс тестирования? Есть численные результаты (графики всегда эффектно выглядят)?
Сравнить со связкой PyPy + PyBrain не надумали?
А вообще, спасибо, что поделились. Такая информация может пригодится.
Чушь. На любом языке можно создать фигню.
У меня мой проект сетей создается 1-й строчкой безо всяких фабрик.
BPNet net = new BPNet( 4, 100, Type.Sigma );
У меня всегда с этим затык, может ТС объяснит как например файл разбирать нейронной сетью?
Например я хочу создать датасет из разнообразных слов и словосочетаний и определять спам по ним.
Пример простейшей байзановой сети я могу понять (матрица грубо говоря), а с нейронкой с ходу не выходит…
Хотя уверен с ней результаты были бы лучше для антиспама.
Я очень сомневаюсь что такую задачу нейросетями решить можно. Требуется много ресурсов, не гарантируется нахождение минимума, возможны блуждания в седловых точках. Насколько мне известно, наивные байесовский классификаторы используются для этой цели и показывают хорошие результаты.
Ну как сказать, вот для Вас F1 score > 0.98 это достаточно или нет? А требуемое количество ресурсов, на порядок, а то и два больше стоит повышения F1 до 0.999?
Единственная статья на хабре, кроме моей, в которой упоминается PyBrain — http://habrahabr.ru/post/136237/ посмотрите, возможно приведённый в ней код поможет Вам разобраться как по log-файлам сеть тренировать
PyBrain работаем с нейронными сетями на Python