10 april 2017

Artikel geschreven door Maartje Meijs, Medior Consultant Cmotions.

Tegenwoordig is er een breed scala aan (open-source) software voor het analyseren van data. Zowel KNIME als RapidMiner worden door Gartner als marktleiders van 2017 in data science platforms gezien en daarom wordt het tijd om deze twee programma’s met elkaar te vergelijken. Heb je interesse in een vergelijking tussen SAS en IBM SPSS (de twee andere marktleiders uit Gartner’s Magic Quadrant 2017) met R en Python, lees dan vooral dit artikel.

 

KNIME (Konstanz Information Miner; Zurich) is een open source analyseplatform dat zijn oorsprong vindt in 2004 in de noodzaak voor specifieke analyse tools voor de farmaceutische industrie. Dit kan je ook nog zien aan de specifieke chemische analyse mogelijkheden die KNIME biedt. KNIME wordt inmiddels ook gebruikt in vele andere domeinen, zoals marketing en customer intelligence en is zowel te gebruiken door de beginnende analist als door een meer technische data scientist.

RapidMiner (Boston) is een analytics programma dat oorspronkelijk gecreëerd is op de Technische universiteit in Dortmund in 2001. RapidMiner werd een snelgroeiend softwarebedrijf met meer dan 300% groei van 2007 tot 2012 dat zijn roots nu heeft in Boston. RapidMiner is te gebruiken door zowel de ervaren scientist als de beginnende analist.

 

Voor deze blog zullen we de gratis versies van KNIME en RapidMiner met elkaar vergelijken. Voor KNIME is dat het KNIME Analytics Platform en voor RapidMiner de RapidMiner Community Edition. Beide programma’s hebben natuurlijk ook verschillende typen upgrades die mogelijk zijn om te zorgen dat je meer data of andere data kunt inlezen, dat je meer analyses of andere analyses kunt uitvoeren, of dat je meer ondersteuning krijgt. Hier zullen we verderop in dit artikel nog wat verder op ingaan.

 

User interface (look ’n feel)

Laten we de vergelijking beginnen met de look and feel van de programma’s. Beiden maken gebruik van een graphical user interface; je kunt door middel van drag-and-drop allerlei type bewerkingen aan je analyse flow (KNIME) of process (RapidMiner) toevoegen. De bewerkingen kun je vervolgens verder specifiëren door middel van een menu; bijvoorbeeld wat voor type decision tree je wilt draaien, hoe je je test- en trainset wilt verdelen, of hoe je missings wilt imputeren.

Figuur 1: Flow in KNIME
Hieronder zie je de node repository waar je uit allerlei bewerkingen kunt kiezen. Deze kun je vervolgens toevoegen aan je flow rechts door middel van drag-and-drop (Knime.org).

 

Figuur 2: Process in RapidMiner
Hieronder zie je operators waar je allerlei bewerkingen uit kunt kiezen. Deze voeg je door middel van drag-and-drop toe aan je process rechts (docs.rapidminer.com).

Door de grafische user interface zijn projecten overzichtelijk, kan er samenhang tussen projecten worden gerealiseerd en wordt samenwerken aan één project vergemakkelijkt. Hierin lijken zowel KNIME als RapidMiner op SPSS Modeler en SAS Enterprise Miner (en Guide). Belangrijke alternatieven voor analyse in het open source domein – zoals R en Python – bieden de gebruiker (nog) niet een generieke grafische user interface en zijn daarmee minder toegankelijk dan KNIME en RapidMiner.

Wat mij betreft wint KNIME deze ronde. Niet alleen vanwege de heldere naamgeving van de bewerkingen, het goede kleurgebruik, maar ook ben ik een groot fan van de stoplichten die KNIME in hun interface heeft, die per bewerking aangeven in welk stadium van processing de bewerking is. Bij een rood lichtje moet de bewerking nog ingesteld worden, bij een gele is deze klaar om gerund te worden, en bij een groene is de bewerking klaar en kan de output bekeken worden. Zo kun je in één oogopslag zien waar je was gebleven.

 

 

 

Methoden en technieken

Wat betreft methoden en technieken zijn KNIME en RapidMiner redelijk aan elkaar gewaagd. Beiden zijn ze goed in allerlei data analyse technieken, zoals decision trees, segmentatie analyses, feature selection, neurale netwerken en noem het maar op. Ook hebben ze beiden een grote diversiteit aan datapreparatie technieken in hun standaard pakket. Zo heeft KNIME een keuze uit meer dan 1000 standaard bewerkingen en bij RapidMiner zelfs meer dan 1500. Door de integratie met onder andere Weka heeft KNIME een licht voordeel omdat je hierdoor nog flexibeler bent en meer geavanceerde methoden en technieken kunt toepassen.

In beide programma’s zijn alle mogelijke bewerkingen helder gestructureerd en kun je zoeken in alle mogelijke bewerkingen om snel te vinden wat je nodig hebt. Nadeel is wel dat de bewerkingen altijd net iets anders heten dan dat je denkt. Zo heet een zero variance filter in KNIME bijvoorbeeld een low variance filter en kun je dus wel even zoeken als je zoekt op ‘zero’.

Daarnaast kun je in zowel KNIME als in RapidMiner loops aanmaken om zo bewerkingen over een groot aantal variabelen te laten runnen. Ik ben in beiden nog geen bewerking tegengekomen die ik graag wilde uitvoeren maar die er niet was, en daarom is deze ronde een gelijkspel.

 

 

 

 

Samenwerking met andere pakketten

Zowel RapidMiner als KNIME kunnen samenwerken met R en Python. Voor beide programma’s moet je een extra plug-in installeren (gratis) en zo kun je vanaf je flow of process R en Python scripts aanroepen. Bij KNIME heb je de optie om samen te werken met Weka, SQL, en bijvoorbeeld Java. Voor RapidMiner kun je alle JDBC connecties inlezen en is er een directe verbinding mogelijk met Twitter en Salesforce. In beiden kun je allerlei typen bestanden inlezen zoals Excel, CSV, SAS, STATA, SPSS, XML, en nog vele anderen. Omdat er geen grote verschillen tussen de twee zijn op het gebied van samenwerkingen is ook deze ronde een gelijkspel.

 

 

 

Gebruikersgemak

Beide programma’s hebben zoals eerder benoemd een grafische interface waardoor je ook als beginner snel aan de slag kunt met je analyses. Daarnaast kun je in beide programma’s ook nog zogenaamde code snippets (bijvoorbeeld in Java) invoegen voor meer complexe bewerkingen die niet in het standaardpakket zitten. Ook hebben ze beiden daarnaast een uitgebreide beschrijving per bewerking (node) met daarbij uitleg en een voorbeeld over hoe je de bewerking het beste kunt uitvoeren.

Beide programma’s hebben ook de optie om ‘post-its’ toe te voegen aan de flow zodat je informatie kunt toevoegen aan je analyses om anderen bijvoorbeeld te laten zien wat je hebt gedaan en waarom. Daarnaast kun je bij beiden ook verschillende bewerkingen clusteren in een map (oftewel metanode in KNIME en subprocess in RapidMiner) om zo je proces overzichtelijk te houden.

Wat mij betreft wint KNIME dit onderdeel dik om drie redenen. Ten eerste kun je bij KNIME een bewerking verbinden met meerdere andere bewerkingen. Simpel gezegd, je kunt heel gemakkelijk meerdere lijntjes trekken (Zie hierboven in de flow van KNIME hoe de verbindingen soms splitsen). Bij RapidMiner heb je altijd eerste een multiplier-bewerking nodig voordat je meerdere bewerkingen kunt toevoegen.

Bewerkingen kunnen in KNIME ook individueel gerund worden wat een fijne bijkomstigheid is als je een klein gedeelte wilt testen van je flow, als je alleen het laatste gedeelte van je flow opnieuw wilt runnen, of als je een grote bewerking slechts 1 keer wil doen in plaats van iedere keer opnieuw. In RapidMiner kan alleen de gehele flow gerund worden. Hoewel individuele bewerkingen wel uitgeschakeld kunnen worden met de hand, worden daarmee ook vaak de connecties tussen de bewerkingen gewist, wat extra werk oplevert als je de bewerking weer wilt toevoegen aan je process.

Als laatste moet je bij RapidMiner altijd je process verbinden met de out-port om output te krijgen (In het RapidMiner process hierboven zie je helemaal rechts een rondje: de out-port); met name als je een deel van je process wilt runnen is het een gedoe om de laatste bewerking te moeten verbinden met de out-port.

 

 

 

 

Support

Zowel RapidMiner als KNIME geeft geen technische support in de gratis versie. Dit kan natuurlijk wel aangeschaft worden door middel van een upgrade van pakket. Beide programma’s hebben echter wel een grote community waarin je allerlei vragen en antwoorden kunt opzoeken. Voor RapidMiner zijn er veel diverse fora naast de officiële documentatie; voor KNIME ben je veelal aangewezen op de officiële kanalen van KNIME, waaronder KNIMETV of het KNIME Forum.

RapidMiner heeft een functie genaamd ‘Wisdom of the Crowds’ waarmee je op basis van de bewerkingen die je op dat moment in je process hebt staan aanbevelingen krijgt welke vervolgstappen andere gebruikers namen (zie in de screenshot van het process van RapidMiner onderaan ‘recommended operators’).

KNIME heeft een soortgelijke functie genaamd de ‘Workflow Coach’. Deze coach geeft aan op basis van de data van alle gebruikers welke volgende stap kunt nemen. Je kunt ook echter alleen jouw flows laten analyseren en dus alleen op basis van eigen data laten voorspellen wat een handige vervolgstap is.

Omdat er voor RapidMiner meer documentatie is en je iets makkelijker kunt vinden welke mogelijkheden het programma biedt, wint RapidMiner deze ronde.

 

 

 

Kosten

Beide programma’s hebben een gratis versie die we hier hebben vergeleken. Als je echter wat meer wilt dan deze versies kunnen, dan kun je natuurlijk extra opties aanschaffen. Zo kan de community editie van RapidMiner maar maximaal 10.000 rijen aan data inlezen. En omdat je daar al snel tegenaan loopt, moet je dan upgraden naar de Small Editie (100.000 rijen, € 2.500 per jaar per gebruiker), naar de Medium Editie (1.000.000 rijen, € 5.000 per jaar per gebruiker) of naar de Large Editie (ongelimiteerde rijen, € 10.000 per jaar per gebruiker). Bij al deze pakketten krijg je dan natuurlijk ook customer support en bij ieder pakket staan er ook meer processors tot je beschikking om je analyses sneller uit te voeren.

Bij KNIME is er geen limiet aan de data en de processors die je gebruikt. Een nuttige upgrade die met name voor samenwerking binnen een team belangrijk kan zijn is KNIME Teamspace, waarmee je met meerdere mensen tegelijk in dezelfde Knime workspace kunt werken (€ 2.000 per jaar per gebruiker).

Bij RapidMiner ga je dus betalen vanaf het moment dat je met serieuze data aan de slag gaat; bij KNIME ga je betalen vanaf het moment dat je samen aan projecten wilt werken en KNIME onderdeel van bedrijfsprocessen gaat maken.

 

  

 

De keuze

Mijn keuze na deze vergelijking is: KNIME.

 

 

Zoals hierboven te zien is en toegelicht wordt bij de verschillende onderdelen gaat mijn voorkeur uit naar KNIME. Dit programma is gebruiksvriendelijker, heeft een betere grafische interface en is goedkoper dan RapidMiner (ervan uitgaande dat er minimaal 10.000 rijen nodig zijn in ons vakgebied). Het feit dat support bij RapidMiner iets beter is, moeten we dan maar op de koop toe nemen.

Contact

Heb je vragen naar aanleiding van dit artikel? Neem dan contact op met Maartje Meijs via onderstaande contactgegevens.

Maartje Meijs, Medior Consultant

+31 6 46 88 41 58

m.meijs@cmotions.nl