2014-03-06 9 views
0

R randomForest 모델을 PMML로 내보내고 있습니다. 결과 PMML은 항상 DataDictionary 요소의 첫 번째 요소로 클래스를 가지며, 항상 사실은 아닙니다.R randomForest to PMML 클래스 색인이 잘못되었습니다.

이 문제를 해결하거나 사용자 지정 확장 요소를 사용하여 PMML을 늘리는 방법이 있습니까? 그렇게하면 클래스 색인을 거기에 넣을 수 있습니다.

pmml 패키지 설명서와 pmmlTransformations 패키지를 살펴 보았지만이 문제를 해결하는 데 도움이 될만한 것을 찾을 수 없습니다.

답변

1

PMML 클래스는 PMML 모델 속성에서 모델 유형 (분류 대 회귀)을 의미한다고 가정합니까? 그렇다면 모델 유형이 DataDictionary의 첫 번째 요소의 데이터 유형에서 결정된다는 것은 사실이 아닙니다. 이들은 완전히 독립적입니다. 모델 유형은 R이 생각하는 모델 유형에서 결정됩니다. R 임의의 포리스트 개체는 그것이 생각하는 형식 (model $ type)을 결정하며 pmml 함수에서 내 보낸 모델 형식입니다. 모델을 특정 유형으로 만들려면 R에 그 사실을 알리십시오. 예를 들어 홍채 데이터 세트를 사용하는 경우 예측 변수가 Sepal.Length이면 R은 올바르게 가정합니다. 회귀 모델. 분류 모델로 취급하려는 경우 as.factor (Sepal.Length)를 대신 사용해보십시오.

+0

나는 내 질문과 관련이 있는지 확신하지 못합니다. 내 문제는 내가 R에 의해 생성 된 PMML에서 훈련 데이터 집합에 클래스 속성의 위치를 ​​추론 할 수 없다는 것이다. 따라서이 PMML을 다른 분류 자로 파싱하려면 올바른 클래스 인덱스를 설정할 수 없습니다. PMML에서 검색 할 방법이 없기 때문입니다. – halfwarp

+0

간단한 예제를 게시 할 수 있습니까? 제가 지금 올바르게 이해하고 있습니까? 예를 들어 홍채 데이터 세트의 범주 변수 "Species"가 입력 데이터 집합의 다섯 번째 변수 인 경우 PMML의 위치를 ​​알고 싶습니까? – Tridi