Выбор сценария и подготовка данных

Завершено

В этом уроке вы узнаете о выборе сценария и среды обучения и подготовке данных для обучения в Model Builder.

Начало процесса обучения

Чтобы начать процесс обучения, необходимо добавить новый элемент Модель машинного обучения (ML.NET) в новое или существующее приложение .NET.

Совет

Переносимость является одним из преимуществ, предоставляемых библиотеками классов. Библиотеки классов упрощают ссылки на любые модели, которые являются частью этого приложения, из консольного, классического, веб- и любого другого типа приложения .NET. Поэтому рекомендуется добавлять элементы "Модель машинного обучения (ML.NET)" в библиотеку классов.

Элемент "Модель машинного обучения (ML.NET)" добавляет в ваш проект файл с расширением .mbconfig. Файлы с расширением .mbconfig — это файлы конфигурации Model Builder, созданные в формате JSON. Они позволяют выполнять следующие задачи:

  • Назовите модель.
  • Работать совместно с другими участниками команды с помощью системы управления версиями.
  • Сохранять состояние. Если в какой-то момент обучения необходимо закрыть Model Builder, состояние сохраняется, и вы можете продолжить с того места, на котором остановились.

Выбор сценария

Первый шаг в обучении модели машинного обучения — выбрать сценарий и задачу машинного обучения с учетом того, что вы пытаетесь спрогнозировать.

Что такое сценарий?

В сценарии описывается проблема, которую вы пытаетесь решить с помощью ваших данных. Некоторые из типичных сценариев приведены в предыдущем уроке:

  • Категоризация данных — упорядочение новостных статей по темам.
  • Прогнозирование числового значения — расчет цены дома.
  • Группирование элементов со схожими характеристиками — сегментация клиентов.
  • Классификация изображений — пометка изображения на основе его содержимого.
  • Рекомендации — рекомендуемые фильмы.
  • Обнаружение объектов на изображении — обнаружение пешеходов и велосипедистов на перекрестке.

Эти сценарии соответствуют задачам машинного обучения. Задача машинного обучения — это вид прогноза или вывода, основанный на возникшей проблеме или вопросе, а также доступных данных.

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

  • Контролируемое
  • Неконтролируемое

Основное различие между ними заключается в том, известна ли метка, или значение, которое вы пытаетесь спрогнозировать.

При контролируемом обучении метка известна. Ниже приведены примеры контролируемых задач машинного обучения:

  • Классификации
    • Двоичное (две категории).
    • Многоклассовое (две или более категории).
    • Image
  • Регрессия

При неконтролируемом обучении метка неизвестна. Ниже приведены примеры неконтролируемых задач машинного обучения:

  • кластеризация
  • Обнаружение аномалий

Поддерживаемые сценарии в Model Builder

Model Builder поддерживает следующие сценарии, которые сопоставляются с задачами машинного обучения:

Сценарий Задача машинного обучения Вариант использования
Классификация данных Двоичная классификация и классификация по нескольким классам Упорядочение статей по темам.
Прогнозирование значения линейная регрессия Прогнозирование цены дома на основе его признаков.
Классификация изображений Классификация изображений (глубокое обучение). Упорядочение изображений по видам животных на основе содержимого изображения.
Рекомендация Рекомендация Рекомендации фильмов на основе предпочтений аналогичных пользователей.
Обнаружение объектов Обнаружение объектов (глубокое обучение). Выявление физических повреждений объекта на изображении.

Выбор сценария для прогнозного обслуживания

В зависимости от имеющихся данных, проблему прогнозного обслуживания можно смоделировать с помощью различных задач. Для вашего сценария подходит сценарий классификации данных, поскольку метка имеет двоичное значение (0 или 1), которое показывает, сломано устройство или нет.

Выбор среды

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

Поддерживаемые среды в Model Builder

Model Builder поддерживает следующие варианты среды:

Сценарий Локально (ЦП) Локально (GPU) Azure GPU
Классификация данных ✔️
Прогнозирование значения ✔️
Классификация изображений ✔️ ✔️ ✔️
Рекомендация ✔️
Обнаружение объектов ✔️

В зависимости от вашего варианта использования существует несколько факторов, которые определяют, какую среду лучше выбрать — локальную или среду Azure.

Локальные среды

Преимущества локальных вычислительных сред:

  • Локальное обучение не требует затрат, так как вы используете ресурсы своего компьютера.
  • Вы не хотите, чтобы данные передавались в другие расположения.

Среды Azure

Такие сценарии, как классификация изображений и обнаружение объектов, потребляют много ресурсов. Использование GPU часто может ускорить процесс обучения. Если у вас нет графического процессора или компьютера с достаточным объемом ресурсов ЦП или ОЗУ, можно перенести эти рабочие нагрузки в Azure, чтобы разгрузить локальную систему.

Загрузка и подготовка данных

Выбрав сценарий и среду обучения, перейдите к загрузке и подготовке данных.

Данные являются наиболее важным компонентом при создании моделей машинного обучения. Процесс загрузки данных в Model Builder состоит из трех этапов:

  1. Выбор типа источника данных.
  2. Укажите расположение ваших данных.
  3. Выбор назначения столбцов.

Выбор типа источника данных.

В зависимости от сценария Model Builder поддерживает загрузку данных из следующих источников:

  • Файлы с разделителями (запятая, точка с запятой и табуляция).
  • Локальные и удаленные базы данных SQL Server.
  • Изображения (JPG и PNG).

Указание местоположения данных.

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

Если источник данных выбран в Model Builder, он анализирует данные и старается определить следующие элементы:

  • Заголовки и имена столбцов.
  • Разделитель столбцов
  • Типы данных столбцов
  • Назначение столбцов.
  • Десятичные разделители.

После загрузки данных Model Builder отображает сведения о некоторых элементах в наборе данных.

Выбор назначения столбцов.

В зависимости от выбранного сценария необходимо определить назначение определенных столбцов. В таких сценариях, как классификация данных и прогнозирование значений, необходимо выбрать, какой из столбцов необходимо спрогнозировать (метка).

По умолчанию все остальные столбцы, не являющиеся меткой, используются в качестве признаков. Признаки — это столбцы, используемые в качестве входных данных для прогнозирования метки.

Расширенные параметры данных

Чтобы настроить способ загрузки данных, Model Builder предоставляет расширенные параметры данных. Это позволяет настраивать параметры, относящиеся к форматированию столбцов и наборов данных.

Для столбцов можно выбрать следующие параметры:

  • Цель — столбец должен быть признаком, меткой или игнорироваться? В качестве метки можно выбрать только один столбец.
  • Тип данных — это значение с плавающей запятой одиночной точности, строка или логическое значение?
  • Категория — столбец представляет значение категории (например, "низкий", "средний", "высокий")?

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

Основные сведения о наборе данных прогнозного обслуживания

Набор данных, используемый в этом модуле: AI4I 2020 Predictive Maintenance Dataset. Этот синтетический набор данных отражает реальные данные прогнозного обслуживания в отрасли. Он включает 10 000 точек данных и 14 столбцов. Набор данных для этого модуля взят из доклада

Explainable Artificial Intelligence for Predictive Maintenance Applications (Простой искусственный интеллект для приложений прогнозного обслуживания), Стефан Матцка (Stephan Matzka), Третья международная конференция по искусственному интеллекту для отраслей (AI4I 2020), 2020 г. (в прессе), и размещается в репозитории машинного обучения UCI, Дуа, Д. (Dua, D.) и Графф С. (Graff, C.) (2019). UCI репозитория машинного обучения http://archive.ics.uci.edu/ml. Ирвин: Калифорнийский университет, школа информационных и компьютерных наук.

Ниже приведена небольшая выборка этих данных:

UDI Код продукта Тип Температура воздуха [K] Температура процесса [K] Скорость вращения [об/мин] Крутящий момент [Нм] Износ инструмента [мин] Отказ оборудования TWF HDF PWF OSF RNF
1 M14860 Пн. 298,1 308,6 1551 42,8 0 0 0 0 0 0 0
162 L47341 L 298,3 308,1 1412 52,3 218 1 0 0 0 1 0

Столбцы определяются следующим образом:

  • UDI: индекс строки.
  • Идентификатор продукта — идентификатор продукта, содержащий категорию типа продукта и серийный номер, зависящий от варианта.
  • Тип: категория качества продукта. Значения: L (низкое; 50 % всех продуктов), M (среднее; 30 %) или H (высокое; 20 %).
  • Температура воздуха [K], Температура процесса [K], Скорость вращения [об./мин], Крутящий момент [Нм], Износ инструмента [мин] — значения, собранные с датчиков.
  • Отказ оборудования: двоичная метка (0 или 1), указывающая на отказ оборудования.
  • TWF, HDF, PWF, OSF, RNF: различные режимы отказа отдельного оборудования. Значение 1 указывает, что возник соответствующий режим сбоя.

В этом сценарии вы не будете использовать все столбцы в наборе данных, так как они не помогают сделать прогноз или содержат лишнюю информацию.

Так как вы хотели бы иметь возможность предсказать отказ оборудования, меткой будет столбец Отказ оборудования. В Model Builder в качестве признаков можно использовать данные из столбцов Идентификатор продукта, Тип и различных датчиков.

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

Перейдите к следующему уроку, чтобы проверить свои знания о сценариях, средах и подготовке данных.