ОСОБЕННОСТИ ИНЖИНИРИНГА

5 Основы проектирования функций для любого бизнеса

Как вы вручную создавали основные функции для машинного обучения

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

Вы можете принять решение, о котором никогда раньше не думали.

Обычно мы начинаем анализ с набора необработанных данных. Данные хранятся на уровне транзакции, в каждой строке указывается, какой товар и в каком количестве был продан. Разработка функций заключается в

  1. Агрегируйте данные с одного уровня на другой (от транзакции до уровня клиента)
  2. Получите новую функцию в той же единице анализа, объединив ее с другой функцией.

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

Это два способа создания новых функций.

  1. Ваш опыт.
  2. Попробуйте все возможности (это то, что делает auto-ml)

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

Приведенная особенность объяснима. Вы не сделаете функцию, которую не можете понять интуитивно.

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

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

Полезная функция может быть не интуитивно понятной. И это не в твоих идеях.

Ответом на это может быть использование всех возможностей. Именно этим сейчас занимается auto-ml. Он пропускает интуитивно понятную часть и учитывает все комбинированные варианты. Вот почему auto-ml использует так много ресурсов при разработке модели.

Хорошая сторона auto-ml заключается в том, что вы можете получить новое понимание, о котором никогда раньше не задумывались.

Проблема

все дело в деньгах

Поскольку компания начала вкладывать средства в науку о данных,

автосервис кажется дорогостоящим для управленческой команды.

Им нужны успешные варианты использования, прежде чем тратить много денег на инфраструктуру данных. Стоит ли потратить деньги? Это самый важный вопрос, на который нужно ответить.

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

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

Достаточно для введения

Следующее будет базовым принципом разработки функций, который я пробовал, когда работал специалистом по обработке данных в банковской сфере.

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

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

Давайте начнем!

Статистическая

Мы так много узнаем из статистики. Есть много элементов, которые можно использовать при проектировании функций. Вы можете начать с основных свойств, таких как

Среднее, Медиана, Режим, Стандартное отклонение, Макс, Мин, Процентиль, Ранг, Количество уникальных, Сумма, Количество и т. Д.

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

Например, если у меня есть сумма платежа для каждого покупателя, я могу агрегировать данные по сегментации образа жизни за определенный период (3, 6, 12 месяцев).

Эти функции интуитивно понятны.

Он показывает поведение клиента во времени или сегменте, в котором проживает клиент. Чем больше времени, тем более надежным будет инструмент для измерения его поведения в отношении расходов.

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

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

Вы можете использовать X как номер следующего месяца, скажем [1,2,3,4,5,6] для шестимесячного периода, а Y как базовое значение функции, например сумму расходов.

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

Одна вещь, о которой нужно беспокоиться, - это некоторая ценность. Если вы агрегируете, не глядя на его основной смысл, это приведет к неправильной интерпретации.

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

Время

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

В дополнение к статистическому агрегированию, другие функции - это недавность и месяц в книге.

  • Давность - это сколько времени прошло с момента последнего использования клиентом нашего продукта / услуги.
  • Месяц в книге - это время, через которое клиент подписался на наш продукт / услугу в первый раз.

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

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

Помимо расчета продукта / услуги, я обычно использую его с демографическими данными клиента. Например, я могу определить, как долго клиент проработает штатным сотрудником, самозанятым лицом или внештатным сотрудником.

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

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

Соотношение

Что-то сравнимо только тогда, когда оно находится в одном масштабе.

Вот почему у нас здесь соотношение. Например,

  1. у нас есть два клиента, у которых около 50 тысяч долларов и 100 тысяч долларов в месяц соответственно.
  2. Если первый покупатель тратит 25 тысяч долларов, а второй - 50 тысяч. Между ними существует большой разрыв по абсолютной величине. Но это те же 50% их ежемесячного дохода.

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

То же самое и с расходами. Клиенты выплатили половину своего дохода. Мы можем распространить эти идеи на другие области.

Например

  • Использование лимита кредитной карты.
  • Расходы по сравнению со средним значением сегмента.
  • Количество кликов по рекламе по сравнению с людьми в том же географическом местоположении.
  • Часть инвестиционного актива (денежные средства, облигации, акции и т. Д.)

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

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

Переход

Пересечение признаков - это процесс умножения двух признаков вместе. Его можно использовать с числовой или категориальной функцией.

В качестве иллюстрации у нас есть возрастная характеристика, объединяющая каждые 10 значений [21–30,31–40,41–50] и сегмент богатства [бедный, средний, богатый]. Мы можем умножить эти две характеристики, чтобы получить группы клиентов [21–30 и бедные, 31–40 и бедные,…, 41–50 и богатые]. Это будет новая функция, созданная в процессе пересечения функций.

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

Другой пример: вы можете умножить интервалы широты и долготы, чтобы явно создать сетку геолокации. Модель может изучить этот шаблон и предоставить вам полезную информацию, такую ​​как сетка, которая, если вы планируете построить какое-либо здание, цена вырастет на 10%.

Концепция похожа на предыдущие темы, что является соотношением. Но у вас также может быть добавление или вычитание между функциями.

Чтобы показать здесь несколько примеров, мой коллега использовал для получения функции, называемой «необходимость путешествий», суммируя флаг 1/0 по нескольким измерениям, таким как.

  • Заказчик бронирует отель недавно?
  • Заказал ли клиент рейс недавно?
  • Просматривает ли клиент туристический веб-сайт?
  • Покупает ли клиент туристическую страховку?
  • Заказчик идет в посольство?

Затем они суммируют те вопросы 1/0, чтобы получить новую функцию, называемую «незаменимой для путешествий». Фактически, он играет жизненно важную роль в модели склонности к страхованию путешествий.

Геолокация

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

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

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

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

Я до сих пор не понимаю, почему это важно для некоторых задач, но вы должны попробовать, если у вас есть возможность - настоятельно рекомендуется!

Последняя мысль

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

Я думаю, что это одна из самых захватывающих частей науки о данных.

Не стесняйтесь делиться своим ресурсом, если у вас есть соответствующая статья на эту тему.

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

Всего вам доброго, ребята!