![](https://habrastorage.org/getpro/habr/post_images/632/cb8/7a5/632cb87a5073c02f0c19f10027c06bf7.png)
Несмотря на то, что в интернете существует множество источников свободного программного обеспечения для машинного обучения, Github остается важным центром обмена информацией для всех типов инструментов с открытым исходным кодом, используемых в сообществе специалистов по машинному обучению и анализу данных.
В этой подборке собраны репозитории по машинному обучению, датасетам и Jupyter Notebooks, ранжированные по количеству звезд. В предыдущей части мы рассказывали о популярных репозиториях для изучения работ по визуализации данных и глубокому обучению.
Машинное обучение
Awesome Machine Learning
38 809,
9 615
Впечатляющий список систем, библиотек и ПО, классифицированных по языкам и категориям (компьютерное зрение, обработка естественного языка и т.д.). Кроме того, в этом репозитории вы найдете перечень бесплатных книг по машинному обучению, бесплатных (в основном) курсов по машинному обучению, блогов по data science.
Scikit-learn
34 067,
16 698
Развиваемый с 2007 г. Python-модуль для машинного обучения, построенный на основе библиотек SciPy, NumPy и Matplotlib. Распространяется по лицензии BSD 3-Clause. Scikit-learn — универсальный инструмент для работы, содержащий алгоритмы классификации, регрессии и кластеризации, а также методы подготовки данных и оценки моделей.
PredictionIO
11 703,
1 903
Фреймворк машинного обучения с открытым исходным кодом, поддерживающий сбор событий, развёртывание алгоритмов, оценку, шаблоны для известных задач, таких как классификация и рекомендации. Подключается к существующим приложениям с помощью REST API или SDK. PredictionIO основан на масштабируемых сервисах с открытым исходным кодом, таких как Hadoop, HBase (и другие БД), Elasticsearch, Spark.
Dive Into Machine Learning
9 163,
1 673
Материал для новичков в теме. Репозиторий содержит сборник туториалов IPython для библиотеки Scikit-learn, в которой реализовано большое количество алгоритмов машинного обучения, а также несколько ссылок на связанные с Python темы машинного обучения и более общую информацию по анализу данных. Автор дает ссылки на многие другие учебные пособия, охватывающие тему.
Pattern
6 845,
1 353
Модуль веб-разработки на основе Python с инструментами для анализа, обработки естественного языка (разметка частей речи, поиск n-грамм, анализ настроений, WordNet), машинного обучения, сетевого анализа и визуализации. Модуль создан и хорошо документирован в исследовательском центре компьютерной лингвистики и психолингвистики Антверпенского университета (Бельгия). В репозитории вы найдете более 50 примеров его использования.
GoLearn
6 374,
867
Активно развивающаяся библиотека машинного обучения для Go. Предоставляет полнофункциональный, простой в использовании, легко настраиваемый программный пакет для разработчиков. GoLearn реализует знакомый многим интерфейс обучения Scikit-learn.
Vowpal Wabbit
6 189,
1 519
Система Vowpal Wabbit расширяет границы машинного обучения с помощью таких методов, как хэширование, allreduce, learning2search, активное и интерактивное обучение. Vowpal Wabbit нацелена на быстрое моделирование массивных наборов данных и поддерживает параллельное обучение. Особое внимание уделяется обучению с подкреплением с использованием нескольких контекстуальных «бандитских алгоритмов».
NuPIC (Numenta Platform for Intelligent Computing)
5 852,
1 570
NuPIC реализует алгоритмы машинного обучения иерархической временной памяти (Hierarchical Temporal Memory, HTM). В общем виде HTM является попыткой смоделировать вычислительные операции неокортекса человеческого мозга и фокусируется на сохранении и вызове пространственных и временных паттернов. HTM — это система памяти, она не программируется, не учится выполнять алгоритмы для различных задач, она учится решать проблему. NuPIC подходит для решения всевозможных задач, в частности, для обнаружения аномалий, связанных с паттернами.
aerosolve
4 522,
570
aerosolve пытается отличаться от других библиотек, концентрируясь на удобных для пользователя средствах отладки, Scala-коде для обучения, механизме анализа контента изображений для удобного ранжирования, гибкости и контроле над функциями. Библиотека предназначена для использования с редкими интерпретируемыми функциями, которые обычно встречаются в поиске (ключевые слова для поиска, фильтры) или ценообразовании (количество комнат в гостиничном номере, местоположение, цена).
Code for Machine Learning for Hackers
3 467,
2 220
Дополняющий книгу «Machine Learning for Hackers» репозиторий, в котором весь код представлен на языке R, предназначенном для статистической обработки данных (фактически стандарт статистических программ) и работы с графикой. Здесь вы найдете многочисленные пакеты R. В число рассматриваемых тем входят общие задачи классификации, ранжирования и регрессии, а также статистические процедуры анализа компонентов и многомерного масштабирования.
Датасеты на Github
Awesome Public Datasets
31 852,
5 361
Ещё один впечатляющий своими размерами репозиторий со списком, разделенным на 30 тем: биология, спорт, музеи, естественный язык и т.д. Репозиторий включает в себя несколько сотен наборов данных, большинство из которых бесплатны. Здесь указаны ссылки и на другие подборки больших данных.
OpenAddresses
1 644,
745
Официальный репозиторий OpenAddresses.io — бесплатная и открытая глобальная коллекция уличных адресов. Проект включает в себя названия улиц, номера домов, почтовые индексы и географические координаты.
Open Exoplanet Catalogue
583,
176
Каталог всех известных планет, существующих вне Солнечной системы. Раньше база данных обновлялась в течение 24 часов после открытия новой планеты, но сейчас, к сожалению, проект практически не развивается.
CitySDK
510,
149
База данных Бюро переписи США, адаптированная для интеграции с другими открытыми наборами данных, обладающая удобными функциями для работы и создания собственного настраиваемого набора данных с API Census: статистика, картографический GeoJSON, lat/lng и т.д.
openFDA
353,
84
openFDA — это проект Управления по санитарному надзору за качеством пищевых продуктов и медикаментов в США (FDA), целью которого является предоставление коллекции публичных наборов данных для исследователей и разработчиков через API, а также примеров использования этих данных и документации. Здесь есть информация о побочных эффектах лекарственных препараторов, маркировка лекарств, отчеты об отзыве препаратов с рынка и о внесении изменений в рецептурную формулу.
CERN Open Data Portal
247,
88
Исходный код для портала открытых данных Организации по ядерным исследованиям ЦЕРН, который описывается как «точка доступа к растущему спектру данных, полученных в результате исследований ЦЕРНа».
IPython (Jupyter) Notebooks
Список полезных репозиториев Github, состоящий из блокнотов IPython (Jupyter), ориентированных на работу с данными и машинное обучение.
Python Machine Learning Book
9 655,
3 674
Сопроводительный репозиторий первого издания книги «Machine Learning with Python» (репозиторий ко второму изданию тут), в которой рассматривается работа с недостающими значениями, преобразование категорийных переменных в форматы, применимые при машинном обучении, выбор информативных свойств, сжатие данных с переносом в подпространства с меньшим количеством измерений.
Example Data Science Notebook
4 156,
1 463
Репозиторий учебных материалов, кода и данных для различных проектов анализа данных и машинного обучения. Notebook содержит все базовые принципы работы с анализом данных на примере датасета Iris, и служит прекрасной иллюстрацией построения рабочего процесса в data science. Базовые пункты для работы в репо почерпнуты из книги «The Elements of Data Analytic Style» (Jeff Leek, 2015).
Learn Data Science
2 197,
1 228
Коллекция Notebooks и датасетов, охватывающая четыре алгоритмические темы: линейная регрессия, логистическая регрессия, случайные леса и алгоритмы K-Means кластеризации. Learn Data Science основана на материалах, созданных для проекта Open Data Science Training.
IPython Notebooks
2 106,
1 226
Репозиторий содержит различные Notebooks IPython — от обзора языка и функциональности IPython до примеров использования различных популярных библиотек в анализе данных. Здесь вы найдете исчерпывающую коллекцию материалов по машинному обучению, глубокому обучению и средам обработки больших данных с курсов «Machine Learning» Andrew Ng (Coursera), «Intro to TensorFlow for Deep Learning» (Udacity) и «Spark» (edX).
Scikit-learn Tutorial
963,
573
Репозиторий для изучения библиотеки Scikit-learn, в которой реализовано большое количество алгоритмов машинного обучения. Библиотека предоставляет реализацию целого ряда алгоритмов для обучения как с учителем, так и без него. Scikit-learn построена поверх SciPy (Scientific Python).
Machine Learning
543,
336
Серия очень подробных учебных материалов по IPython Notebook, созданная на основе данных из курса Эндрю Нга по машинному обучению (Стэнфордский университет), курса Тома Митчелла (Университет Карнеги-Меллон) и книги Кристофера М. Бишора «Распознавание образов и машинное обучение».
Представленный список нельзя в полной мере назвать исчерпывающим, поэтому мы приветствуем комментарии со списком ваших любимых (или собственных) репозиториев.