… .И как нам удалось его выиграть.

Введение в команду:

Наша команда называлась Positively Skewed и состояла из 4 человек:

Вираж Триведи - специалист по анализу данных в аптеке Medly. Суфян Хот в настоящее время является разработчиком программного обеспечения для электронной коммерции с 2-летним опытом.

Понимание постановки проблемы:

Сессию открыли наши наставники Амитанш Гупта и Пракаш Ванапалли. Они предоставили нам обзор набора данных. Они также предоставили нам правила подачи заявок на хакатоны и помогли нам на протяжении всего пути. Метод оценки для наших представлений - среднеквадратическая логарифмическая ошибка (RMSLE). Данные состояли из деталей банковских транзакций банка клиентов Common Man за апрель, май и июнь, а также среднего потребления кредитных карт в течение следующих 3 месяцев. Мы должны были сделать выводы из этих данных, поскольку банк может вознаграждать клиентов, а также удерживать их в зависимости от их структуры расходов, адаптируя новые стратегические планы. Структура расходов поможет им понять, для кого им следует адаптировать свои ссуды или финансовые продукты (паевые инвестиционные фонды, ссуды, счет прямого / срочного депозита).

Набор данных состоит из следующих функций:

Мы разделили проблему на следующие подзадачи, которые необходимо решить:

1. На основе предоставленных данных спрогнозируйте средний объем потребления кредитной карты каждым клиентом на следующие три месяца.

2. Найдите, какие функции влияют на потребление кредитной карты положительно / отрицательно.

3. Ознакомьтесь с текущими данными.

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

  1. В столбце «Возраст» были выбросы. Некоторые значения функции «Возраст» находились в диапазоне от 118 до 223. Мы решили отбросить эти строки, поскольку они являются неправильными значениями.
  2. 2. Нет пропущенных значений: в данных не было пустых или пропущенных значений.
  3. Выбросы. По каждой функции было большое количество выбросов. Мы решили применить следующие параллельные подходы:
    1. Подбираем модели после удаления всех выбросов и проверяем их точность.
    2. Подбираем модели после обработки выбросов, которые попадают в диапазон 3 * IQR (IQR = InterQuartile Range). ).
    3. Подбирайте модели после удаления выбросов, которые попадают в диапазон 3 * IQR.
    4. Подбирайте модели без обработки / удаления выбросов.

Из вышеупомянутых 4 подходов обработка выбросов, попадающих в диапазон 3 * IQR, дала самый низкий балл RMSLE, и мы решили придерживаться этого подхода. Обработка выбросов производилась с помощью метода победоносной оценки.

4.Нерелевантные функции: следующие функции были удалены по следующим причинам:
a) ID: уникальный идентификатор строк, не требующийся при установке модель.
б). Код региона: код региона является номинальным, поэтому мы решили удалить эту функцию.
c). Возможности без отклонений. Следующие функции имели единственное значение «1» во всем наборе данных: «personal_loan_active», «vehicle_loan_active», «personal_loan_closed», «vehicle_loan_closed», «credit_enq»
Мы решили удалить эти функции, поскольку они не изменялись и не помогали нашим моделям.

5. Наличие эффекта взаимодействия: мы проверили p-значение условий взаимодействия и обнаружили наличие значимых переменных взаимодействия, так как их p-значение было меньше 0,05.

6. Несовпадение данных: Интересное совпадение было в том, что название нашей группы было «Положительно искажено». Это название группы было выбрано до того, как нам был предоставлен набор данных. Когда мы проверили набор данных, почти все характеристики были искажены.

На графике выше видно, что данные сильно смещены вправо.

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

1. Линейный регрессор
2. Регрессор дерева решений

3. Регрессор случайного леса

Подходящие модели ванили:

К этим предварительно обработанным данным мы применили указанные выше 3 модели, из которых модель случайного леса дала самый низкий RMSLE 1,89.

Преобразование и масштабирование:

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

Это дополнительно улучшило RMSLE до 1,71.

Проблема переобучения:

До сих пор RMSLE поезда была больше, чем тестовая RMSLE. Это было признаком переобучения, и мы решили устранить это, применив регуляризацию Лассо (L1). После подбора регуляризации Лассо мы получили и обучающую, и тестовую RMSLE, равную 1,61.

Ниже приводится сводка всех моделей:

Выбор функций:

После того, как наша модель была выбрана, мы пошли дальше и выбрали только те функции, которые помогают в нашем прогнозе. Для этого мы использовали технику рекурсивного исключения признаков (RFE), чтобы выбрать лучшие функции. Модель RFE дала нам 28 лучших характеристик для предсказания. Мы также проверили лучшие функции с помощью Random Forest Regressor и получили те же 28 функций с наивысшей важностью.

Основные выводы / что мы узнали из этого:

Самым важным аспектом на протяжении всего пути к хакатону является то, что вы должны работать в команде. Мы узнали, насколько важно наладить четкое общение между членами команды. Мы создали 7-дневный план, в котором нам нужно было выполнять определенные задачи каждый день. Раньше у нас каждое утро проводились масштабные звонки, на которых мы обсуждали задачи и основные выводы предыдущего дня и планировали задачи на текущий день.

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

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

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

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

URL репозитория Github: https://github.com/Sufi737/Credit-card-consuming-hackathon

Профили участников на github:

Вирадж Триведи: https://github.com/VirajTvedi17

Суфьян Хот: https://github.com/Sufi737/