Вот народ обсуждает проблему поиска ошибок в научном софте.
http://pyre.third-bit.com/blog/archives/1420.html
И действительно, тема важная и сложная.
суббота, 8 марта 2008 г.
вторник, 22 января 2008 г.
Сравнение библиотек для машинного обучения.
Поставлена задача из области классификации текста.
Искали фреймворк+библиотеку для экспериментов.
Главные условия:
-наличие svm
-очень желательно интерфейс на Python
- как выяснилось одно из самых критичных требований, поддержка sparse формата. (так как для обработки текстов используются пространства признаков огромных размеров)
Есть две очень уважаемые библиотеки в которых реализован svm:
libsvm
svmlight
К сожалению не рискну их сравнивать. И та и другая стоят внимания, кстати хотелось бы увидеть обзор плюсов и минусов обоих.
Но мы решили не останавливаться на низкоуровневых интерфейсах и решили насладиться удобством питона. У libsvm есть родная поддержка python. Но мы почему-то до сих пор не воспользовались этим. Вместо этого мы решили опробовать две библиотеки
Orange и PyML. В обоих библиотеках svm реализован на основе libsvm.
Оранж это большой проект, судя по описанию на первой странице сайта, предназначенный для data mining. Есть всяческие графические оболочки. Помимо svm, множество других классификаторов, различные алгоритмы feature selection. Короче говоря, как раз то что нужно, но... Но нет поддержки sparse файлов. Что делает библиотеку абсолютно непригодной для text processing. А жаль.
Теперь PyML. В качестве svm используеться libsvm. Также написана своя реализация алгоритма svm.(не знаю не пробовал). Есть оригинальный feature selection (Recursive feature elimination), который послужил нам неплохую службу.
К сожалению много неудобств, омрачающих использование библиотеки. Прежде всего, неудобная документация, очень часто в документации было то что не было в коде и наоборот.
Другая проблема - это установка PyML. Под windows мне это сделать не удалось, о чем впрочем предостерегал создатель библиотеки. Но под линукс, не получилось тоже. Я правда недолго мучился, но характерно. Поставили под cygwin. Короче говоря библиотека хорошая, но очень уж сырая. Сейчас я немного жалею, что так много потратили время на эти библиотеки, уж лучше сразу использовать исходные низкоуровневые, а скриптами пользоваться для управления.
Так что поиск идеальной библиотеки по машинному обучению на питоне продолжается. Есть попытки что-то сделать со стороны scipy, но насколько я понял их проект на summer google code завершился ничем. Прям хоть садись и сам пиши.
Искали фреймворк+библиотеку для экспериментов.
Главные условия:
-наличие svm
-очень желательно интерфейс на Python
- как выяснилось одно из самых критичных требований, поддержка sparse формата. (так как для обработки текстов используются пространства признаков огромных размеров)
Есть две очень уважаемые библиотеки в которых реализован svm:
libsvm
svmlight
К сожалению не рискну их сравнивать. И та и другая стоят внимания, кстати хотелось бы увидеть обзор плюсов и минусов обоих.
Но мы решили не останавливаться на низкоуровневых интерфейсах и решили насладиться удобством питона. У libsvm есть родная поддержка python. Но мы почему-то до сих пор не воспользовались этим. Вместо этого мы решили опробовать две библиотеки
Orange и PyML. В обоих библиотеках svm реализован на основе libsvm.
Оранж это большой проект, судя по описанию на первой странице сайта, предназначенный для data mining. Есть всяческие графические оболочки. Помимо svm, множество других классификаторов, различные алгоритмы feature selection. Короче говоря, как раз то что нужно, но... Но нет поддержки sparse файлов. Что делает библиотеку абсолютно непригодной для text processing. А жаль.
Теперь PyML. В качестве svm используеться libsvm. Также написана своя реализация алгоритма svm.(не знаю не пробовал). Есть оригинальный feature selection (Recursive feature elimination), который послужил нам неплохую службу.
К сожалению много неудобств, омрачающих использование библиотеки. Прежде всего, неудобная документация, очень часто в документации было то что не было в коде и наоборот.
Другая проблема - это установка PyML. Под windows мне это сделать не удалось, о чем впрочем предостерегал создатель библиотеки. Но под линукс, не получилось тоже. Я правда недолго мучился, но характерно. Поставили под cygwin. Короче говоря библиотека хорошая, но очень уж сырая. Сейчас я немного жалею, что так много потратили время на эти библиотеки, уж лучше сразу использовать исходные низкоуровневые, а скриптами пользоваться для управления.
Так что поиск идеальной библиотеки по машинному обучению на питоне продолжается. Есть попытки что-то сделать со стороны scipy, но насколько я понял их проект на summer google code завершился ничем. Прям хоть садись и сам пиши.
Ярлыки:
классификация текстов,
машинное обучение,
libsvm,
Orange,
PyML
пятница, 30 ноября 2007 г.
Поэзия и структуры данных
Сел читать про суффиксные деревья. Открыл статью.
А там в качестве эпиграфа:
А там в качестве эпиграфа:
I think that I shall never see
A poem lovely as a tree.
Poems are made by fools like me,
But only God can make a tree.
- Joyce Kilmer
A tree's a tree. How many more do you need to look at?
-Ronald Reagan
А бывают стихи про массивы?
вторник, 27 ноября 2007 г.
смена поля деятельности
Как-то так получилось, что заместо image processing я оказался в проекте скорее text processing и machine learning, а с с++ временно мигрировал на python.
Поделюсь пожалуй впечатлениями.
Поделюсь пожалуй впечатлениями.
понедельник, 13 августа 2007 г.
понедельник, 6 августа 2007 г.
первый
В последнее время появилось много вещей, которыми хочется поделиться. Постараюсь для этого использовать этот блог, публиковать интересные находки и мысли в области моих интересов, таких как image processing, computer vision и, конечно, программирование на с++.
Подписаться на:
Сообщения (Atom)