Scikit-learn
scikit-learn (ранее известная как scikits.learn, а также известная как sklearn) — библиотека, предназначенная для машинного обучения, написанная на языке программирования Python и распространяемая в виде свободного программного обеспечения[1].
scikit-learn | |
---|---|
| |
Тип | библиотека для машинного обучения |
Автор | Дэвид Курнапо |
Разработчик | |
Написана на | Python, Cython, C and C P277 |
Операционные системы | Linux, macOS, Windows |
Языки интерфейса | |
Первый выпуск | июнь 2007 |
Аппаратная платформа | |
Последняя версия | reference |
Тестовая версия | ( ) |
Репозиторий | github.com/scikit-learn/… |
Лицензия | Лицензия BSD |
Сайт | scikit-learn.org |
В её состав входят различные алгоритмы, в том числе предназначенные для задач классификации, регрессионного и кластерного анализа данных, включая метод опорных векторов, метод случайного леса, алгоритм усиления градиента, метод k-средних и DBSCAN. Библиотека была разработана для взаимодействия с численными и научными библиотеками языка программирования Python NumPy и SciPy[2].
Обзор
правитьПроект scikit-learn первоначально был разработан под наименованием scikits.learn французским учёным в области данных Дэвидом Курнапо в рамках программы Google Summer of Code. Наименование проекта происходит от его предназначения — «SciKit» (SciPy Toolkit (набор инструментов SciPy), разрабатываемое и распространяемое отдельно стороннее расширение для библиотеки SciPy[3].
Первоначальная кодовая база была позже переписана другими разработчиками. В 2010 году участники проекта Фабиан Педрегоса, Гаэль Вароко, Александр Грэмфор и Винсент Миш из Французского национального института исследований в информатике и автоматике расположенного на плато Сакле во Франции, взяли на себя руководство проектом и 1 Февраля 2010 года выпустили первую публичную версию библиотеки[4]. В ноябре 2012 года библиотека scikit-learn, также как и библиотека scikit-image, были охарактеризована как «хорошо поддерживаемая и популярная» scikit библиотека[5]. В 2019 году библиотека scikit-learn стала одной из самых популярных библиотек машинного обучения на сайте GitHub[6].
Реализация
правитьБиблиотека 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[7]
- Июль 2014 года. scikit-learn 0.15.0[7]
- Март 2015 года. scikit-learn 0.16.0[7]
- Ноябрь 2015 года. scikit-learn 0.17.0[7]
- Сентябрь 2016 года. scikit-learn 0.18.0
- Июль 2017 года. scikit-learn 0.19.0
- Сентябрь 2018 года. scikit-learn 0.20.0[8]
- Май 2019 года. scikit-learn 0.21.0[9]
- Декабрь 2019 года. scikit-learn 0.22.0[10]
- Май 2020 года. scikit-learn 0.23.0[11]
- Январь 2021 года. scikit-learn 0.24[12]
- Сентябрь 2021 года. scikit-learn 1.0[13]
- Декабрь 2022 года. scikit-learn 1.2
Инструменты scikit-learn
правитьПримечания
править- ↑ Fabian Pedregosa; Gaël Varoquaux; Alexandre Gramfort; Vincent Michel; Bertrand Thirion; Olivier Grisel; Mathieu Blondel; Peter Prettenhofer; Ron Weiss; Vincent Dubourg; Jake Vanderplas; Alexandre Passos; David Cournapeau; Matthieu Perrot; Édouard Duchesnay (2011). "scikit-learn: Machine Learning in Python". Journal of Machine Learning Research. 12: 2825—2830. Архивировано 1 декабря 2020. Дата обращения: 3 февраля 2023.
- ↑ NumFOCUS Sponsored Projects . NumFOCUS. Дата обращения: 25 октября 2021. Архивировано 4 июня 2023 года.
- ↑ Dreijer, Janto scikit-learn . Дата обращения: 3 февраля 2023. Архивировано из оригинала 7 ноября 2020 года.
- ↑ About us — scikit-learn 0.20.1 documentation . scikit-learn.org. Дата обращения: 3 февраля 2023. Архивировано 6 ноября 2020 года.
- ↑ Eli Bressert. SciPy and NumPy: an overview for developers. — O'Reilly, 2012. — P. 43.
- ↑ The State of the Octoverse: machine learning (амер. англ.). The GitHub Blog. GitHub (24 января 2019). Дата обращения: 17 октября 2019. Архивировано 7 ноября 2020 года.
- ↑ 1 2 3 4 Release history — scikit-learn 0.19.dev0 documentation . scikit-learn.org. Дата обращения: 27 февраля 2017. Архивировано 29 апреля 2017 года.
- ↑ Release History - 0.20.0 documentation . scikit-learn. Дата обращения: 6 ноября 2018. Архивировано 3 февраля 2023 года.
- ↑ Release History - 0.21.0 documentation . scikit-learn. Дата обращения: 5 мая 2019. Архивировано 3 февраля 2023 года.
- ↑ Release History - 0.22.0 documentation . scikit-learn. Дата обращения: 7 июня 2020. Архивировано 3 февраля 2023 года.
- ↑ Release History - 0.23.0 documentation . scikit-learn. Дата обращения: 7 июня 2020. Архивировано 3 февраля 2023 года.
- ↑ scikit-learn: A set of python modules for machine learning and data mining, Архивировано 9 февраля 2021, Дата обращения: 8 февраля 2021
- ↑ scikit-learn: A set of python modules for machine learning and data mining, Архивировано 29 сентября 2021, Дата обращения: 24 сентября 2021
Ссылки
править- scikit-learn.org — официальный сайт Scikit-learn