При построении прогностической модели с использованием методов машинного обучения, какой смысл проводить исследовательский анализ данных (EDA)? Можно ли сразу перейти к генерации объектов и созданию вашей модели? Как важна описательная статистика, используемая в EDA?
23
[descriptive-statistics]
тег, и ваш последний вопрос - важна ли описательная статистика. В этом контексте вы имеете в виду вычисление различной описательной статистики только тогда, когда упоминаете EDA, или вы спрашиваете как об описательной статистике, так и EDA? Я спрашиваю, потому что многие люди (в том числе и я) думают о EDA как о не только описательной статистике.Ответы:
Недавно у меня было задание на собеседование на должность специалиста в области данных. Мне дали набор данных и попросили построить прогностическую модель для прогнозирования определенной двоичной переменной с учетом других с ограничением по времени в несколько часов.
Я по очереди просматривал каждую из переменных, составлял их график, вычислял итоговую статистику и т. Д. Я также рассчитывал корреляции между числовыми переменными.
Среди вещей, которые я нашел, были:
Я хочу сказать, что это были вещи, которые были намеренно введены, чтобы увидеть, заметят ли люди их, прежде чем пытаться построить модель. Компания использует их, потому что они могут происходить в реальной жизни и существенно влиять на производительность модели.
Так что да, EDA важна при машинном обучении!
источник
Очевидно, да.
Анализ данных может привести вас ко многим пунктам, которые повредят вашей прогностической модели:
Неполные данные
Предполагая, что мы говорим о количественных данных, вам нужно решить, хотите ли вы игнорировать столбец (если пропущено слишком много данных) или выяснить, каким будет ваше значение по умолчанию (среднее, режим и т. Д.). Вы не можете сделать это без предварительного изучения ваших данных.
Ненормальные данные
Скажем, у вас есть данные, которые довольно сильно коррелируют, но есть 2% ваших данных, которые находятся далеко от этой корреляции. Возможно, вы захотите удалить эти данные в целом, чтобы помочь вашей модели прогнозирования
Удалить столбцы со слишком большой корреляцией
Хорошо, это немного противоречит моей предыдущей точке зрения, но английский не мой основной язык, поэтому я надеюсь, что вы поймете.
Я возьму тупой пример, скажем, вы анализируете набор данных футбольного стадиона, и у вас есть в
Width, Length, Area
качестве параметров. Что ж, мы можем легко представить, что эти три параметра будут сильно коррелированы. Слишком сильная корреляция между вашими столбцами ведет прогностическую модель в неправильном направлении. Вы можете решить сбросить один или несколько параметров.Найти новые функции
Я возьму пример маленького Титаника Kaggle "Конкурс" . Глядя на имена людей, вы можете понять, что вы можете извлечь особенность
Title
человека. Эта функция оказывается очень важной, когда дело доходит до моделирования, но вы бы ее упустили, если бы сначала не проанализировали свои данные.Возможно, вы решите связать свои непрерывные данные, потому что они кажутся более подходящими, или превратить непрерывную функцию в категориальную.
Найдите какой алгоритм использовать
Я не могу рисовать графики прямо сейчас, но давайте сделаем это простым примером.
Представьте, что у вас есть маленькая модель с одним столбцом объектов и одним двоичным (только 0 или 1) столбцом «результата». Вы хотите создать модель прогнозирующей классификации для этого набора данных.
Если, в качестве примера, снова вам нужно было построить график (так, проанализируйте свои данные), вы могли бы понять, что график образует идеальный круг вокруг вашего значения 1. В таком случае было бы довольно очевидно, что вы могли бы использовать полиномиальный классификатор, чтобы получить отличную модель, вместо того, чтобы прыгать прямо в DNN. (Очевидно, учитывая, что в моем примере только два столбца, это не очень хороший пример, но вы понимаете, в чем дело)
В целом, вы не можете ожидать, что прогностическая модель будет работать хорошо, если вы сначала не посмотрите на данные.
источник
Одной из важных задач, предпринятых EDA, является поиск ошибок ввода данных и других аномальных точек.
Другое заключается в том, что распределение переменных может влиять на модели, которые вы пытаетесь подогнать.
источник
У нас была фраза по химии:
« Две недели, проведенные в лаборатории, могут сэкономить вам два часа на Scifinder ».
Я уверен, что то же самое относится к машинному обучению:
« Две недели обучения нейронной сети могут сэкономить 2 часа на просмотре входных данных ».
Вот те вещи, которые я должен пройти, прежде чем начинать любой процесс ML.
Помимо этих основных шагов, я бы не стал тратить много времени на просмотр данных, прежде чем применять к ним процессы ML. Если у вас уже есть большое количество переменных, их сложные нелинейные комбинации становится все труднее не только найти, но и построить и понять. Такого рода вещи лучше всего обрабатываются компьютером.
источник
Статистическая перспектива:
Оставляя в стороне ошибки на этапе моделирования, есть три вероятных результата от попыток прогнозирования без предварительного выполнения EDA:
Перспектива управления проектом:
Решение проблем с данными может занять значительное количество времени и усилий. Например:
Чем раньше вы сможете выявить такие проблемы, тем выше ваши шансы удержать ваш проект на рельсах, вовремя завершить работу и порадовать своих клиентов.
источник