Перейти к содержанию

Scikit-learn

Эта статья находится на начальном уровне проработки, в одной из её версий выборочно используется текст из источника, распространяемого под свободной лицензией
Материал из энциклопедии Руниверсалис
scikit-learn
Логотип программы scikit-learn
[[Файл: |274x400px| |frameless|alt=Скриншот программы scikit-learn]] 
Тип библиотека для машинного обучения
Автор Дэвид Курнапо
Разработчик  
Написана на Python, Cython, C and C++
Операционная система Linux, macOS, Windows
Языки интерфейса  
Первый выпуск июнь 2007; 18 лет назад (2007-06)
Аппаратная платформа  
Тестовая версия ( )
Лицензия Лицензия BSD
Сайт scikit-learn.org

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

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

Обзор

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

Первоначальная кодовая база была позже переписана другими разработчиками. В 2010 году участники проекта Фабиан Педрегоса, Гаэль Вароко, Александр Грэмфор и Винсент Миш из Французского национального института исследований в информатике и автоматике расположенного на плато Сакле во Франции, взяли на себя руководство проектом и выпустили первую публичную версию библиотеки 1 Февраля 2010 года.[4] В ноябре 2012 года библиотека scikit-learn, также как и библиотека scikit-image, были охарактеризованы как две "хорошо поддерживаемые и популярные"  scikits библиотеки.[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

Ссылки

  1. (2011) «scikit-learn: Machine Learning in Python». Journal of Machine Learning Research 12: 2825–2830.
  2. NumFOCUS Sponsored Projects. NumFOCUS. Дата обращения: 25 октября 2021.
  3. Dreijer, Janto scikit-learn.
  4. About us — scikit-learn 0.20.1 documentation. scikit-learn.org.
  5. Eli Bressert. SciPy and NumPy: an overview for developers. — O'Reilly, 2012. — P. 43.
  6. The State of the Octoverse: machine learning (англ.) ?. The GitHub Blog. GitHub (24 января 2019). Дата обращения: 17 октября 2019.
  7. 7,0 7,1 7,2 7,3 Release history — scikit-learn 0.19.dev0 documentation. scikit-learn.org. Дата обращения: 27 февраля 2017.
  8. Release History - 0.20.0 documentation. scikit-learn. Дата обращения: 6 ноября 2018.
  9. Release History - 0.21.0 documentation. scikit-learn. Дата обращения: 5 мая 2019.
  10. Release History - 0.22.0 documentation. scikit-learn. Дата обращения: 7 июня 2020.
  11. Release History - 0.23.0 documentation. scikit-learn. Дата обращения: 7 июня 2020.
  12. scikit-learn: A set of python modules for machine learning and data mining, <http://scikit-learn.org/>. Проверено 8 февраля 2021. 
  13. scikit-learn: A set of python modules for machine learning and data mining, <http://scikit-learn.org/>. Проверено 24 сентября 2021. 

 

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