Создание прогнозов с ограниченным количеством данных, созданных пользователями.

Вопрос или проблема

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

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

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

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

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

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

Ответ или решение

Теория

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

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

  1. Обучение модели на разреженных данных: Это означает, что обновленная модель должна быть способна работать даже если часть данных является недоступной. Например, можно заменить отсутствующие значения такими, как Null или None, и обучить модель, учитывая эти случаи.

  2. Импутация данных: Введение процедуры импутации позволяет заполнить отсутствующие значения на основании доступной информации. Чрезвычайно полезен метод KNNImputer, который использует алгоритмы кластеризации для импутации на основе сходства данных.

  3. Обратная инженерия фич: Попытаться воспроизвести недостающие фичи на основе имеющихся данных с использованием генеративных моделей или методов восстановления данных.

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

  5. Интеграция внешних данных: Использование открытых данных или коммерческих источников для заполнения недостающей информации.

Пример

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

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

  • Обобщенная обучаемость модели: Проведите переобучение модели, добавляя в выборку записи с отсутствующими значениями, чтобы улучшить её адаптацию к ситуациям, когда часть данных неизвестна.

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

Применение

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

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

  2. Адаптированное обучение: Обновите модель, чтобы учитывать новые сценарии, включающие разреженные данные. Интеграция процедур автоматического заполнения недостающих значений сделает модель более гибкой.

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

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

Оцените материал
Добавить комментарий

Капча загружается...