Настало время продолжить объяснение этого проекта. В этой серии статей мы рассмотрим реализацию рабочего процесса машинного обучения, участвуя в конкурсе kaggle, чтобы увидеть, как отдельные методы объединяются. Следующие шаги — это Исследовательский анализ данных и Разработка функций. Я бы объяснил, как использовать эти две части правильно и эффективно.

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

Я приветствую отзывы и критику. Вы можете связаться со мной по электронной почте [email protected].

Исследовательский анализ данных

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

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

В порядке! Приступим к изучению данных.

1. Один к одному

От канала к доходу

Канал: Канал, по которому пользователь пришел в Магазин.

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

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

От операционной системы к доходу

Это тот же процесс, что и в последней реализации. Позвольте мне нарисовать сюжет непосредственно.

От браузера к доходу

Кампания для получения дохода

Может быть, это не очень красивая картинка, но я думаю, что различить можно.

Те же методы, то же воздействие. Это здорово для понимания путем внедрения исследовательского анализа данных.

2. Создайте сводную таблицу

Когда я реализую часть «один-один», я думаю объединить две функции и увидеть взаимосвязь между двумя функциями и целью. Прежде чем перейти к части разработки функций, я думаю, что этот шаг является наиболее важным, потому что вы будете знать, насколько глубоки функции на этом этапе. Поэтому я настоятельно рекомендую приложить много усилий к этой части, чтобы соблюсти связи между всеми функциями. Здесь я бы реализовал несколько сводных таблиц, чтобы вы поняли, что я имею в виду.

1. страна и источник дохода

Я бы повернул «страну» и «источник», чтобы увидеть цель, просуммировав. Посмотрим!

pd.pivot_table(train_df,columns='geoNetwork.country',index='trafficSource.source',values='totals.transactionRevenue',aggfunc='sum').plot(kind='bar',stacked=True,logy=True)

Вам может быть интересно, что такое «темно-серая» страна, и это «Соединенные Штаты». Очевидно, если объединить разные источники, то разные страны будут получать разные доходы. Обнаружив эту взаимосвязь, я бы объединил эти две функции, потому что предсказываю, что они повлияют на прогнозирование дохода.

2. устройство и канал для получения дохода

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

pd.pivot_table(train_df,index='device.r',columns='channelGrouping',values='totals.transactionRevenue',aggfunc='sum').plot.bar(logy=True)

Снова! Различные устройства, которые сопровождаются разными каналами, будут приносить разные доходы.

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

Разработка функций

Вот как работала разработка функций! В начале размышлений о том, как работать с этими функциями, я ищу правильные результаты в ядрах Kaggle и нахожу много хороших разработок функций. Это начальный уровень разработки функций. Мы могли бы сделать сотню функций, изучив исходные функции. Но здесь, я думаю, достаточно перенести модели машинного обучения в следующий пост.

Вывод

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

Я приветствую отзывы и критику. Вы можете связаться со мной по электронной почте [email protected].