Scikit-learn
scikit-learn (ранее известная, как scikits.learn, а также известная как sklearn) — библиотека, предназначенная для машинного обучения, написанная на языке программирования Python и распространяемая в виде свободного программного обеспечения.

В её состав входят различные алгоритмы, в том числе предназначенные для задач классификации, регрессионного и кластерного анализа данных, включая метод опорных векторов, метод случайного леса, алгоритм усиления градиента, метод k-средних и DBSCAN. Библиотека была разработана для взаимодействия с численными и научными библиотеками языка программирования Python NumPy и SciPy.

Обзор 
Проект scikit-learn первоначально был разработан под наименованием scikits.learn французским ученым в области данных Дэвидом Курнапо в рамках программы Google Summer of Code. Наименование проекта происходит от его предназначения — "SciKit" (SciPy Toolkit (набор инструментов SciPy), разрабатываемое и распространяемое отдельно стороннее расширение для библиотеки SciPy.

Первоначальная кодовая база была позже переписана другими разработчиками. В 2010 году участники проекта Фабиан Педрегоса, Гаэль Вароко, Александр Грэмфор и Винсент Миш из Французского национального института исследований в информатике и автоматике расположенного на плато Сакле во Франции, взяли на себя руководство проектом и 1 Февраля 2010 года выпустили первую публичную версию библиотеки. В ноябре 2012 года библиотека scikit-learn, также как и библиотека scikit-image, были охарактеризована как "хорошо поддерживаемая и популярная" scikit библиотека. В 2019 году библиотека scikit-learn стала одной из самых популярных библиотек машинного обучения на сайте GitHub.

Реализация 
Библиотека scikit-learn в основном написана на языке программирования Python и широко использует библиотеку NumPy для высокопроизводительных операций линейной алгебры и работы с массивами.  

Часть основных алгоритмов написана на языке программирования Cython для улучшения производительности. Метод опорных векторов реализован с помощью обертки написанной на Cython для библиотеки LIBSVM; логистическая регрессия и линейная машина опорных векторов реализованы с помощью похожей обертки для библиотеки LIBLINEAR. Следует отметить, что в таких случаях, расширение подобных методов с помощью языка программирования Python может быть невозможно.

Библиотека scikit-learn хорошо взаимодействует со множеством других программных библиотек языка Python, например такими как Matplotlib и plotly для визуализации данных, NumPy для векторизации массивов, Pandas для работы с объектами DataFrame, SciPy и прочими.

Хронология 
Библиотека scikit-learn была изначально разработана Дэвидом Курнапо в качестве проекта в рамках программы Google Summer of Code в 2007 году. Позднее в этом же году, Мэтью Бручер присоединился к проекту и начал использовать его как часть своей научной работы. В 2010 году в проект был вовлечен Французский национальный институт исследований в области информатики и автоматики и в конце января 2010 года была выпущена первая публичная версия (v0.1 beta).

 Август 2013 года. scikit-learn 0.14

 Июль 2014 года. scikit-learn 0.15.0

 Март 2015 года. scikit-learn 0.16.0  

 Ноябрь 2015 года. scikit-learn 0.17.0

 Сентябрь 2016 года. scikit-learn 0.18.0  

 Июль 2017 года. scikit-learn 0.19.0

 Сентябрь 2018 года. scikit-learn 0.20.0

 Май 2019 года. scikit-learn 0.21.0

 Декабрь 2019 года. scikit-learn 0.22.0

 Май 2020 года. scikit-learn 0.23.0

 Январь 2021 года. scikit-learn 0.24

 Сентябрь 2021 года. scikit-learn 1.0

 Декабрь 2022 года.  scikit-learn 1.2

Инструменты scikit-learn 

 mlpy

 SpaCy

 NLTK

 Orange

 PyTorch

 TensorFlow

 Infer.NET

Ссылки

Внешние ссылки 

 

 
 

Программное обеспечение с лицензией BSD
Научные библиотеки на языке программирования Python
Библиотеки Python