Predictive Modeling Markup Language
Den aktuella versionen av sidan har ännu inte granskats av erfarna bidragsgivare och kan skilja sig väsentligt från
versionen som granskades den 6 juli 2019; kontroller kräver
3 redigeringar .
Predictive Model Markup Language ( PMML ) är ett XML -baserat märkningsspråk utvecklat av Data Mining Group (DMG) som ger applikationer ett sätt att definiera modeller relaterade till prediktiv analys och dataanalys och att utbyta sådana modeller mellan PMML-kompatibla applikationer.
PMML förser applikationer med en leverantörsoberoende metod för att definiera en modell, så proprietära problem och inkompatibiliteter är inte längre ett hinder för att dela modeller mellan applikationer. Det tillåter användare att utveckla modeller i en leverantörs applikation och använda andra leverantörers applikationer för att visualisera, analysera, utvärdera och på annat sätt använda modellerna. Tidigare var detta svårt, men med PMML har det blivit lättare att byta modeller mellan kompatibla applikationer.
Eftersom PMML är en XML-baserad standard är dess specifikation i form av XML Schema markup language .
PMML-komponenter
PMML innehåller ett intuitivt ramverk för att beskriva en dataanalysmodell, oavsett om det är ett artificiellt neuralt nätverk eller logistisk regression .
Det kan beskrivas med följande sekvens av komponenter [1] [2] :
- Header : innehåller allmän information om PMML-dokumentet, såsom copyrightinformation för modellen, dess beskrivning, information om applikationen som användes för att skapa modellen, såsom dess namn och version. Den innehåller också ett attribut för tidsstämpeln som används för att bestämma datumet då modellen skapades.
- Data Dictionary : innehåller definitioner av alla möjliga fält som används i modellen. Det är här fältet definieras som kontinuerligt, kategoriskt eller ordinalt (optype-attributet). Beroende på denna definition definieras sedan lämpliga värdeintervall, såväl som datatypen (till exempel en sträng eller en dubbelprecisionstyp).
- Datatransformationer : Transformationer låter dig visa anpassade data i den form som krävs för att använda en datautvinningsmodell. PMML definierar flera typer av enkla datatransformationer.
- Normalisering: mappar värden till siffror, inmatningen kan vara kontinuerlig eller diskret.
- Diskretisering: Mappar kontinuerliga värden till diskreta värden.
- Värdekartläggning: Mappar diskreta värden till diskreta värden.
- Funktioner: Beräknar värden genom att applicera en funktion på en eller flera parametrar.
- Aggregation: Används för att sammanfatta eller sammanställa en grupp av värden.
- Modell (Model) : innehåller definitionen av datautvinningsmodellen. Det konstgjorda neurala nätverket med flera lager av feedforward är den vanligaste representationen av neurala nätverk i moderna applikationer, med tanke på populariteten och effektiviteten som är förknippad med dess inlärningsalgoritm, känd som backpropagation . Ett sådant nätverk representeras i PMML av ett "NeuralNetwork"-element som innehåller följande attribut:
- Modellnamn (modelName-attribut)
- Funktionsnamn (functionName-attribut)
- Algoritmnamn (algorithmName-attribut)
- Aktiveringsfunktion (activationFunction-attribut)
- Antal lager (attribut numberOfLayers)
Denna information följs av tre typer av neurala lager som definierar arkitekturen för den neurala nätverksmodellen som representeras av PMML-dokumentet. Dessa är attributen NeuralInputs, NeuralLayer och NeuralOutputs. Förutom neurala nätverk tillåter PMML att många andra datautvinningsmodeller representeras, inklusive stödvektormaskiner , associationsregler , naiva bayes-klassificerare , klustringsmodeller, textmodeller, beslutsträd , såväl som olika regressionsmodeller.
- Gruvschema : Gruvschemat innehåller en lista över alla fält som används i modellen. Detta kan vara en delmängd av fälten definierade i dataordboken. Den innehåller specifik information om varje fält, till exempel:
- Namn (namnattribut): måste referera till ett fält i dataordboken
- Användningstyp (usageType-attribut): Bestämmer hur fältet används i modellen. Standardvärdena är Active, Predictive och Optional. Förutsägbara fält är de vars värden förutsägs av modellen.
- Outlier-hantering (outliers-attribut): Anger hur outliers kommer att hanteras. I PMML kan extremvärden behandlas som saknade värden, som extrema värden (baserat på definitionen av höga och låga värden för ett visst område), eller som de är.
- Ersättningsregel för saknat värde (attribut missingValueReplacement): om det här attributet anges ersätts det saknade värdet automatiskt med det angivna värdet.
- Behandling av saknat värde (attribut missingValueTreatment): Indikerar hur det saknade värdet ersätts (till exempel värde, medelvärde eller median).
- Mål : Gör att du kan efterbehandla det förutsagda värdet i skalningsformat om modellens utdata är kontinuerlig. Mål kan också användas för klassificeringsuppgifter. I det här fallet anger priorProbability-attributet standardsannolikheterna för motsvarande målkategori. Den används när prediktionslogiken inte producerar ett resultat av sig själv. Detta kan till exempel hända om ett ingångsvärde saknas och det inte finns något annat sätt att fastställa de saknade värdena.
- Utdata : Detta element kan användas för att specificera alla obligatoriska utdatafält som förväntas från modellen. Dessa är funktionerna i det förutsagda fältet, liksom vanligtvis det förutsagda värdet i sig, sannolikhet, närhet till klustret (för klustringsmodeller), standardfel, etc.
PMML 4.x
PMML-versionen, 4.0, släpptes den 16 juni 2009 [3] [4] [5] .
Bland de nya funktionerna:
- Förbättrade förbearbetningsmöjligheter : Tillägg till inbyggda funktioner inkluderar en rad logiska algebraoperationer och grenoperatorer .
- Tidsseriemodeller : Nya exponentiella utjämningsmodeller ; samt integrationspunkter för ARIMA , Seasonal Trend Decomposition och Spectral Analysis , som är planerade att inkluderas inom en snar framtid.
- Förklaring av modellen : Spara modellens utvärderings- och prestandaindikatorer i själva PMML-filen.
- Flera modeller : Förmåga för modellsammansättning, ensembler och segmentering (t.ex. att kombinera regressionsanalys och beslutsträd).
- Utöka befintliga element : Lägga till flerklassklassificering för stödvektormaskiner , förbättrad representation av föreningsregler och inkludering av modeller för proportionell risk .
PMML 4.1 släpptes den 31 december 2011. [6] [7]
PMML 4.2 släpptes den 28 februari 2014. [8] [9]
PMML 4.3 släpptes den 23 augusti 2016. [10] [11]
Bland de nya funktionerna:
- Nya modelltyper:
- Gaussisk process
- Bayesiskt nätverk
- nya inbyggda funktioner
- förtydligande av ordalydelsen och förbättringar i dokumentationen
Utgivningshistorik
Version 0.7 |
juli 1997
|
Version 0.9 |
juli 1998
|
Version 1.0 |
augusti 1999
|
Version 1.1 |
augusti 2000
|
Version 2.0 |
augusti 2001
|
Version 2.1 |
mars 2003
|
Version 3.0 |
oktober 2004
|
Version 3.1 |
december 2005
|
Version 3.2 |
maj 2007
|
Version 4.0 |
juni 2009
|
Version 4.1 |
december 2011
|
Version 4.2 |
Februari 2014
|
Version 4.2.1 |
mars 2015
|
Version 4.3 |
augusti 2016
|
Produkter som stöder PMML
Utbudet av mjukvaruprodukter som erbjuds för att skapa och använda PMML:
- Angoss KnowledgeSTUDIO : Genererar PMML 3.2 för regressionsmodeller (logistiska och linjära), beslutsträd, klusteranalys , neurala nätverk och regelbaserade modeller (används för att representera mått).
- Angoss KnowledgeSEEKER : Skapar PMML 3.2 för beslutsträd.
- Angoss StrategyBuilder (tillägg för KnowledgeSEEKER och KnowledgeSTUDIO) : Skapar PMML 3.2 för beslutsträd (används för att representera strategiträd).
- IBM InfoSphere Warehouse : Genererar PMML 3.0 och 3.1 endast för modellsekvenser. Accepterar (utvärderar och renderar) PMML 3.1 och nedan.
- IBM SPSS Modeler : Skapar och utvärderar PMML 3.2 och 4.0 för olika modeller.
- IBM SPSS-statistik : Skapar PMML 3.2 och 4.0 för olika modeller.
- KNIME : Skapar och är värd för PMML 4.0 för neurala nätverk , beslutsträd, klustringsmodeller, regressionsmodeller och stödvektormaskiner . Från och med version 2.4.0 erbjuder KNIME utökat stöd för PMML-förbearbetning, inklusive möjligheten att redigera befintlig PMML-kod.
- KXEN : Skapar PMML 3.2 för regressionsmodeller (inklusive modeller för datautvinning) och klusteranalys .
- Microsoft SQL Server 2008 Analysis Services : Skapar och är värd för PMML 2.1 för beslutsträd och klusteranalys .
- MicroStrategy : Stöder PMML 2.0, 2.1, 3.0, 3.1, 3.2 och 4.0 för linjär regression , logistisk regression , beslutsträd, klusteranalys , associationsregler , tidsserier , neurala nätverk och stödvektormaskiner .
- Open Data Groups Augustus : bygger PMML 4.0 för träd, naiva bayes-klassificerare och regelbaserade modeller. Accepterar PMML 4.0-trädmodeller, naiva bayes-klassificerare, regelbaserade och regressionsmodeller. Tidigare versioner skapade och accepterade regressionsmodeller, trädmodeller och en naiv bayes-klassificerare.
- Oracle Data Mining : Stöder PMML 3.1 kärnfunktioner för regressionsmodeller. Importerade modeller blir Oracle Data Mining-modeller (ODM) som kan laddas upp till Exadata.
- Pervasive DataRush : Skapar och använder PMML 3.2 för regressionsmodeller, beslutsträd och en naiv Bayes-klassificerare . Skapar PMML 3.2 för associationsregler och klusteranalys (K-means Center-Based).
- Predixion PMML Connexion : Accepterar PMML 2.0, 2.1, 3.0, 3.1, 3.2 och 4.0 för flera datautvinningsmodeller, inklusive beslutsträd, regelbaserade modeller, stödvektormaskin , neurala nätverk , naiv bayes-klassificerare , linjär och logistisk regression ; och klusteranalys .
- RapidMiner : använder den kostnadsfria PMML-tillägget, flera typer av modeller kan exporteras till PMML.
- Rattle/R : Använder R (programmeringsspråk) för att bygga flera prediktiva modeller. Erbjuder ett PMML-paket för export av R-modeller till PMML 3.2. Paketet stöder export av stödvektormaskin , linjär regression, logistisk regression , beslutsträd, slumpmässig skog , neurala nätverk , k-medel och hierarkiska klustringsmodeller, samt associationsregler .
- Salford-Systems CART : Ett beslutsträdssystem som producerar PMML 3.1.
- SAND CDBMS 6.1 PMML Extension : Accepterar PMML version 3.1 och 3.2 för flera datautvinningsmodeller, inklusive associationsregel , klustring, regression, neurala nätverk , naiv bayes-klassificerare , stödvektormaskin , regeluppsättning och beslutsträdsmodeller. Accepterar även förbearbetningselement och inbyggda funktioner.
- SAS Enterprise Miner : Skapar PMML 2.1 och 3.1 för flera gruvmodeller, inklusive linjär regression, logistisk regression , beslutsträd, neurala nätverk , k-medel och associationsregler .
- STATISTICA : skapar PMML 2.0 och 3.0 för analys av linjär regression, logistisk regression , beslutsträd, stödvektormaskiner och neurala nätverk
- TIBCO Spotfire Miner 8.1 : Bygger och accepterar PMML 2.0 för regressionsmodeller, beslutsträd, neurala nätverk , klusteranalys och Naive Bayes-klassificerare .
- TERADATA Warehouse Miner 5.3.1 : Accepterar PMML 2.1 till 3.2 för regressionsmodeller, beslutsträd, neurala nätverk , klusteranalys och modeller för datautvinning (regressionstyp).
- Weka (Pentaho) : antar PMML 3.2 för regressionsmodeller, beslutsträd, neurala nätverk , regelsystem och stödvektormaskin .
- Zementis ADAPA : batch- och omedelbar utvärdering av PMML 2.0, 2.1, 3.0, 3.1, 3.2 och 4.0 för flera datautvinningsmodeller, inklusive beslutsträd, associationsregler , stödvektormaskin , neurala nätverk , naiv bayes-klassificerare , regelsystem, linjär och logistisk regression , samt Cox-regression (Cox) och klusteranalysmodeller . ADAPA accepterar också alla PMML-för- och efterbearbetningselement, inklusive transformationer, inline-funktioner, utdata och mål.
- Zementis PMML Converter : Kontrollerar, redigerar och konverterar PMML version 2.0, 2.1, 3.0, 3.1, 3.2 och 4.0.
- Zementis Universal PMML Plug-in : Utvärdering i databasen för PMML 2.0, 2.1, 3.0, 3.1, 3.2 och 4.0 för flera gruvmodeller. Tillgänglig från EMC Greenplum Database.
- Intersystems IRIS : Accepterar och kör version 4.1, 4.2 PMML-modeller.
Transform Generator
PMML erbjuder ett brett utbud av datatransformationer, inklusive värdekartläggning, normalisering och diskretisering. Den erbjuder också flera inbyggda funktioner samt aritmetiska och logiska operationer som kan kombineras för att representera komplexa förbehandlingssteg. Med hjälp av Transformations Generator kan du grafiskt skapa en transformation och få motsvarande PMML-kod.
Anteckningar
- ↑ A. Guazzelli, M. Zeller, W. Chen och G. Williams. PMML: En öppen standard för att dela modeller . The R Journal , volym 1/1, maj 2009.
- ↑ A. Guazzelli, W. Lin, T. Jena (2010). PMML i aktion: Unleashing the Power of Open Standards for Data Mining and Predictive Analytics . skapa utrymme.
- ↑ Data Mining Groups webbplats | PMML 4.0 – Ändringar från PMML 3.2 Arkiverades från originalet den 28 juli 2012.
- ↑ Zementis webbplats | PMML 4.0 är här! (inte tillgänglig länk) . Hämtad 2 september 2011. Arkiverad från originalet 3 oktober 2011. (obestämd)
- ↑ R. Pechter. Vad är PMML och vad är nytt i PMML 4.0? ACM SIGKDD Explorations Newsletter , volym 11/1, juli 2009.
- ↑ Data Mining Groups webbplats | PMML 4.1 - Ändringar från PMML 4.0
- ↑ Webbplats för Predictive Analytics Info | PMML 4.1 är här!
- ↑ Data Mining Groups webbplats | PMML 4.2 – Ändringar från PMML 4.1 Arkiverade från originalet den 20 maj 2014.
- ↑ Webbplats för Predictive Analytics Info | PMML 4.2 är här!
- ↑ Data Mining Groups webbplats | PMML 4.3 - Ändringar från PMML 4.2.1
- ↑ Predictive Model Markup Language produktwebbplats | projektaktivitet
Länkar