Отличия в оценке от модели PMML на разных платформах

Я построил игрушечную модель Random Forest в R (с использованием German Credit набор данных из caret пакет), экспортируется в PMML 4.0 и развернут на Hadoop, используя Cascading Pattern библиотека.

Я столкнулся с проблемой, когда Cascading Pattern оценивает одни и те же данные иначе (в задаче двоичной классификации), чем та же модель в R, Из 200 наблюдений 2 оцениваются по-разному.

Почему это? Может ли это быть из-за различий в реализации случайных лесов?

2 ответа

Решение

German Credit набор данных представляет проблему типа классификации. Выигрышная оценка RF-модели классификационного типа - это просто метка класса, которая была наиболее частой среди деревьев решений членов.

Предположим, у вас есть модель RF со 100 деревьями решений, и 50 деревьев решений предсказывают "хороший кредит", а еще 50 деревьев решений предсказывают "плохой кредит". Возможно, что R а также Cascading Pattern разрешайте такие ситуации по-разному - один выбирает счет, который виден первым, а другой - счет, который виден последним. Вы можете попытаться повторно обучить вашу модель RF с нечетным числом деревьев решений членов (то есть использовать некоторое значение, которое не делится на два, например, 99 или 101).

Спецификация PMML говорит, чтобы возвратить счет, который был замечен первым. Я не уверен, если Cascading Pattern обращает любое внимание на такие детали. Вы можете попробовать альтернативное решение под названием JPMML-Cascading.

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

Очевидно, это также может быть случай, когда модель не была правильно представлена ​​в PMML ... маловероятно с пакетом R PMML. Другой вариант заключается в том, что модель развернута неправильно. То есть каскадирование подсистемы скоринга неправильно интерпретирует файл PMML.

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

Для получения дополнительной информации о проверке модели и сопоставлении баллов, а также об обработке ошибок в PMML проверьте: https://support.zementis.com/entries/21207918-Verifying-your-model-in-ADAPA-did-it-upload-correctly-

Другие вопросы по тегам