Комплексное интерактивное исследование данных и обучение моделированию в Машинном обучении Azure (часть 1)

Прежде чем приступать к обучению моделей, необходимо получить четкое представление о данных. Реальные наборы данных часто зашумлены, содержат пропущенные значения или имеют множество других несоответствий. Вы можете использовать обобщение и визуализацию данных, чтобы проверить качество ваших данных и предоставить информацию, необходимую для обработки данных, прежде чем они будут готовы к моделированию. Этот процесс часто является итеративным. Инструкции по очистке данных см. в разделе Задачи по подготовке данных для расширенного машинного обучения.

После того, как качество очищенных данных вас удовлетворит, следующий шаг – лучше понять закономерности, присущие этим данным. Этот анализ данных помогает выбрать и разработать подходящую прогностическую модель для вашей цели. Ищите доказательства того, насколько хорошо данные связаны с целью. Затем определите, достаточно ли данных для перехода к следующим этапам моделирования. Опять же, этот процесс часто повторяется. Возможно, вам потребуется найти новые источники данных с более точными или более релевантными данными, чтобы дополнить набор данных, первоначально определенный на предыдущем этапе. (справочные ссылки)

Здесь я собираюсь использовать платформу студии машинного обучения Azure для запуска своих сценариев для визуализации данных и обучения моделированию.

Что такое Машинное обучение Azure?

Машинное обучение Azure можно использовать для любого вида машинного обучения, от классического машинного обучения до глубокого обучения, контролируемого и неконтролируемого обучения. Независимо от того, предпочитаете ли вы писать код на Python или R с помощью SDK или работать с вариантами без кода или с малым количеством кода в студии, вы можете создавать, обучать и отслеживать модели машинного обучения и глубокого обучения в рабочей области машинного обучения Azure. .(ссылка на ссылку)

Машинное обучение Azure позволяет управлять:

  • Масштабируемые вычисления по запросу для рабочих нагрузок машинного обучения.
  • Хранение данных и возможность подключения для получения данных из самых разных источников.
  • Оркестровка рабочего процесса машинного обучения для автоматизации процессов обучения, развертывания и управления моделями.
  • Регистрация моделей и управление ими, чтобы вы могли отслеживать несколько версий моделей и данные, на которых они обучались.
  • Показатели и мониторинг обучающих экспериментов, наборов данных и опубликованных сервисов.
  • Развертывание модели для пакетного логического вывода в реальном времени.

У специалистов по машинному обучению разный опыт, так почему мы должны ожидать, что они будут работать с одними и теми же инструментами? AML представил возможности, которые упрощают построение моделей для любого уровня квалификации.

Здесь вы видите различные инструменты для задач машинного обучения и обработки данных в зависимости от кода и уровня машинного обучения:

Для исследования данных мы будем использовать вычислительный экземпляр Azure ML. Вычислительный экземпляр Azure Machine Learning (ранее Notebook VM) — это полностью управляемая облачная рабочая станция, которая включает несколько инструментов и сред, установленных для машинного обучения. Вычислительные экземпляры можно использовать в качестве целевого объекта вычислений для обучения и выполнения заданий.

Экономьте время на задачах настройки! Благодаря предварительно настроенным и обновленным пакетам машинного обучения, платформам глубокого обучения и драйверам графического процессора.

Экземпляры вычислений включают установки Jupyter Notebook, JupyterLab и R studio, которые можно использовать для написания и выполнения кода, использующего пакет SDK машинного обучения Azure, для работы с активами в рабочей области. Вы можете выбрать образ ВМ, обеспечивающий необходимую спецификацию вычислений, от небольших ВМ только с ЦП до больших рабочих станций с поддержкой ГП. Поскольку виртуальные машины размещаются в Azure, вы платите за вычислительные ресурсы только во время их работы; Таким образом, вы можете создать виртуальную машину в соответствии со своими потребностями и остановить ее по завершении рабочей нагрузки, чтобы минимизировать затраты.

Шаги:

1- Создайте студию машинного обучения Azure: (Инструкция) https://amlworkshop.blob.core.windows.net/mlworkshop/1-CreateAML.mp4

2- Создайте вычислительный экземпляр Azure: (Инструкция) https://amlworkshop.blob.core.windows.net/mlworkshop/2-CreateCompute.mp4

3-Создайте новую среду:

Перед этим нам нужно создать файл yml для зависимостей в новом окружении: вот idear_env.yml

name: visualization
channels:
- defaults
- conda-forge
dependencies:
- python=3.6
- pandas
- numpy
- matplotlib
- cufflinks-py
- nbformat
- ipython
- ipywidgets
- scipy
- ipykernel
- seaborn
- pyyaml
- scikit-learn
- statsmodels
- chart-studio

Внутри вычислительного экземпляра AML откройте ноутбук Jupyter и в среде ноутбука создайте новый терминал. Откроется новая вкладка с командной оболочкой.

git clone https://github.com/shoresh57/AML.git
conda env list
jupyter kernelspec list
cd AML/Visualization/
conda env create -f idear_env.yml
conda activate visualization
python -m ipykernel install --user --name visualization --display-name "python(Visualization)"
jupyter kernelspec list

4- закройте терминал и внутри вычислительного экземпляра откройте jupyter и откройте файл Data_Exploration.ipynb в папке AML/Visualization и запустите его в ядре python(Visualization)

Интерактивное исследование данных

В репозитории Azure на GitHub я нашел отличный репозиторий для отчета о качестве данных (Azure/Azure-TDSP-Utilities), к сожалению, этот репозиторий больше не будет обновляться, и на данный момент многие люди сталкиваются с проблемой запуска idear. ipynb в этом репо. поэтому здесь я попытался использовать ту же концепцию и изменить сценарии для решения проблемы.

Дополнительные сведения об этом ноутбуке см. в следующем видео: