Подготовка набора данных к обучению
Вы обучаете набор данных, чтобы получить ответ на свой вопрос, решаемый с помощью машинного обучения. Обучающий набор данных включает столбец для каждой характеристики, а также столбец, содержащий целевое значение. Алгоритмы машинного обучения изучают общие закономерности в этих строках данных для создания модели, способной прогнозировать целевое значение.
Чтобы подготовить набор данных для машинного обучения, необходимо понимать свои данные и собрать необходимые точки диаграммы. Также может потребоваться преобразовать некоторые данные и удалить те, которые не относятся к вашему варианту использования.
Какие данные следует собирать?
Точно сформулируйте свой вопрос для машинного обучения и решите, что именно необходимо агрегировать для подхода к этому вопросу:
-
Если вы хотите спрогнозировать, какие клиенты уйдут, вам нужно агрегировать набор данных, где каждая строка представляет клиента, каждый столбец характеристики представляет характеристику, описывающую этого клиента, а целевой столбец указывает, ушел ли этот клиент за определенный период времени.
-
Если вы хотите спрогнозировать объем продаж для определенного месяца и региона, вам нужно агрегировать набор данных, где каждая строка представляет определенный месяц для определенного региона, каждый столбец характеристики представляет характеристику, описывающую бизнес в этом месяце в этом регионе, а целевой столбец — это выручка от продаж для этого региона в этом месяце.
Попытайтесь выяснить, какие факторы могут повлиять на целевое значение, и проверьте, можно ли собрать эти данные. Помните, что алгоритмы прогнозирования могут выявлять только те закономерности, которые присутствуют в данных. Возможно, вам нужно собрать или создать дополнительные характеристики для извлечения дополнительной информации?
Вы также должны определить, сколько данных необходимо накопить, прежде чем можно будет делать точные прогнозы. Сколько времени должно пройти, прежде чем событие станет репрезентативным? Рассмотрите следующие примеры:
-
Клиенты должны быть участниками в течение 60 дней, прежде чем вы сможете спрогнозировать, уйдут ли они к 90-му дню.
-
Стоимость страховых выплат не будет известна в течение нескольких месяцев, поэтому вы можете исключить претензии сроком давности менее шести месяцев.
Различайте данные, зависящие и не зависящие от времени. Если данные зависят от времени, снабжены ли они меткой времени для правильного агрегирования?
Будут ли данные доступны на момент прогнозирования?
Убедитесь, что все характеристики, которые вы включаете в обучающий набор данных, будут доступны и для будущих прогнозов. Распространенной ошибкой является обучение модели на характеристиках, которые доступны для исторических данных, но не будут доступны в момент составления прогноза в будущем. При составлении прогнозов на новых данных алгоритм машинного обучения должен иметь значения для всех характеристик, которые были доступны в обучающем наборе данных.
Чем больше данных, тем лучше?
Размер выборки
Больший объем данных, как правило, позволяет создавать более надежные модели. Любые дополнительные релевантные точки диаграммы будут полезны, будь то новые или исторические наблюдения.
Количество характеристик
Может возникнуть соблазн включить в модель все возможные переменные независимо от их релевантности целевому результату. Обычно чем проще, тем лучше. Как правило, лучше использовать в модели меньшее количество характеристик.
Когда характеристик больше, возрастает риск потенциального сокрытия истинной базовой взаимосвязи, которую вы хотите раскрыть. Прогнозная модель может использовать все характеристики для создания серии сложных правил, которые хорошо работают с данными, использованными для обучения модели. Но на самом деле на прогнозируемое целевое значение могут влиять только одна или две характеристики. Модель может плохо обобщать данные за пределами тех, что использовались при обучении, что приведет к низкой эффективности прогнозирования при применении к новым данным.
Переобучение
Переобучение означает, что модель слишком сложна и, как следствие, ненадежна для прогнозирования новых данных. Переобучение, как правило, происходит, когда имеется слишком много характеристик по отношению к количеству доступных точек диаграммы. Например, в наборе данных может быть только 50 строк данных и 100 столбцов характеристик.
Релевантны ли ваши обучающие данные?
Алгоритм машинного обучения находит закономерности в данных, которые вы ему предоставляете, и использует эти закономерности для составления прогнозов на данных в будущем. Когда вы делаете прогнозы на новых данных, вы предполагаете, что они похожи на обучающие данные. По этой причине важно, чтобы обучающий набор данных статистически напоминал данные, на которых вы будете делать прогнозы.
Если рынок или бизнес значительно изменились по сравнению с тем, что описывает ваш обучающий набор данных, вы, вероятно, используете устаревший набор данных, который приведет к неточным прогнозам. Возможно, вам потребуется создать новый обучающий набор данных и использовать только те данные, которые собраны после того, как произошло изменение.
Рассмотрим пример с прогнозированием продаж в разделе Понимание машинного обучения. Допустим, мы загрузили в наш алгоритм данные, представляющие расходы на рекламу на телевидении, радио и в газетах, а также выручку от продаж за исторические бизнес-кварталы. Однако данные были собраны в 1980-х годах. Сейчас мы больше не рекламируем этот продукт по радио и почти исключительно рекламируем его в Интернете. Наш обученный алгоритм будет плохо прогнозировать продажи в текущем бизнес-квартале, поскольку обучающие данные не репрезентативны для текущего бизнеса.
Исследование данных
Используйте свои знания о бизнесе для понимания и проверки данных. Если данные не совпадают с вашими предположениями, может ли это означать проблемы с данными или то, что ваши предположения неверны?
Удаление ненадежных характеристик
Рассмотрите возможность исключения из набора данных столбцов, в которых:
-
Наблюдается высокая концентрация одного значения (низкая кардинальность). Например, столбец со значениями «красный», «зеленый», «синий», где 90 процентов значений — «красный».
-
Значения в высокой степени уникальны (высокая кардинальность).
-
Большинство значений являются нулевыми (null).
Обработка коррелирующих характеристик
Удалите избыточные характеристики, такие как сильно коррелирующие характеристики, которые предоставляют ту же или очень похожую информацию. Рассмотрите возможность выбора одной характеристики из групп, которые, по-видимому, фиксируют одинаковое поведение в данных. Попытайтесь определить, не является ли одна характеристика определяющей для другой.
Замена нулевых значений
Исследуйте свои данные, чтобы выяснить, есть ли пропущенные значения в ключевых точках диаграммы, таких как целевое значение или ключевые характеристики. Чтобы использовать значения из разреженного столбца, вы можете заменить нулевые значения на «другое» или «неизвестно». Или, возможно, вам нужно переоценить процесс сбора данных.
Целевой диапазон
Посмотрите на распределение данных. Если распределение ваших целевых данных слишком разбросано по отношению к размеру выборки, может быть трудно найти какую-либо закономерность в ваших данных.
Каков диапазон значений данных? Существуют некоторые проблемы с прогнозированием значений данных за пределами диапазона. Подробнее см. в разделе Экстраполяция и интерполяция.
Есть ли аномалии в распределении? Асимметрия, хвосты и мультимодальные формы в ваших данных могут потребовать дополнительного преобразования данных или дальнейшего конструирования характеристик. Попробуйте сгруппировать категории с небольшим объемом и округлить или удалить хвосты в числовых характеристиках.
Устранение выбросов
Рассмотрите возможность удаления наблюдений со значениями выбросов в столбцах характеристик. Выбросы могут препятствовать способности алгоритма распознавать общие закономерности в данных. Возможно, будет лучше рассмотреть меньшее подмножество данных, которое имеет более плотный разброс в целевом столбце.
Группировка данных
Вы можете улучшить свои результаты, разделив данные на разные наборы данных и используя их для обучения отдельных моделей. Основывайте группировку данных на одной или нескольких характеристиках.
Утечка данных
Утечка данных означает, что данные, используемые для обучения алгоритма машинного обучения, включают информацию, которую вы пытаетесь спрогнозировать.