在過去幾週中,我花了很多時間處理語法或邏輯錯誤較差的PMML文件。我目前的過程包括查看PMML文件並逐步通過JPMML代碼,直到我能夠找出錯誤。是否存在可幫助查找PMML語法和/或邏輯錯誤的PMML調試器?
我發現常見問題,
- 在PMML變量沒有定義任何地方
- DerivedField if-else語句落空缺少一個變量,並且不使用missingValueReplacement
- 試圖串的乘積值
- invalidValueTreatment在DataString中未枚舉的分類變量的MiningSchema中定義的,這意味着將不會使用invalidValueTreatment。
什麼調試工具可用於PMML?
任何幫助進行語法或邏輯調試的工具都會有所幫助。
我正在使用SAS生成的PMML,這很麻煩。一個塊正在由統計員手動編碼,以實現SAS顯然還不支持的更多轉換。你有鏈接討論啓用SAX定位器信息嗎?我沒有使用這個,但它聽起來很有用,因爲我目前的所有JPMML例外都沒有用。 – 0111001101110000
爲了讓SAX定位器信息可用,您需要用獨立的「覆蓋」JDK的內置JAXB庫。基本上,它歸結爲向Apache Maven構建文件添加另一個依賴項。目前,我會推薦Glassfish Metro實現:'org.glassfish.jaxb:jaxb-runtime:2.2.11'。請參閱以下提交的解決方案:https://github.com/jpmml/openscoring/commit/2163ca05b902ce74e0b78a477b64bf65f3e2599e – user1808924