Scikit Learn - Введение

В этой главе мы поймем, что такое Scikit-Learn или Sklearn, происхождение Scikit-Learn и некоторые другие связанные темы, такие как сообщества и участники, ответственные за разработку и обслуживание Scikit-Learn, его предварительные условия, установку и его функции.

Что такое Scikit-Learn (Sklearn)

Scikit-learn (Sklearn) - самая полезная и надежная библиотека для машинного обучения на Python. Он предоставляет набор эффективных инструментов для машинного обучения и статистического моделирования, включая классификацию, регрессию, кластеризацию и уменьшение размерности через интерфейс согласованности в Python. Эта библиотека, которая в основном написана на Python, построена наNumPy, SciPy и Matplotlib.

Происхождение Scikit-Learn

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

Давайте посмотрим на его историю версий -

  • Май 2019: scikit-learn 0.21.0

  • Март 2019: scikit-learn 0.20.3

  • Декабрь 2018: scikit-learn 0.20.2

  • Ноябрь 2018: scikit-learn 0.20.1

  • Сентябрь 2018: scikit-learn 0.20.0

  • Июль 2018: scikit-learn 0.19.2

  • Июль 2017: scikit-learn 0.19.0

  • Сентябрь 2016 г. scikit-learn 0.18.0

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

  • Март 2015 г. scikit-learn 0.16.0

  • Июль 2014 г. scikit-learn 0.15.0

  • Август 2013. scikit-learn 0.14.

Сообщество и участники

Scikit-learn - это работа сообщества, и каждый может внести в нее свой вклад. Этот проект размещен наhttps://github.com/scikit-learn/scikit-learn. Следующие люди в настоящее время являются основными участниками разработки и поддержки Sklearn:

  • Йорис Ван ден Босше (специалист по данным)

  • Томас Джей Фэн (разработчик программного обеспечения)

  • Александр Грамфор (исследователь машинного обучения)

  • Оливье Гризель (эксперт по машинному обучению)

  • Николас Хуг (младший научный сотрудник)

  • Андреас Мюллер (специалист по машинному обучению)

  • Ханьминь Цинь (инженер-программист)

  • Адрин Джалали (разработчик открытого исходного кода)

  • Нелле Варокуо (научный сотрудник)

  • Роман Юрчак (Data Scientist)

Различные организации, такие как Booking.com, JP Morgan, Evernote, Inria, AWeber, Spotify и многие другие, используют Sklearn.

Предпосылки

Прежде чем мы начнем использовать последнюю версию scikit-learn, нам потребуется следующее:

  • Python (> = 3,5)

  • NumPy (> = 1.11.0)

  • Scipy (> = 0,17,0) li

  • Джоблиб (> = 0,11)

  • Matplotlib (> = 1.5.1) требуется для возможностей построения графиков Sklearn.

  • Pandas (> = 0.18.0) требуется для некоторых примеров scikit-learn с использованием структуры данных и анализа.

Установка

Если вы уже установили NumPy и Scipy, ниже приведены два самых простых способа установить scikit-learn:

Использование pip

Следующую команду можно использовать для установки scikit-learn через pip -

pip install -U scikit-learn

Использование conda

Следующую команду можно использовать для установки scikit-learn через conda -

conda install scikit-learn

С другой стороны, если NumPy и Scipy еще не установлены на вашей рабочей станции Python, вы можете установить их, используя либо pip или же conda.

Еще один вариант использования scikit-learn - использовать такие дистрибутивы Python, как Canopy и Anaconda потому что они оба поставляют последнюю версию scikit-learn.

Особенности

Вместо того, чтобы сосредотачиваться на загрузке, манипулировании и обобщении данных, библиотека Scikit-learn сосредоточена на моделировании данных. Некоторые из самых популярных групп моделей, предоставляемых Sklearn, следующие:

Supervised Learning algorithms - Почти все популярные алгоритмы контролируемого обучения, такие как линейная регрессия, машина опорных векторов (SVM), дерево решений и т. Д., Являются частью scikit-learn.

Unsupervised Learning algorithms - С другой стороны, в нем также есть все популярные алгоритмы неконтролируемого обучения, от кластеризации, факторного анализа, PCA (анализа главных компонентов) до неконтролируемых нейронных сетей.

Clustering - Эта модель используется для группировки немаркированных данных.

Cross Validation - Используется для проверки точности контролируемых моделей на невидимых данных.

Dimensionality Reduction - Он используется для уменьшения количества атрибутов в данных, которые в дальнейшем можно использовать для обобщения, визуализации и выбора функций.

Ensemble methods - Как следует из названия, он используется для объединения прогнозов нескольких контролируемых моделей.

Feature extraction - Он используется для извлечения функций из данных для определения атрибутов в данных изображения и текста.

Feature selection - Он используется для определения полезных атрибутов для создания контролируемых моделей.

Open Source - Это библиотека с открытым исходным кодом, которую также можно использовать в коммерческих целях по лицензии BSD.