4 сценария использования, которые должен знать каждый специалист по данным

Примеры решения общих проблем алгоритмов машинного обучения

Оглавление

  1. Вступление
  2. Обнаружение мошенничества с кредитными картами
  3. Сегментация клиентов
  4. Прогнозирование оттока клиентов
  5. Прогноз продаж
  6. Резюме
  7. использованная литература

Вступление

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

Обнаружение мошенничества с кредитными картами

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

Вот возможные функции, которые вы можете использовать в своем алгоритме Случайный лес:

  • денежная сумма
  • частота
  • место нахождения
  • Дата
  • описание транзакции
  • категория транзакции

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

RF = RandomForestClassifier()
RF.fit(X_train, y_train)
predictions = RF.predict(X_test)

Вы можете начать с нескольких функций и работать над созданием новых функций, например, таких как aggregates или per (например: потраченные деньги / день и т. Д.)

Сегментация клиентов

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

Вот возможные функции, которые вы можете использовать в своем алгоритме K-средних:

  • купленные товары
  • их местонахождение
  • местонахождение товара или продавца
  • частота расходов
  • отрасль продукции
  • образование
  • доход
  • возраст

Вот пример кода, который можно использовать, когда у вас есть данные и функции:

kmeans = KMeans(
         init="random",
         n_clusters=6
         )
kmeans.fit(X)
predictions = kmeans.fit_predict(X)

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

Прогнозирование оттока клиентов

В этом сценарии могут быть полезны различные алгоритмы машинного обучения. Эта проблема также похожа на проблему обнаружения мошенничества с кредитными картами, когда мы хотим собирать характеристики клиентов с заранее заданной меткой, в частности, churn или no-churn. Вы можете снова использовать Случайный лес или другой алгоритм, например XGBoost. Таким образом, этот сценарий представляет собой проблему классификации, которая использует обучение с учителем. Мы будем прогнозировать отток клиентов для пользователей веб-сайта, которые купили продукт или несколько продуктов.

Вот возможные функции, которые вы можете использовать в своем алгоритме XGBoost:

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

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

Вот пример кода, который можно использовать, когда у вас есть данные и функции:

model = XGBClassifier()
model.fit(X_train, y_train)
predictions = model.predict(X_test)

Прогноз продаж

Возможно, наиболее отличным от предыдущих трех вариантов использования является прогнозирование продаж. В этом примере мы можем использовать глубокое обучение для прогнозирования будущих продаж продукта. Используемый алгоритм называется LSTM, что означает Long Short-Term Memory.

Вот возможные функции, которые вы можете использовать в своем алгоритме LSTM:

  • Дата
  • продукты
  • торговец
  • объем продаж

Вот пример кода, который можно использовать, когда у вас есть данные и функции:

model = Sequential()
model.add(LSTM(4, batch_input_shape=(1, X_train.shape[1], X_train.shape[2])))
model.add(Dense(1))
model.compile(loss='mean_squared_error')
model.fit(X_train, y_train)
predictions = model.predict(X_test)

Резюме

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

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

* Credit Card Fraud Detection — using Random Forest
* Customer Segmentation — using K-Means
* Customer Churn Prediction — using XGBoost
* Sales Forecasting — using LSTM

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

Не стесняйтесь проверять мой профиль и другие статьи, а также обращаться ко мне в LinkedIn. Спасибо за внимание!

использованная литература

[1] Фото Icons8 Team на Unsplash, (2018)

[2] Фотография Avery Evans на Unsplash, (2020)

[3] Фотография Clay Banks на Unsplash, (2019)

[4] Фото Icons8 Team на Unsplash, (2018)

[5] Фото М. Б. М. на Unsplash, (2018)