Seit eini­gen Jah­ren ver­spricht eine Reihe von Soft­ware-Anbie­tern die (Teil-)Automatisierung von Data-Sci­ence-Pro­jek­ten mit soge­nann­ten Auto-ML-Pro­gram­men (auto­ma­tic machine lear­ning). Mit­ar­bei­ter aus den Fach­be­rei­chen sol­len dadurch in die Lage ver­setzt wer­den, sel­ber erfolg­reich Machine-Lear­ning-Modelle zu ent­wi­ckeln und pro­duk­tiv zu nut­zen. Ein tie­fer­ge­hen­des Ver­ständ­nis der Algo­rith­men und Metho­den ist dafür nicht erfor­der­lich. Häu­fig wird hier­für der Begriff Citi­zen Data Sci­en­tist verwendet.

Die Vor­teile die­ses Ansat­zes lie­gen auf der Hand:

  • „Echte“ Data Sci­en­tists sind schwer zu bekom­men. Das Poten­tial der eige­nen Mit­ar­bei­ter zu nut­zen wirkt die­sem Pro­blem entgegen
  • Mit­ar­bei­ter pro­fi­tie­ren von ihrem Domä­nen­wis­sen und brau­chen die­ses nicht erst weiterzuvermitteln
  • Mit­ar­bei­ter kön­nen agil, d.h. pro­ak­tiv und fle­xi­bel, ent­wi­ckeln, ohne von Daten­ana­lys­ten abhän­gig zu sein.

In die­sem Blog­bei­trag wer­fen wir einen Blick auf die grund­sätz­li­chen Vor- und Nach­teile des Citi­zen Data Sci­en­tist-Kon­zepts und eva­lu­ie­ren, wo die Stär­ken und Schwä­chen der Auto-ML-Pro­gramme liegen.

NameHer­stel­lerLizenzGart­ner-Ein­stu­fung Q1 2019Beschrei­bung
Alte­ryxAlte­ryxKom­mer­zi­ellChal­len­gerEin­fa­che Bedie­nung und hohe Cus­to­mer Expe­ri­ence
Schlüs­sige End-to-End-Platt­form
Beson­ders geeig­net für Citi­zen Data Sci­en­tists ohne Programmierkenntnisse
Data­ikuData­ikuKom­mer­zi­ellChal­len­gerEin­fa­che Bedie­nung
Kol­la­bo­ra­tion durch Rol­len (z.B. Data Engi­neer, Data Sci­en­tist, Data Citi­zen)
Viele Deploy­ment-Optio­nen erleich­tern Ope­ra­tio­na­li­sie­rung
Beson­ders geeig­net für Citi­zen Data Sci­en­tists ohne Programmierkenntnisse
Data­Ro­botData­Ro­botKom­mer­zi­ellVisio­naryEin­fa­che Bedie­nung und hohe Cus­to­mer Expe­ri­ence
Beson­ders geeig­net für Citi­zen Data Sci­en­tists ohne Programmierkenntnisse
H2O Dri­ver­less AIH2O.aiKom­mer­zi­ellVisio­naryHoch-per­for­mante ML-Kom­po­nen­ten
H2O inte­grier­bar in andere Platt­for­men
Beson­ders geeig­net für code­af­fine Data Scientists
KNIME Ana­ly­tics PlatformKNIMEOpen SourceLea­derViele aus­ge­reifte Funk­tio­nen
Sowohl für Citi­zen Data Sci­en­tists als auch fort­ge­schrit­tene Data Sci­en­tists geeignet
MLF­lowMLF­lowOpen Source-Frame­work für schnelle Expe­ri­mente, Ver­sio­nie­rung und Deploy­ment
Beson­ders geeig­net für erfah­rene Data Scientists
Rapid Min­derRapidMi­nerKom­mer­zi­ellLea­derÜber­durch­schnitt­li­che Benut­zer­ober­flä­che
Schlüs­sige End-to-End-Platt­form
Beson­ders geeig­net für Citi­zen Data Sci­en­tists ohne Programmierkenntnisse
Tabelle 1 Bekannte Auto-ML-Tools 2019

Zunächst stellt sich die Frage, was unter dem Begriff Auto-ML-Tool, auch bekannt als Data-Sci­ence- und Machine-Lear­ning-Platt­form, ver­stan­den wird. Laut dem Markt­for­schungs­in­sti­tut Gart­ner bezeich­net der Begriff eine Soft­ware­an­wen­dung, die auf einer ein­zi­gen Platt­form die Grund­bau­steine des Machine-Lear­ning-Work­flows bereit­stellt und eine ein­fa­che Ope­ra­tio­na­li­sie­rung mit anspre­chen­dem „look and feel“ ermög­licht. Als Anwen­dungs­fall klingt dies erst ein­mal sehr all­ge­mein. Wann also kann ein Auto-ML-Tool sinn­voll ein­ge­setzt wer­den? Zur Beant­wor­tung die­ser Frage bie­tet sich die Unter­tei­lung eines Data-Sci­ence-Pro­jekts in den bekann­ten Pro­zess­zy­klus an:

  1. Defi­ni­tion des Geschäftsproblems
  2. Aus­wahl geeig­ne­ter Daten­quel­len und Datenbeschaffung
  3. Ana­lyse und Berei­ni­gung der Daten
  4. Aus­wahl geeig­ne­ter Variablen
  5. Modell­er­stel­lung und ‑opti­mie­rung
  6. Bereit­stel­lung des Modells und Performance-Monitoring
Vor- und Nachteile von Data-Science- und Machine-Learning-Plattformen Bild2
Gra­fik 1 Auto-ML in der Ana­ly­tics Pipeline

Defi­ni­tion des Geschäfts­pro­blems sowie Aus­wahl geeig­ne­ter Daten­quel­len und Datenbeschaffung

Jedes Pro­jekt beginnt mit einem Geschäfts­pro­blem und einer Daten­be­schaf­fung. Dafür wer­den betriebs­wirt­schaft­li­che Ziele for­mu­liert und mit geeig­ne­ten Daten­sät­zen in Ver­bin­dung gebracht. Ent­schei­dend für die spä­tere Pro­jek­teva­lua­tion ist auch die Quan­ti­fi­zie­rung des Pro­blems mit Hilfe einer Erfolgs­me­trik. Diese Pro­zess­schritte erfor­dern in ers­ter Linie Domä­nen­wis­sen und Kennt­nisse über die Unter­neh­mens­da­ten­ban­ken und der ver­füg­bare externe Daten­quel­len. Somit ist die tool­ge­stützte Auto­ma­ti­sie­rung an die­ser Stelle wenig zielführend.

Ana­lyse und Berei­ni­gung der Daten

Anders im drit­ten Pro­zess­schritt. Für die Aufbereitung und explo­ra­tive Daten­ana­lyse bie­ten die ver­schie­de­nen Auto-ML-Tools ein unter­schied­li­ches Maß an Unter­stüt­zung und Ana­ly­se­mög­lich­kei­ten, z.B. die Berech­nung von sta­tis­ti­schen Kenn­zah­len oder die Erstel­lung ein­fa­cher Plots. Ins­ge­samt zählt dies aber nicht zu den Kern­funk­tio­na­li­tä­ten. An die­ser Stelle ver­birgt sich daher auch eine zen­trale Schwä­che des Citi­zen-Data-Sci­en­tist-Ansat­zes und damit zusam­men­hän­gend der Auto-ML-Tools. Ins­be­son­dere die kom­mer­zi­el­len Pro­gramme erwe­cken durch ihre Benut­zer­füh­rung den Ein­druck, dass mit den impor­tier­ten Daten ohne wei­tere Aufbereitung direkt Modelle trai­niert wer­den kön­nen, die auch spä­ter in der Pro­duk­tion gute Ergeb­nisse liefern.

Nach unse­rer Erfah­rung wei­sen Daten­sätze aber nur in den sel­tens­ten Fäl­len die dafür erfor­der­li­che Qua­li­tät auf. Durch eine sorg­fäl­tige Ana­lyse der Daten im Vor­feld des Modell­trai­nings lässt sich sowohl die Genau­ig­keit als auch die Robust­heit des spä­te­ren Modells deut­lich verbessern.

Aus­wahl geeig­ne­ter Variablen

Die nächste Her­aus­for­de­rung liegt in der Aus­wahl geeig­ne­ter Ein­gangs­va­ria­blen für das Modell. Auto-ML-Tools nut­zen teil­weise Kor­re­la­ti­ons­ana­ly­sen, um stark kor­re­lierte Fea­tures zu iden­ti­fi­zie­ren. Häu­fig wer­den jedoch alle im Daten­satz vor­han­de­nen Fea­tures direkt als Ein­gangs­va­ria­blen an das Modell durch­ge­reicht.
Bei gerin­ger Fea­ture-Anzahl funk­tio­niert die­ser Ansatz recht gut. Wer­den die Daten­sätze kom­ple­xer, besteht auch hier wie­der die Gefahr, durch sub­op­ti­male Fea­ture­aus­wahl unbe­merkt Modell­per­for­mance zu ver­lie­ren. Um die­sem Pro­blem zu begeg­nen, bie­ten fast alle Auto-ML-Tools die Mög­lich­keit, manu­ell in die Fea­ture-Aus­wahl ein­zu­grei­fen und auch den Daten­satz um abge­lei­tete Fea­tures zu ergänzen.

Ein ein­fa­ches Bei­spiel: Gege­ben sei eine Tabelle die unter ande­rem Start- und End­zeit­punkt eines Bear­bei­tungs­pro­zes­ses ent­hält. Es ist sel­ten sinn­voll, diese zwei Zeit­punkte als zwei sepa­rate Fea­tures in ein Modell ein­zu­spei­sen. Typi­scher­weise bil­det man das abge­lei­tete Fea­ture “Dauer”, indem man die Zeit­dif­fe­renz berech­net und nur das so neu erzeugte Fea­ture “Dauer” als Fea­ture an das Modell weitergibt.

Diese Not­wen­dig­keit des manu­el­len Ein­grei­fens wird bei der Nut­zung von Auto-ML-Pro­gram­men aller­dings gerne ein­mal ver­ges­sen oder übersehen.

Modell­er­stel­lung und ‑opti­mie­rung

Sind die Daten auf­be­rei­tet und um wei­tere abge­lei­tete Fea­tures ergänzt, wer­den im fünf­ten Schritt ver­schie­dene Modelle auf dem Daten­satz trai­niert. Die­ser Schritt ist sozu­sa­gen die Kern­do­mäne der Auto-ML-Tools.

Basie­rend auf der Art der Daten und den durch den Benut­zer gewähl­ten Optio­nen kann ein gan­zer Zoo von Model­len einer sys­te­ma­ti­schen Suche nach opti­ma­len Hyper­pa­ra­me­tern unter­zo­gen wer­den. Bei einem gut gewähl­tem Auto-ML-Tool pro­fi­tie­ren hier­von nicht nur die Mit­ar­bei­ter der Fach­ab­tei­lun­gen (die Citi­zen Data Sci­en­tists), son­dern ins­be­son­dere auch die “haupt­amt­li­chen” Data Sci­en­tists. Selbst mit Erfah­rung bedeu­tet das Suchen eines geeig­ne­ten Modells viel Arbeit, die aus dem mecha­ni­schen Abar­bei­ten der immer glei­chen Schritte besteht. Auto-ML-Tools kön­nen hier durch das auto­ma­ti­sche Absu­chen der Hyper­pa­ra­me­ter und den Optio­nen zur Par­al­le­li­sie­rung hel­fen, eini­ges an Arbeits­zeit ein­zu­spa­ren. Sollte das Pro­blem eine kom­ple­xere Model­lie­run­gen erfor­dern, müs­sen Auto-ML-Tools auch ent­spre­chende Kon­fi­gu­ra­ti­ons­mög­lich­kei­ten oder eine Ein­bin­dung aktu­el­ler Pakete anbie­ten. Nur so kann ein Wech­sel zwi­schen Platt­for­men und Skrip­ten ver­mie­den wer­den.
Bei der Modell­er­stel­lung beson­ders vor­teil­haft sind Auto-ML-Tools, die eine Ver­sio­nie­rung der Modelle sowie der ver­wen­de­ten Daten­quel­len unter­stüt­zen. Hier­durch lässt sich sicher­stel­len, dass Ergeb­nisse auch repro­du­zier­bar sind.

Bereit­stel­lung des Modells und Monitoring

Im letz­ten Schritt, der Pro­duk­tiv­set­zung und dem Moni­to­ring des Modells kön­nen Auto-ML-Tools eben­falls hilf­reich sein. Aktu­ell fehlt es noch an eta­blier­ten Stan­dards und Tem­pla­tes, wie bei­spiels­weise mit Python ent­wi­ckelte Modelle am bes­ten in einer pro­duk­ti­ven Umge­bung ein­ge­bun­den wer­den kön­nen. Ins­be­son­dere die kom­mer­zi­el­len Ver­tre­ter der Auto-ML-Pro­gramme bie­ten stark auto­ma­ti­sierte Deploy­ment­me­tho­den. Mit weni­gen Klicks kann man so z.B. einen Web­ser­ver erstel­len, der das Modell über eine API ver­füg­bar macht oder auch ein bereits genutz­tes Modell aktua­li­sie­ren. Außer­dem sind häu­fig Moni­to­ring-Sys­teme mit ein­ge­bun­den, mit denen die Modell­per­for­mance über­wacht wer­den kann.

Fazit

AutoML-Tools sind eine nütz­li­che Hilfe, um nach der Daten­auf­be­rei­tung ver­schie­denste Modelle zu tes­ten. Sie kön­nen Hin­weise dar­auf zu geben, wel­cher Algo­rith­men­typ und wel­che Hyper­pa­ra­me­ter für die gege­bene Auf­ga­ben­stel­lung geeig­net sind. Ein wei­te­rer gro­ßer Vor­teil ist die Ein­fach­heit, mit der fer­tige Modelle als API zur Ver­fü­gung gestellt wer­den kön­nen. Ein bestechen­des Argu­ment für AutoML-Tools ist die benut­zer­freund­li­che Ober­flä­che mit ein­fa­chen und schnel­len Visualisierungsmöglichkeiten.

AutoML-Tools kön­nen jedoch keine sorg­fäl­tige Daten­ana­lyse und Variablen­kon­struk­tion erset­zen. Bei kom­ple­xe­ren Fra­ge­stel­lun­gen sto­ßen sol­che Tools an ihre Gren­zen. Des­halb decken AutoML-Tools auch nicht den gesam­ten Pro­zess­zy­klus ab, kön­nen aber nach einer Daten­auf­be­rei­tung den Pro­zess­schritt Model­lie­rung gewinn­brin­gend stan­dar­di­sie­ren und unterstützen.

Nicht zu unter­schät­zen ist bei den kom­mer­zi­el­len Tools der Fak­tor Lizenz­kos­ten. Bereits für etwas grö­ßere Instal­la­tio­nen kön­nen sich die rei­nen Lizenz­kos­ten schnell im mitt­le­ren sechs­stel­li­gen Bereich bewe­gen. Daher sollte vor der Ein­füh­rung eines kom­mer­zi­el­len AutoML-Tools sorg­fäl­tig geprüft wer­den, ob es im Unter­neh­men hin­rei­chend viele Anwen­dungs­fälle gibt, die von einem AutoML-Tool pro­fi­tie­ren könnten.

Ein wich­ti­ger Punkt, der eben­falls Vor­feld geklärt wer­den muss, sind die tech­ni­schen Ein­schrän­kun­gen der jewei­li­gen Tools. Typi­scher­weise sind dies:

  • Die maxi­male Größe eines ein­zel­nen Daten­sat­zes, der noch ver­ar­bei­tet wer­den kann
  • Bei Klas­si­fi­ka­ti­on­auf­ga­ben: maxi­male Zahl der Kas­sen, in die die Daten ein­ge­teilt wer­den können
  • Unter­stütze Auf­ga­ben­klas­sen (Regres­si­ons­ana­ly­sen, Klas­si­fi­ka­ti­ons­auf­ga­ben, Text­mi­ning, Zeit­rei­hen­ana­ly­sen, Bil­der­ken­nung, etc.)

Ins­ge­samt kann ein Unter­neh­men von der Ein­füh­rung eines oder bei Bedarf sogar meh­re­rer Auto-ML-Pro­gramme durch­aus pro­fi­tie­ren. Erfor­der­lich ist jedoch eine sorg­fäl­tige Kos­ten/­Nut­zen-Abwä­gung ins­be­son­dere bei den kom­mer­zi­el­len Ver­tre­tern die­ser Pro­dukt­gat­tung sowie bei den Mit­ar­bei­tern das Wis­sen um Eigen­hei­ten und Gren­zen die­ser Programme.