Кажется, есть несколько вариантов для работы с моделями гауссовых смесей (GMM) в Python. На первый взгляд есть как минимум:
- PyMix - http://www.pymix.org/pymix/index.php Инструменты для моделирования смесей
- PyEM - http://www.ar.media.kyoto-u.ac.jp/members/david/softwares/em/, которая является частью набора инструментов Scipy и, кажется, фокусируется на обновлении GMM : теперь известно как sklearn.mixture .
- PyPR - http://pypr.sourceforge.net/ распознавание образов и связанные с ним инструменты, включая GMM
... и, возможно, другие. Кажется, что все они обеспечивают самые основные потребности в GMM, включая создание и выборку, оценку параметров, кластеризацию и т. Д.
В чем разница между ними, и как следует определить, что лучше всего подходит для конкретной потребности?
Вы можете попробовать профилировать действительно простую версию сжатия изображений с использованием GMM. Для данного изображения используйте GMM, чтобы назначить пикселям разные вероятности, а затем воссоздать изображение, используя вероятности в качестве индексов для конкретного гауссиана, из которого, вероятнее всего, пришел конкретный пиксель.
—
Филлип Облако,
@cpcloud - Вы имеете в виду: настроить упрощенный эксперимент для выполнения в каждом из этих пакетов в качестве точки сравнения? Ну, ладно, но это немало усилий. Я надеюсь на какой-то вклад от людей, которые использовали эти пакеты.
—
Аман
Scikit-learn - это популярная библиотека машинного обучения, которая также имеет некоторую поддержку GMM. Я не уверен, что он соответствует вашим потребностям, но у него есть преимущество наличия других алгоритмов обучения и структуры (например, перекрестная проверка, составление модели).
—
поразрядно
PyPR и PyEM доступны только для Python 2 и, похоже, не находятся в стадии активной разработки. PyMix выглядит как лучший выбор.
—
Джош Милторп