PMML(Predictive Model Markup Language)은 XML기반의 예측모델을 기술하는 표준언어입니다.  데이터마이닝그룹(DMG)를 중심으로 여러 솔루션 개발업체들이 컨소시엄을 이루어 하나의 표준규격을 만들고 예측모델을 생성하는 측과 예측모델을 사용하는 측간의 교류에 사용하였습니다.  PMML은 버전 4.0까지 발전하였으며 20여 업체와 기관에서 PMML지원하게 됨으로써 하나의 응용프로그램, 예를들면 마이닝툴을 사용하여 예측모델을 생성하면, 또다른 응용프로그램 예를들면 캠페인관리툴에서 생성된 예측모델을 읽어서 사용하게 되는 일이 훨씬 쉬워지고 비용이 절감되었습니다.

"PMML 모델 개발의 족쇄에서 모델 배포를 해제. 모델 표현을위한 잘 설립된 개방형 표준으로서, PMML은 비즈니스 인텔리 전스 제품, 데이터웨어 하우스, 그리고 클라우드 컴퓨팅에서 데이터 마이닝 배포 환경의 새로운 세대를 활성화입니다."
 - 
Graham Williams, Togaware Pty Ltd. -

"PMML은 PMML없이, 그것이 통합 및 사용자 정의 코드 또는 독자적인 프로세스를 통해 배포할 수 모델에 수개월이 걸릴 것입니다. 그 모델의 힘을 해방시켜, 현실로 기존 IT 인프라 내에서 배포 및 예측 모델의 실용적인 응용 프로그램을 전환하고, 매우의 높은 추가 비용이 발생합니다."
Cris Payne, Senior Analytics Scientist for XO Communications, Inc. -

이제 PMML은 데이터마이닝에 관심을 갖는 사람들에게는 생소한 용어가 아닙니다.  데이터마이너들에게 널리 알려진 KDD(Knowledge Discovery and Data Mining)에서도 PMML워크샵을 계획하고 있습니다.



PMML에 관한 책도 꾸준히 출간되고 있는데, 이중에서도 최근에 Alex Guazzelli 가 쓴 "PMML in Action"이란 책이 눈길을 끌고 있습니다.  이 책은 실제 비즈니스에서 활용이라는 측면에서 PMML을 개념과 사례를 언급하였습니다.  영어독해에 큰 문제 없으시다면 한번쯤 읽어볼만한 책이라고 생각됩니다.

 
PMML을 이미 알고있는 사람들에게는 사족의 얘기가 되겠지만, PMML을 모르는 사람들은 이쯤되면 도대체 PMML이 뭐야? 라고 질문을 하시게 될겁니다.


위의 예제가 바로 PMML의 한 예입니다.  일반적으로 웹페이지를 표현하는 HTML(Hyper Text Markup Language)은 다양한 요소들을 표현하도록 하기 위해서 XML(eXtended Markup Language)로 확장되었는데, 그중에서도 예측모델을 표현할 수 있는 언어가 바로 PMML입니다.

PMML은 1997년 7월에 Version 0.7 이 공표된 이후에 1999년 8월에 정식버전인 Version 1.0이 공표되었고 2009년 6월에 최신 버전인 Version 4.0이 공표되었습니다.

Version 4.0을 기준으로 PMML의 구성요소를 살펴보면 다음과 같습니다.

PMML이 될, 데이터 마이닝 모델을 설명하는 직관적인 구조를 다음과 인공 신경망 또는 로지스틱 회귀 모델입니다.

PMMLComponents.jpg

순차적으로, PMML은 다음과 같은 구성 요소에 의해 설명 될 수 있습니다.

  • Header : PMML 같은 모델에 저작권 정보와 같은 문서, 그 설명 및 이름 및 버전과 같은 모델을 생성하는 데 사용되는 응용 프로그램에 대한 정보에 대한 일반 정보가 포함되어 있습니다. 또한 모델 창조의 날짜를 지정하는 데 사용할 수있는 타임 스탬프에 대한 속성이 포함되어 있습니다.
  • Data Dictionary : 모델에서 사용 가능한 모든 필드에 대한 정의가 포함되어 있습니다. 그것은 필드 (속성 optype) 연속, 무조건적인, 또는 서수으로 정의되어왔다. 이 정의에 따라 적절한 값 범위는 다음 데이터 형식 (예 : 문자열, 또는 더블)뿐만 아니라 정의합니다.
  • Data Transformations : 변환은 마이닝 모델에서 사용할 수있는보다 바람직한 형태로 사용자의 데이터의 매핑을 허용합니다.PMML 간단한 데이터 변환의 여러 가지를 정의합니다.
    • Normalization : 숫자로지도 값, 입력은 연속 또는 이산 수 있습니다.
    • Discretization : 이산 값을지도 지속적인 가치.
    • Value mapping : 이산 값을지도 이산 값.
    • Functions : 하나 이상의 매개 변수에 함수를 적용하여 가치를 도출.
    • Aggregation : 값의 그룹을 요약하거나 수집하는 데 사용됩니다.
  • Model : 데이터 마이닝 모델의 정의를 포함하고 있습니다. multi-layered feedforward neural network은 가장 일반적인 신경망모델인데 이는 backpropagation으로 알려진 훈련 알고리즘과 함께 효율이 좋은 대부분의 마이닝툴에서 제공하고 있는 마이닝모델입니다. 이러한 신경망모델은 다음과 같은 속성을 포함하는 "NeuralNetwork"요소로 PMML에 표시됩니다 :
    • 모델 이름 (속성 modelName)
    • 함수 이름 (속성 functionName)
    • 알고리즘 이름 (속성 algorithmName)
    • 활성화 기능 (속성 activati​​onFunction)
    • 레이어 수 (속성 numberOfLayers)

이 정보는 다음 PMML 문서에 표시되는 신경 네트워크 모델의 아키텍처를 지정 신경 레이어 세 종류의 뒤에있다. 이러한 특성은 NeuralInputs, NeuralLayer 및 NeuralOutputs 있습니다.신경망 게다가, PMML과 같은 다른 많은 데이터 마이닝 모델의 표현을 Support vector machines , associatio rules , Naive Bayes classifier , 클러스터링 모델, 텍스트 모델, 의사 결정 나무 , 그리고 다른 회귀 모델.

  • Mining Schema : 마이닝 스키마는 모델에서 사용되는 모든 필드를 나열합니다. 이것은 데이터 사전에 정의된 필드의 하위 집합 수 있습니다. 이 같은 각 필드에 대한 특정 정보를 포함 :
    • 이름 (속성 이름) : 데이터 사전의 필드를 참조해야합니다
    • 사용 유형 (속성 usageType가) : 필드의 모델에서 사용할 수있는 방법을 정의합니다. 일반적인 값은 다음과 같습니다 활성화, 예측 및 보조. 예상 필드 값이 모델에 의해 예측 이들입니다.
    • 아웃 리에 트리 트먼트 (속성 outliers)가 사용되도록 국외자 치료를 정의합니다. PMML에서 outliers가없는 값으로 처리 수 있습니다 극단 값 (특정 분야에 대한 높은 낮은 값의 정의에 따라)으로, 또는 있습니다.
    • 누락된 값 교체 정책 (속성 missingValueReplacement) :이 속성이 지정되어 있으면 다음없는 값이 자동으로 특정 값으로 대체됩니다.
    • 값 처리 (속성 missingValueTreatment)을 누락하면 : 누락된 값을 대체합니다 (의미 또는 중간 값, 등 등) 유래 얼마나 나타냅니다.
  • Targets : 모델의 출력이 지속적인 경우 확장의 형식으로 예측된 값을 사후 처리 수 있습니다. 대상은 또한 분류 작업에 사용할 수 있습니다. 이 경우 속성 priorProbability는 해당 대상 범주에 대한 기본 확률을 지정합니다. 예측 로직 자체가 결과를 생산하지 않은 경우 그것이 사용됩니다. 입력 값이없는 경우, 예를 들어, 일어날 수없는 가치를 치료를위한 다른 방법이 없습니다.
  • Output :이 요소는 모델에서 예상되는 모든 원하는 출력 필드 이름을 사용할 수 있습니다. 이들은 예측 분야의 기능을하고 있으므로 일반적으로 예측 값 자체 확률, 클러스터 친화 (클러스터링 모델의 경우), 표준 오류 등 아르

PMML, 4.0의 최신 버전 2009년 6월 16일 일에 릴리스되었습니다.  
새로운 기능의 예는 다음과 같습니다
  • 모델 설명 : PMML 파일 자체 평가 및 모델 성능 조치 저장.
  • 다중 모델 : 모델 구성, ensembles, 그리고 세분화 (예, 회귀 와 의사 결정 나무의 결합기능).

다음은 PMML을 지원하는 소프트웨어의 목록입니다.

§  Angoss KnowledgeSTUDIO: produces PMML 3.2 for regression models (logistic and linear), decision trees, clustering, neural networks and ruleset models (used to represent scorecards).

§  Angoss KnowledgeSEEKER: produces PMML 3.2 for decision trees.

§  Angoss StrategyBuilder (add-on module for KnowledgeSEEKER and KnowledgeSTUDIO): produces PMML 3.2 for decision trees (used to represent strategy trees).

§  IBM InfoSphere Warehouse: produces PMML 3.0 and 3.1 for sequences only models. Consumes (scores and visualizes) PMML 3.1 and earlier.

§  IBM SPSS Modeler: produces and scores PMML 3.2 and 4.0 for a variety of models.

§  IBM SPSS Statistics: produces PMML 3.2 and 4.0 for a variety of models.

§  KNIME: produces and consumes PMML 4.0 for neural networks, decision trees, clustering models, regression models, and support vector machines. As of release 2.4.0, KNIME also offers extensive pre-processing support in PMML, including the ability to edit existing PMML code.

§  KXEN: produces PMML 3.2 for regression models (including mining models) and clustering.

§  Microsoft SQL Server 2008 Analysis Services: produces and consumes PMML 2.1 for decision trees and clustering.

§  MicroStrategy: supports PMML 2.0, 2.1, 3.0, 3.1, 3.2 and 4.0 for linear regression, logistic regression, decision trees, clustering, association rules, time series,neural networks and support vector machines.

§  Open Data Group's Augustus: Produces PMML 4.0 for tree, naive-bayes and ruleset models. It consumes PMML 4.0 tree, naive-bayes, ruleset and regression models. Older versions produce and consume PMML 3.0 regression, tree and naive-bayes.

§  Oracle Data Mining: supports the core features of PMML 3.1 for regression models. The imported models become native Oracle Data Mining (ODM) models capable of Exadata offload.

§  Pervasive DataRush: produces and consumes PMML 3.2 for regression models, decision trees, and naive bayes. Produces PMML 3.2 for association rules andclustering (K-means Center-Based).

§  Predixion PMML Connexion: consumes PMML 2.0, 2.1, 3.0, 3.1, 3.2, and 4.0 for several mining models, including decision trees, ruleset models, support vector machines, neural networks, naive bayes, linear and logistic regression models as well as clustering models.

§  RapidMiner: Using the free PMML extension, several types of models can be exported to PMML.

§  Rattle/R: Uses the R programming language to build several predictive models. It offers a PMML package to export models built in R to PMML 3.2. This package includes export support for support vector machines, linear regression, logistic regression, decision trees, random forests, random survival forests, neural networks,K-means and hierarchical clustering, and association rules.

§  Salford-Systems CART: a decision tree system that produces PMML 3.1.

§  SAND CDBMS 6.1 PMML Extension: consumes PMML versions 3.1 and 3.2 for several mining models, including association rules, clustering, regression, neural networks, naive bayes, support vector machines, rulesets, and decision trees. It also consumes pre-processing elements and built-in functions.

§  SAS Enterprise Miner: produces PMML 2.1 and 3.1 for several mining models, including linear regression, logistic regression, decision trees, neural networks, K-means clustering, and association rules.

§  STATISTICA: generates PMML 2.0 and 3.0 for analyses such as linear regression, logistic regression, decision trees, support vector machines, and neural networks

§  TIBCO Spotfire Miner 8.1: produces and consumes PMML 2.0 for regression models, decision trees, neural networks, clustering, and naive bayes models.

§  TERADATA Warehouse Miner 5.3.1: consumes PMML 2.1 through 3.2 for regression models, decision trees, neural networks, clustering, and mining models (regression type).

§  Weka (Pentaho): consumes PMML 3.2 for regression models, decision trees, neural networks, rule sets, and support vector machines.

§  Zementis ADAPA: batch and real-time scoring of PMML 2.0, 2.1, 3.0, 3.1, 3.2, and 4.0 for several mining models, including decision trees, association rules, support vector machines, neural networks, naive bayes, ruleset models, linear and logistic regression models as well as Cox regression models and clustering models. ADAPA also consumes all pre- and post-processing PMML elements, including transformations, built-in functions, outputs, and targets.

§  Zementis PMML Converter: validates, corrects, and converts PMML files expressed in versions 2.0, 2.1, 3.0, 3.1, 3.2, and 4.0.

§  Zementis Universal PMML Plug-in: in-database scoring of PMML 2.0, 2.1, 3.0, 3.1, 3.2, and 4.0 for several mining models. Available now for the EMC Greenplum Database.

 

Posted by JDATE