Naar inhoud

Python krijgt een steeds grotere voetprint in data science

Python krijgt een steeds grotere voetprint in de interessante wereld van data science. Zo zegt KDnuggets dat Python R zelfs voorbij is als leider in het klassement der artificial intelligence- en machine learning-platforms. Maar wat maakt Python nu zo bijzonder voor data science? Eén van de redenen is dat Python een general purpose programming language is. Hiermee wordt bedoeld dat Python geen specifiek doel heeft, waardoor het mogelijkheden biedt om modellen direct in te zetten in een bredere context. R is daarentegen geen programmeertaal voor algemene doeleinden, aangezien het voornaamste doel statistisch modelleren is. Nog een reden dat Python zo populair aan het worden is, is dat het een gemakkelijke taal is om te leren, waardoor niet-programmeurs, zoals ik, toch gemakkelijk een programmeertaal kunnen leren.

Is het dan beter om alleen Python te leren en niet meer met R aan de slag te gaan? Nee! Python is complementair aan R. In een eerder artikel hebben we R en Python met elkaar vergeleken, samen met SAS en SPSS. R is sterk in zowel verklarende als voorspellende analyses, Python’s focus zit echt op de voorspellende kant. Toepassingen van machine learning, data mining en artificial intelligence worden eerder geschreven in Python dan in R. Tensorflow, het deep learning-framework ontworpen door Google, is ook geschreven in Python. Dat Python R aan het inhalen is in machine learning, betekent dus niet dat Python R overal vervangt, met name bij het maken van voorspelmodellen is R nog veel groter dan Python.

Wanneer gebruik ik Python?

Als een algoritme onderdeel is van een groter geheel en als de uitkomsten rechtstreeks gebruikt moeten worden voor een vervolgactie, valt mijn keuze vaak op Python. Zo zijn we bijvoorbeeld bezig met een koffiezetapparaat met gezichtsherkenning en dit bouwen we in Python. Nadat het algoritme de persoon heeft herkend, moet het apparaat namelijk direct actie ondernemen en koffie gaan zetten. Ook bij zelfrijdende auto’s wordt Python gebruikt. Als een algoritme een bocht naar links of een overstekend persoon of kind herkent, moet het meteen naar acteren.

Python 2.7 versus Python 3

In 2008 besloot Guido van Rossum in de ontwikkeling van Python meer nadruk te leggen op het opschonen van de code dan op backwards compatibility. Dat is dat oude code het blijft doen op nieuwere versies. Dit heeft als gevolg dat er nu twee versies van Python rond gaan: 2.7 en 3.

Je gebruikt toch altijd gewoon het nieuwste? In dit geval hoeft dat niet zo te zijn. De meeste packages zijn namelijk nog geschreven in Python 2.7, waardoor je daar nu het meeste nog mee kan. Echter, er komt steeds meer en meer beschikbaar voor Python 3. Sommige nieuwe packages worden wel al alleen voor Python 3 ontwikkeld, kijk bijvoorbeeld naar Tensorflow. Maar het echte omslagpunt moet nog komen.

Persoonlijk gebruik ik voornamelijk nog Python 2.7, aangezien al mijn oude code hierin is geschreven. Alleen als ik deep learning-modellen wil trainen, maak ik gebruik van Python 3, aangezien Tensorflow alleen in Python 3 is ontwikkeld. Je kunt beide naast elkaar hebben draaien op je computer. Er zijn functionaliteiten beschikbaar om Python 2.7- naar Python 3-code en vice versa te converteren.

Hoe leer je Python?

De populariteit van de taal zie je ook in het aantal cursussen dat er tegenwoordig is. Coursera heeft ondertussen 115 courses en specialisaties met Python, vele universiteiten en websites hebben online courses beschikbaar gesteld en er zijn tal van boeken beschikbaar. Door de bomen zie je het bos niet meer. Dus waar begin je nu?

Een programmeertaal leren valt te vergelijken met het leren van een nieuwe taal. Je kunt het leren, maar door veel te oefenen, krijg je het echt onder de knie. Wij raden dan ook aan om te beginnen met één van deze twee cursussen: Code Academy of Udemy. Deze cursussen beginnen laagdrempelig en hebben een logische opbouw. Als je hiermee klaar bent, ga dan gewoon aan de slag. Ga dingen bouwen met Python. Bouw een keer een model in Python in plaats van de tool die je gewend bent. Of bouw bijvoorbeeld een webscraper die automatisch zoekt naar de goedkoopste tickets met de kortste tijden.

Bij het bouwen, heb je Google ernaast openstaan. 99,9 procent van de dingen waar je tegen aanloopt, hebben anderen al gevraagd. Op websites zoals stackoverflow staan veelal goede instructies. Daarnaast zijn de volgende twee boeken ook erg handig als naslagwerk: 'Python Data Science Handbook' van Jake VanderPlas en 'Python for Data Analysis' van Wes McKinney. Beide boeken leggen alles helder en laagdrempelig uit, met zeer veel voorbeeldcodering.

Naast deze start-up-guides zijn er wat andere tips die wij je kunnen geven:

  • Installeer Anaconda in plaats van de normale Python-installers. Anaconda heeft al veel packages voor je geïnstalleerd en is daardoor makkelijk in gebruik.
  • Gebruik Jupyter Notebooks, dit wordt samen met Anaconda geïnstalleerd, in plaats van de Python-interface. Het voordeel van notebooks is dat het interactief te werk kan gaan.

Handige packages die je sowieso moet installeren als je aan de slag gaat met machine learning zijn:

  • Algemene must-have’s: numpy, scipy, pandas.
  • Machine learning: statsmodels, scikit-learn.
  • Deep learning: Tensorflow , Theano, Keras.
  • Visualization: matplotlib, plotly, ggplot.
  • Webscraping: Selenium, Beautifulsoup, scrapy.
  • Text ining & neurolinguistic programming: NLTK, Gensim.
  • Maken van user interfaces: Flask (web), PyGame, TKinter.

De auteur is senior consultant bij marketingconsultancybureau Cmotions.

Bron: CustomerTalk
0

Reacties

Logo CustomerTalk

Cookie-instellingen

CustomerTalk maakt gebruik van cookies voor een optimale gebruikerservaring.

Graag vragen wij je toestemming voor het plaatsen van deze cookies.

Accepteren Meer informatie