Создание классификатора & использование R для прогнозирования задержек рейсов с помощью конструктора Машинное обучение AzureBuild a classifier & use R to predict flight delays with Azure Machine Learning designer

Конструктор (Предварительная версия) — пример 6Designer (preview) sample 6

Применимо к: нетБазовый выпуск даКорпоративный выпуск                       (Перейти на выпуск "Корпоративный")APPLIES TO: noBasic edition yesEnterprise edition                       (Upgrade to Enterprise)

Этот конвейер использует исторические и погодные данные для прогнозирования того, что запланированный перелет пассажиров будет задержан более чем на 15 минут.This pipeline uses historical flight and weather data to predict if a scheduled passenger flight will be delayed by more than 15 minutes. Эта проблема может быть вызвана проблемой классификации, предсказанием двух классов: отложенным или вовремя.This problem can be approached as a classification problem, predicting two classes: delayed, or on time.

Вот итоговый граф конвейера для этого примера:Here's the final pipeline graph for this sample:

граф конвейераGraph of the pipeline

предварительным требованиямPrerequisites

  1. Создайте рабочую область Машинного обучения Azure, если у вас ее нет.Create an Azure Machine Learning workspace if you don't have one.

  2. Войдите в ml.Azure.com и выберите рабочую область, с которой вы хотите работать.Sign into ml.azure.com and select the workspace you want to work with.

  3. Выберите конструктор.Select Designer.

    Запуск конструктора

  1. Щелкните пример 6, чтобы открыть его.Click sample 6 to open it.

Получение данныхGet the data

В этом образце используется набор данных «задержки рейсов» .This sample uses the Flight Delays Data dataset. Он является частью сбора данных Транстатс из Департамента транспортировки США.It's part of the TranStats data collection from the U.S. Department of Transportation. Набор данных содержит сведения о задержке рейсов от апреля до октября 2013.The dataset contains flight delay information from April to October 2013. Набор данных предварительно обработан следующим образом:The dataset has been pre-processed as follows:

  • Отфильтрованы, чтобы включить 70 в континентальной частиные аэропорты в США.Filtered to include the 70 busiest airports in the continental United States.
  • Переметка отмененных авиарейсов была отложена более чем на 15 минут.Relabeled canceled flights as delayed by more than 15 mins.
  • Отфильтрованные рейси.Filtered out diverted flights.
  • Выбрано 14 столбцов.Selected 14 columns.

Для дополнения данных рейсов используется набор данных погоды .To supplement the flight data, the Weather Dataset is used. Данные погоды содержат почасовые наблюдения погоды на основе земли из NOAA и представляют наблюдения на станциях погоды в аэропорту, охватывающие тот же период времени, что и набор данных рейсов.The weather data contains hourly, land-based weather observations from NOAA, and represents observations from airport weather stations, covering the same time period as the flights dataset. Она была предварительно обработана следующим образом:It has been pre-processed as follows:

  • Идентификаторы станции погоды сопоставлены с соответствующими идентификаторами аэропорта.Weather station IDs were mapped to corresponding airport IDs.
  • Удалены станции погоды, не связанные с 70, которые были загружены в аэропорту.Weather stations not associated with the 70 busiest airports were removed.
  • Столбец дат был разбит на отдельные столбцы: год, месяц и день.The Date column was split into separate columns: Year, Month, and Day.
  • Выбрано 26 столбцов.Selected 26 columns.

Предварительная обработка данныхPre-process the data

Прежде чем можно будет анализировать набор данных, обычно требуется предварительная обработка.A dataset usually requires some pre-processing before it can be analyzed.

процесс обработки и анализа данных

Данные рейсовFlight data

Столбцы перевозчика, OriginAirportIDи DestAirportID сохраняются как целые числа.The columns Carrier, OriginAirportID, and DestAirportID are saved as integers. Однако они используют атрибуты категории, для преобразования их в категоризацию используется модуль Редактирование метаданных .However, they're categorical attributes, use the Edit Metadata module to convert them to categorical.

изменение метаданных

Затем используйте модуль Выбор столбцов в наборе данных, чтобы исключить из столбцов набора данных возможные целевые утечки: DepDelay, DepDel15, ArrDelay, Canceled, year.Then use the Select Columns in Dataset module to exclude from the dataset columns that are possible target leakers: DepDelay, DepDel15, ArrDelay, Canceled, Year.

Чтобы соединить записи о перелетах с почасовыми записями погоды, используйте запланированное время отправления как один из ключей объединения.To join the flight records with the hourly weather records, use the scheduled departure time as one of the join keys. Чтобы выполнить соединение, столбец Ксрдептиме должен быть округлен вниз до ближайшего часа, что выполняется в модуле выполнить сценарий R .To do the join, the CSRDepTime column must be rounded down to the nearest hour, which is done by in the Execute R Script module.

МетеоданныеWeather data

Столбцы, имеющие большую долю отсутствующих значений, исключаются с помощью модуля столбцы проекта .Columns that have a large proportion of missing values are excluded using the Project Columns module. Эти столбцы включают все столбцы со строковыми значениями: валуефорвиндчарактер, ветбулбфаренхеит, ветбулбцелсиус, прессуретенденци, прессуречанже, SeaLevelPressureи StationPressure .These columns include all string-valued columns: ValueForWindCharacter, WetBulbFarenheit, WetBulbCelsius, PressureTendency, PressureChange, SeaLevelPressure, and StationPressure.

Затем модуль Clean Missing Data (очистка недостающих данных ) применяется к оставшимся столбцам для удаления строк с отсутствующими данными.The Clean Missing Data module is then applied to the remaining columns to remove rows with missing data.

Время наблюдения погоды округляется до ближайшего полного часа.Weather observation times are rounded up to the nearest full hour. Время запланированного рейса и время наблюдения погоды округляются в противоположных направлениях, чтобы гарантировать, что модель использует только Погода до времени рейса.Scheduled flight times and the weather observation times are rounded in opposite directions to ensure the model uses only weather before the flight time.

Так как данные о погоде передаются в местное время, разница часовых поясов учитывается путем вычитания столбцов часовых поясов из запланированного времени отправления и времени наблюдения погоды.Since weather data is reported in local time, time zone differences are accounted for by subtracting the time zone columns from the scheduled departure time and the weather observation time. Эти операции выполняются с помощью модуля выполнить сценарий R .These operations are done using the Execute R Script module.

Соединение наборов данныхJoining Datasets

Записи о рейсах соединяются с данными о погоде в источнике рейса (OriginAirportID) с помощью модуля объединения данных .Flight records are joined with weather data at origin of the flight (OriginAirportID) using the Join Data module.

Присоединяйтесь к рейсу и погоду по источнику

Записи о рейсах соединяются с данными погоды с помощью назначения рейса (DestAirportID).Flight records are joined with weather data using the destination of the flight (DestAirportID).

Присоединяйтесь к рейсу и погоду по назначению

Подготовка образцов для обучения и тестированияPreparing Training and Test Samples

Модуль Split Data (разделение данных ) разделяет данные на записи в апреле по сентябрьским материалам для обучения и в октябре для тестирования.The Split Data module splits the data into April through September records for training, and October records for test.

Разделение обучающих и проверочных данных

Столбцы "год", "месяц" и "часовой пояс" удаляются из набора данных для обучения с помощью модуля выбор столбцов.Year, month, and timezone columns are removed from the training dataset using the Select Columns module.

Определение признаковDefine features

В машинном обучении функции — это отдельные измеримые свойства чего-то, о чем вы заинтересованы.In machine learning, features are individual measurable properties of something you’re interested in. Для поиска строгого набора функций требуется экспериментирование и знание предметной области.Finding a strong set of features requires experimentation and domain knowledge. Некоторые свойства лучше подходят для прогнозирования цели, чем другие.Some features are better for predicting the target than others. Кроме того, некоторые функции могут иметь надежную корреляцию с другими функциями и не будут добавлять в модель новые сведения.Also, some features may have a strong correlation with other features, and won't add new information to the model. Эти функции можно удалить.These features can be removed.

Для построения модели можно использовать все доступные функции или выбрать подмножество функций.To build a model, you can use all the features available, or select a subset of the features.

Выбор и применение алгоритма обученияChoose and apply a learning algorithm

Создайте модель с помощью модуля логистической регрессии с двумя классами и обучите набор данных для обучения.Create a model using the Two-Class Logistic Regression module and train it on the training dataset.

Результатом работы модуля обучение модели является обученная модель классификации, которую можно использовать для оценки новых образцов для создания прогнозов.The result of the Train Model module is a trained classification model that can be used to score new samples to make predictions. Используйте проверочный набор для создания оценок из обученных моделей.Use the test set to generate scores from the trained models. Затем используйте модуль « Анализ модели » для анализа и сравнения качества моделей.Then use the Evaluate Model module to analyze and compare the quality of the models. конвейер после запуска конвейера можно просмотреть выходные данные модуля Оценка модели , щелкнув порт вывода и выбрав визуализировать.pipeline After you run the pipeline, you can view the output from the Score Model module by clicking the output port and selecting Visualize. Выходные данные включают оцененные метки и вероятности для меток.The output includes the scored labels and the probabilities for the labels.

Наконец, чтобы проверить качество результатов, добавьте модуль « Оценка модели » на холст конвейера и Соедините левый входной порт с выходными данными модуля оценки модели.Finally, to test the quality of the results, add the Evaluate Model module to the pipeline canvas, and connect the left input port to the output of the Score Model module. Запустите конвейер и просмотрите выходные данные модуля Анализ модели , щелкнув порт вывода и выбрав визуализировать.Run the pipeline and view the output of the Evaluate Model module, by clicking the output port and selecting Visualize.

EvaluateEvaluate

Модель логистической регрессии имеет AUC из 0,631 в тестовом наборе.The logistic regression model has AUC of 0.631 on the test set.

evaluate

Дополнительная информацияNext steps

Изучите другие примеры, доступные для конструктора:Explore the other samples available for the designer: