Неверный индекс класса R randomForest для PMML

Я экспортирую модель R randomForest в PMML. Результирующий PMML всегда имеет класс в качестве первого элемента элемента DataDictionary, что не всегда верно.

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

Я просмотрел документацию пакета pmml, а также пакеты pmmlTransformations, но не смог найти там ничего, что могло бы помочь мне решить эту проблему.


person halfwarp    schedule 06.03.2014    source источник


Ответы (1)


Я предполагаю, что под классом PMML вы имеете в виду тип модели (классификация или регрессия) в атрибутах модели PMML? Если это так, то неверно, что тип модели определяется типом данных первого элемента DataDictionary... они полностью независимы. Тип модели определяется исходя из типа модели, который, по мнению R, она представляет. Объект случайного леса R определяет тип, который, по его мнению, он представляет (model$type), и это тип модели, экспортируемый функцией pmml. Если вы хотите, чтобы ваша модель была определенного типа, просто убедитесь, что вы сообщили R об этом... например, если вы используете набор данных радужной оболочки, если ваша прогнозируемая переменная — Sepal.Length, R правильно предположит, что это регрессионная модель. Если вы настаиваете на том, чтобы рассматривать его как модель классификации, попробуйте вместо этого использовать as.factor(Sepal.Length).

person Tridi    schedule 06.03.2014
comment
Я не уверен, что это связано с моим вопросом. Моя проблема в том, что я не могу вывести из PMML, сгенерированного R, положение атрибута класса в наборе обучающих данных. Итак, если я захочу разобрать этот PMML в другой классификатор, я не смогу установить правильный индекс класса, потому что нет никакого способа получить его из PMML. - person halfwarp; 07.03.2014
comment
Можете ли вы опубликовать простой пример того, что вы хотите? Правильно ли я понимаю вас сейчас... например, если категориальная переменная Species в наборе данных радужной оболочки является 5-й переменной во входном наборе данных, вы хотели бы узнать эту позицию из PMML? - person Tridi; 10.03.2014