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.