scikit-learn ContiniousDomain () обрабатывает пропущенные значения и создает конвейер, который выбирает следующие шаги в зависимости от состояния данных - PullRequest
0 голосов
/ 18 апреля 2020

У меня странная ситуация с бинарной классификацией scikit-learn:

  1. , когда я выбираю подмножество данных из обучающего набора, в котором отсутствуют значения в столбце W, и обучаю на нем модель A,
  2. чем выбрать подмножество B, в котором присутствуют значения столбца W, и обучить модели B на нем,
  3. и, наконец, использовать прогнозируемые вероятности из обеих моделей для RO C
  4. . Я значительно лучше AU C по сравнению с тем же конвейером, обученным для полного набора данных с некоторыми записями, имеющими значения в столбце W.

Я пробовал различные методы ContioisDomain () в DataFrameMapper с Imputer (), с фиктивными значениями для нулевых значений и с фиктивными значениями для нулей в наборе обучающих данных - все они дают значительно менее хорошие результаты, чем при использовании предсказанных вероятностей из 2 моделей А и В., как указано выше.

У кого-нибудь из вас была такая ситуация ?

Как создать конвейер scikit-learn, который может выбирать модель A или модель B в зависимости от того, v alue в столбце W присутствует или отсутствует?

Я использую оболочку JPMML вокруг конвейера scikit-learn с помощью sklearn2pmml.pipeline.PMMLPipeline ().

Пока я нашел это обсуждение https://github.com/jpmml/sklearn2pmml/issues/110, но не знаю, был ли реализован ModelChoice.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...