Как стать автором
Обновить

Где лучше всего пробовать идеи для обучающихся систем?

Уровень сложностиСредний
Время на прочтение2 мин
Количество просмотров2.1K

Для того, чтобы разобраться в сложной и объемной теме машинного обучения, попробовать свои силы и отточить навыки, оптимально подходит библиотека scikit-learn (sklearn). Это среда языка Python, она реализует множество различных алгоритмов обучения и стратегий оценки и предоставляет единый интерфейс для их применения. 

Один из простейших методов оценки обучающейся системы — наблюдение за  ее производительностью по мере предоставления ей все большего числа обучающих примеров. В следующем фрагменте кода для выполнения необходимых вычислений используется функция learning_curve из библиотеки sklearn.

Функция learning_curve возвращает массивы с двумя измерениями, одно из которых соответствует количеству размеров тренировочных наборов, а другое — количеству множеств, используемых для проведения перекрестной проверки. Назовем их (percents, folds). В вышеприведенном фрагменте кода используются значения (10, 5). К сожалению, преобразовать содержимое показанной выше таблицы в графики затруднительно. Однако в библиотеке Seaborn есть — или по крайней мере была — вспомогательная функция tsplot, которая может в этом помочь. Данная функция создает несколько наложенных друг на друга графиков, по одному для каждого состояния, и вычисляет центр и диапазон на основе многократных измерений. Функция tsplot предназначена для построения временных рядов. Она ожидает получить данные, включающие три компонента: моменты времени, состояния и повторы. На графике эти три компонента соответствуют оси x, линии, образуемой в результате группировки данных, и областям утолщения этой линии. Группировка позволяет объединить определенные точки данных; поскольку мы рисуем на одном изображении несколько графиков, нам нужно знать, какие данные принадлежат области одного и того же цвета. Повторы соответствуют множеству оценок одного и того же сценария, допускающих некоторые случайные вариации. Повторив этот процесс, вы получите несколько иной результат. 

Функция tsplot ожидает получить перечисленные выше компоненты в следующем порядке: (repeats, times, conditions) (повторы, моменты времени, состояния). Взяв результаты функции learning_curve и поместив train_scores и test_scores во внешнее измерение этого массива, мы получим данные, структурированные следующим образом: (train/test condition, percents, folds).  Чтобы изменить порядок следования осей данного массива на (folds, percents, conditions) и привести его в соответствие с результатом функции tsplot ((repeats, times, conditions)), мы используем функцию np.transpose. 

Этот метод вместе с кодом приводит в своей книге «Машинное обучение с помощью PYTHON для всех» Марк Феннер. Его объемная, но доступная для новичков в Python работа показывает, как с помощью этого языка можно строить, тестировать, оценивать и применять обучающиеся модели. Здесь рассмотрены вопросы от сферы применения моделей до практического использования библиотек NumPy, scikit-learn, skiPy и др. Особенностью книги стала непривычно скромная математика: совсем немного формул и алгебраической терминологии, и явное доминирование кода, что весьма символично, ведь обучающиеся системы как раз должны избавить нас от математических изысканий. Не забывайте, именно за такими моделями стоит будущее программирования, а значит, и человечества. 

Теги:
Хабы:
Всего голосов 2: ↑1 и ↓1+2
Комментарии0

Публикации

Истории

Работа

Python разработчик
200 вакансий
Data Scientist
102 вакансии

Ближайшие события

27 августа – 7 октября
Премия digital-кейсов «Проксима»
МоскваОнлайн
28 – 29 сентября
Конференция E-CODE
МоскваОнлайн
28 сентября – 5 октября
О! Хакатон
Онлайн
30 сентября – 1 октября
Конференция фронтенд-разработчиков FrontendConf 2024
МоскваОнлайн
3 – 18 октября
Kokoc Hackathon 2024
Онлайн
7 – 8 ноября
Конференция byteoilgas_conf 2024
МоскваОнлайн