Как масштабировать данные для обучения под наблюдением - PullRequest
0 голосов
/ 04 июля 2019

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

  • Содержит 40000 образцов с 20 функциями. После одного горячего кодирования количество функций составляет 50 (4 числовых, 46 категориальных).
  • Большинство без маркировки: из 40 000 образцов, 33 000 образцов без маркировки.
  • Высокая несбалансированность: из 7000 меченых образцов только 800 образцов (11%) являются положительными (мошенничество).

Я не уверен, какую часть данных масштабировать. Представьте себе случай, когда вы используете fit_transform и transform из пакета sklearn. Как правило, вы подходите fit_transform данные поезда и transform данные испытаний. В случае полууправляемого обучения вы разбиваете помеченные данные на train_L и test_L, и у вас также есть немеченые данные U. Какой из следующих методов правильный? И как это работает, когда я хочу сделать перекрестную проверку k-fold?

  1. Применить fit_transform к train_L, применить transform к test_L и U.
  2. Применить fit_transform к объединению train_L и U и применить transform к test_L.

В качестве алгоритма с полууправлением я использую самообучение с классификатором XGB и распространение меток.

...