2014-03-06 48 views
0

我正在將一個R randomForest模型導出到PMML。生成的PMML始終將類作爲DataDictionary元素的第一個元素,但並非總是如此。R randomForest到PMML類索引是錯誤的

有什麼方法可以解決這個問題,或者至少用自定義擴展元素增加PMML?這樣我可以把班級索引放在那裏。

我查看了pmml軟件包文檔以及pmmlTransformations軟件包,但找不到任何可以幫助我解決此問題的內容。

回答

1

By PMML class我假設你是指PMML模型屬性中的模型類型(分類與迴歸)? 如果是這樣,模型類型不是從DataDictionary的第一個元素的數據類型確定的...這些是完全獨立的。模型類型由模型類型R認爲它是確定的。 R隨機森林對象確定它認爲它的類型(模型$ type),這是pmml函數導出的模型類型。如果你想讓你的模型成爲某種類型,只要確保讓R知道......例如,如果你使用的是虹膜數據集,如果你的預測變量是Sepal.Length,R就會正確地認爲它是一個迴歸模型。如果您堅持將其作爲分類模型處理,請嘗試使用as.factor(Sepal.Length)。

+0

我不確定這與我的問題有關。我的問題是,我無法從R生成的PMML中推斷訓練數據集上類屬性的位置。因此,如果我想將此PMML解析爲另一個分類器,我將無法設置正確的類索引,因爲無法從PMML中檢索它。 – halfwarp

+0

你能發表一個你想要的簡單例子嗎?我是否現在正確地理解了你...例如,如果虹膜數據集中的分類變量「Species」是輸入數據集中的第5個變量,那麼您想從PMML中知道該位置? – Tridi