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

1. Ваша модель имеет слишком высокие оценки или не соответствует ожидаемым результатам в будущих прогнозах

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

Хорошей новостью является то, что есть способы определить и предотвратить это.

Способы выявления и предотвращения утечки данных:

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

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

2 — Проверить наличие повторяющихся строк

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

3 — Обратите внимание на особенности типа вашей категории и размер выборки

Когда речь идет о функциях типа категории, необходимо учитывать размер выборки помимо количества строк. Это означает две вещи: сколько строк у вас есть для каждого уникального значения в столбце и сколько новых уникальных значений будет добавлено в столбец с течением времени? Представим себе крупное предприятие с миллионом сотрудников, которые сдают табели учета рабочего времени. Компания хочет сократить время проверки изменений в табелях учета рабочего времени и улучшить обработку «ошибочных» табелей учета рабочего времени. Компания построила модель машинного обучения на данных одного платежного периода и использовала уникальный идентификатор для каждого супервайзера в качестве одной из функций. У супервайзера А было 50 записей, что является приличным размером выборки для одной категории. Однако супервайзер А допустил «ошибку» во всех 50 табелях учета рабочего времени за этот платежный период. Поскольку модель была обучена только для этого периода оплаты, модель всегда может предсказать, что табели учета рабочего времени супервайзера А содержат ошибки чаще, чем следовало бы. Этот случай потенциально может быть решен путем выборки большего количества периодов оплаты.

2. Ваша модель предсказывает слишком много значений для одного ярлыка

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

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