Содержание[Скрывать][Показывать]
Если вы программист Python или ищете мощный набор инструментов для внедрения машинного обучения в производственную систему, Scikit-learn — это библиотека, которую вам нужно проверить.
Scikit-learn хорошо документирован и прост в использовании, независимо от того, являетесь ли вы новичком в области машинного обучения, хотите быстро приступить к работе или использовать самый современный исследовательский инструмент ML.
Он позволяет вам построить прогнозную модель данных всего в нескольких строках кода, а затем использовать эту модель в соответствии с вашими данными в качестве высокоуровневой библиотеки. Он гибкий и хорошо работает с другими Библиотеки Python например Matplotlib для построения диаграмм, NumPy для векторизации массивов и pandas для визуализации данных.
В этом руководстве вы узнаете все о том, что это такое, как вы можете его использовать, а также о его плюсах и минусах.
Что такое Scikit учиться?
Scikit-learn (также известный как sklearn) предлагает разнообразный набор статистических моделей и машинного обучения. В отличие от большинства модулей, sklearn разработан на Python, а не на C. Несмотря на то, что он разработан на Python, эффективность sklearn объясняется использованием NumPy для высокопроизводительной линейной алгебры и операций с массивами.
Scikit-Learn был создан в рамках проекта Google Summer of Code и с тех пор упростил жизнь миллионов специалистов по данным, ориентированных на Python, по всему миру. В этом разделе серии основное внимание уделяется представлению библиотеки и сосредоточению внимания на одном элементе — преобразовании набора данных, которое является ключевым и жизненно важным шагом, который необходимо выполнить перед разработкой модели прогнозирования.
Библиотека основана на SciPy (Scientific Python), которую необходимо установить, прежде чем вы сможете использовать scikit-learn. Этот стек содержит следующие элементы:
- NumPy: стандартный пакет Python для n-мерных массивов.
- SciPy: это фундаментальный пакет для научных вычислений.
- Панды: структуры данных и анализ
- Matplotlib: это мощная библиотека для 2D/3D-графики.
- Sympy: Символическая математика
- IPython: улучшенная интерактивная консоль
Приложения библиотеки Scikit-learn
Scikit-learn — это пакет Python с открытым исходным кодом со сложными функциями анализа данных и интеллектуального анализа данных. Он поставляется с множеством встроенных алгоритмов, которые помогут вам получить максимальную отдачу от ваших проектов по науке о данных. Библиотека Scikit-learn используется следующими способами.
1. регрессия
Регрессионный анализ — это статистический метод анализа и понимания связи между двумя или более переменными. Метод, используемый для регрессионного анализа, помогает определить, какие элементы являются релевантными, какие можно игнорировать и как они взаимодействуют. Методы регрессии, например, могут использоваться для лучшего понимания поведения цен на акции.
Алгоритмы регрессии включают:
- Линейная регрессия
- Хребет регрессии
- Лассо-регрессия
- Регрессия дерева решений
- Случайный Лес
- Машины опорных векторов (SVM)
2. классификация
Метод классификации — это подход к обучению с учителем, который использует обучающие данные для определения категории новых наблюдений. Алгоритм в классификации учится на заданном Набор данных или наблюдения, а затем классифицирует дополнительные наблюдения в один из многих классов или групп. Их можно, например, использовать для классификации сообщений электронной почты как спама или нет.
Алгоритмы классификации включают следующее:
- Логистическая регрессия
- K-Ближайшие соседи
- Машина опорных векторов
- Древо решений
- Случайный Лес
3. Кластеризация
Алгоритмы кластеризации в Scikit-learn используются для автоматического объединения данных с похожими свойствами в наборы. Кластеризация — это процесс группировки набора элементов таким образом, чтобы элементы одной группы были более похожи на элементы других групп. Например, данные о клиентах могут быть разделены в зависимости от их местоположения.
Алгоритмы кластеризации включают следующее:
- БД-СКАН
- K-средних
- Мини-пакет K-средних
- Спектральная кластеризация
4. Выбор модели
Алгоритмы выбора моделей предоставляют методы для сравнения, проверки и выбора оптимальных параметров и моделей для использования в инициативах по науке о данных. При наличии данных выбор модели — это проблема выбора статистической модели из группы моделей-кандидатов. В большинстве случаев учитывается уже существующий набор данных. Однако задача может также включать планирование экспериментов, чтобы полученные данные хорошо подходили для задачи выбора модели.
Модули выбора модели, которые могут повысить точность путем настройки параметров, включают:
- Перекрестная проверка
- Поиск сетки
- Метрика
5. Уменьшение размерности
Перенос данных из многомерного пространства в низкоразмерное, так что низкоразмерное представление сохраняет некоторые существенные аспекты исходных данных, в идеале близкие к присущей ему размерности, называется уменьшением размерности. Количество случайных величин для анализа уменьшается при уменьшении размерности. Например, нельзя считать, что внешние данные улучшают эффективность визуализации.
Алгоритм уменьшения размерности включает в себя следующее:
- Выбор функции
- Анализ главных компонентов (PCA)
Установка Scikit-Learn
Перед использованием Scikit-learn необходимо установить NumPy, SciPy, Matplotlib, IPython, Sympy и Pandas. Давайте установим их с помощью pip из консоли (работает только для Windows).
Теперь, когда мы установили необходимые библиотеки, давайте установим Scikit-learn.
Особенности
Scikit-learn, иногда известный как sklearn, представляет собой набор инструментов Python для реализации моделей машинного обучения и статистического моделирования. Мы можем использовать его для создания нескольких моделей машинного обучения для регрессии, классификации и кластеризации, а также статистических инструментов для оценки этих моделей. Он также включает уменьшение размерности, выбор признаков, извлечение признаков, ансамблевые подходы и встроенные наборы данных. Мы будем исследовать каждое из этих качеств по очереди.
1. Импорт наборов данных
Scikit-learn включает ряд предварительно созданных наборов данных, таких как набор данных радужной оболочки, набор данных о ценах на жилье, набор титанических данных и так далее. Основные преимущества этих наборов данных заключаются в том, что их легко понять и их можно использовать для немедленной разработки моделей машинного обучения. Эти наборы данных подходят для новичков. Точно так же вы можете использовать sklearn для импорта дополнительных наборов данных. Точно так же вы можете использовать его для импорта дополнительных наборов данных.
2. Разделение набора данных для обучения и тестирования
Sklearn включил возможность разделить набор данных на сегменты обучения и тестирования. Разделение набора данных необходимо для объективной оценки эффективности прогнозирования. Мы можем указать, сколько наших данных должно быть включено в наборы данных для обучения и тестирования. Мы разделили набор данных с помощью разделения тестов поезда таким образом, чтобы набор поездов содержал 80% данных, а тестовый набор — 20%. Набор данных можно разделить следующим образом:
3. Линейная регрессия.
Линейная регрессия — это метод машинного обучения, основанный на контролируемом обучении. Он выполняет регрессионную работу. Основываясь на независимых переменных, регрессия моделирует значение прогноза цели. Он в основном используется для определения связи между переменными и прогнозированием. Различные регрессионные модели различаются по типу связи, которую они оценивают между зависимыми и независимыми переменными, а также по количеству используемых независимых переменных. Мы можем просто создать модель линейной регрессии с помощью sklearn следующим образом:
4. Логистическая регрессия
Распространенным подходом к категоризации является логистическая регрессия. Он относится к тому же семейству, что и полиномиальная и линейная регрессия, и относится к семейству линейных классификаторов. Результаты логистической регрессии просты для понимания и быстро вычисляются. Так же, как линейная регрессия, логистическая регрессия является методом регрессии с учителем. Выходная переменная является категориальной, так что это единственная разница. Он может определить, есть ли у пациента сердечное заболевание.
Различные проблемы классификации, такие как обнаружение спама, могут быть решены с помощью логистической регрессии. Прогнозирование диабета, определение того, купит ли потребитель конкретный продукт или переключится на конкурента, определение того, нажмет ли пользователь на конкретную маркетинговую ссылку, и многие другие сценарии — это лишь несколько примеров.
5. Дерево принятия решений
Наиболее мощным и широко используемым методом классификации и прогнозирования является дерево решений. Дерево решений — это древовидная структура, которая выглядит как блок-схема, в которой каждый внутренний узел представляет проверку атрибута, каждая ветвь представляет результат проверки, а каждый конечный узел содержит метку класса.
Когда зависимые переменные не имеют линейной связи с независимыми переменными, т. е. когда линейная регрессия не дает правильных результатов, деревья решений полезны. Объект DecisionTreeRegression() можно использовать аналогичным образом для использования дерева решений для регрессии.
6. Случайный лес
Случайный лес — это обучение с помощью машины подход к решению проблем регрессии и классификации. Он использует ансамблевое обучение, которое представляет собой метод, объединяющий несколько классификаторов для решения сложных задач. Метод случайного леса состоит из большого количества деревьев решений. Его можно использовать для классификации заявок на получение кредита, выявления мошеннических действий и прогнозирования вспышек заболеваний.
7. Матрица путаницы
Матрица путаницы — это таблица, используемая для описания эффективности модели классификации. Следующие четыре слова используются для изучения матрицы путаницы:
- Истинный положительный: это означает, что модель спроецировала благоприятный результат, и это было правильно.
- True Negative: Это означает, что модель спроецировала плохой результат, и это было правильно.
- Ложный положительный результат: это означает, что модель ожидала благоприятного исхода, но на самом деле он был отрицательным.
- Ложноотрицательный: это означает, что модель ожидала отрицательного результата, в то время как результат был действительно положительным.
Реализация матрицы путаницы:
Плюсы
- Прост в использовании.
- Пакет Scikit-learn чрезвычайно адаптируемый и полезный, он служит реальным целям, таким как прогнозирование поведения потребителей, разработка нейроизображений и так далее.
- Пользователи, которые хотят связать алгоритмы со своими платформами, найдут подробную документацию по API на веб-сайте Scikit-learn.
- Многочисленные авторы, соавторы и большое всемирное интернет-сообщество поддерживают и поддерживают Scikit-learn в актуальном состоянии.
Минусы
- Это не идеальный вариант для углубленного изучения.
Заключение
Scikit-learn — это критически важный пакет для каждого специалиста по обработке и анализу данных, который должен хорошо понимать и иметь некоторый опыт работы с ним. Это руководство должно помочь вам в манипулировании данными с помощью sklearn. Есть много других возможностей Scikit-learn, которые вы обнаружите по мере продвижения в своем приключении по науке о данных. Поделитесь своими мыслями в комментариях.
Оставьте комментарий