In deze gids nemen we 8 leuke machine learning-projecten voor beginners door. Projecten behoren tot de beste investeringen van je tijd. U zult met plezier leren, gemotiveerd blijven en sneller vooruitgang boeken.
U ziet, geen enkele theorie kan de praktijk vervangen. Leerboeken en lessen kunnen je het valse geloof geven dat je het onder de knie hebt, omdat de stof voor je ligt. Maar als je het eenmaal probeert toe te passen, kom je er misschien achter dat het moeilijker is dan het lijkt.
Projecten helpen je om je toegepaste ML-vaardigheden snel te verbeteren, terwijl ze je de kans geven om een interessant onderwerp te verkennen.
Daarnaast kun je projecten toevoegen aan je portfolio, waardoor het makkelijker wordt om een baan te vinden, coole carrièremogelijkheden te vinden en zelfs een hoger salaris te bedingen.
Hier zijn 8 leuke machine learning-projecten voor beginners. Je kunt ze allemaal in één weekend afronden, of ze uitbreiden tot langere projecten als je ze leuk vindt.
Inhoudsopgave
- Machine Learning Gladiator
- Play Money Ball
- Predict Stock Prices
- Leer een neuraal netwerk handschrift lezen
- Onderzoek Enron
- Schrijf ML-algoritmen vanaf nul
- Mijn sociale media-sentiment
- Verbeter de gezondheidszorg
Machine Learning Gladiator
We noemen dit liefkozend “machine learning gladiator,”maar het is niet nieuw. Dit is een van de snelste manieren om praktische intuïtie op te bouwen rond machine learning.
Het doel is om out-of-the-box modellen te nemen en ze toe te passen op verschillende datasets. Dit project is om drie redenen geweldig:
Ten eerste bouw je intuïtie op voor model-to-problem fit. Welke modellen zijn robuust voor ontbrekende gegevens? Welke modellen gaan goed om met categorische kenmerken? Ja, je kunt tekstboeken doorspitten om de antwoorden te vinden, maar je leert het beter door het in actie te zien.
Ten tweede leer je door dit project de onschatbare vaardigheid om snel prototypes te maken van modellen. In de echte wereld is het vaak moeilijk om te weten welk model het beste zal presteren als je het niet uitprobeert.
Ten slotte helpt deze oefening je om de workflow van het bouwen van modellen onder de knie te krijgen. U oefent bijvoorbeeld…
- Importeren van gegevens
- Schonen van gegevens
- Versplitsen in train/test- of kruisvalidatiesets
- Voorbewerking
- Vormingen
- Feature engineering
Omdat u gebruikmaakt van kant-en-klare modellen, kunt u zich concentreren op het aanscherpen van deze cruciale stappen.
Kijk op de documentatiepagina’s van sklearn (Python) of caret (R) voor instructies. U moet regressie-, classificatie- en clusteringalgoritmen oefenen.
Tutorials
- Python: sklearn – Officiële tutorial voor het sklearn-pakket
- Wijnkwaliteit voorspellen met Scikit-Learn – Stap-voor-stap tutorial voor het trainen van een machine learning model
- R: caret – Webinar gegeven door de auteur van het caret pakket
Data Sources
- UCI Machine Learning Repository – 350+ doorzoekbare datasets die bijna elk onderwerp beslaan. Je zult zeker datasets vinden die je interesseren.
- Kaggle Datasets – 100+ datasets geüpload door de Kaggle community. Er zijn een aantal echt leuke datasets hier, met inbegrip van PokemonGo spawn locaties en Burritos in San Diego.
- data.gov – Open datasets vrijgegeven door de Amerikaanse overheid. Geweldige plek om te kijken als je geïnteresseerd bent in sociale wetenschappen.
Play Money Ball
In het boek Moneyball revolutioneerden de Oakland A’s honkbal door analytische spelerscouting. Ze bouwden een concurrerend team op, terwijl ze slechts 1/3 van de salarissen van grote teams als de Yankees betaalden.
Als je het boek nog niet gelezen hebt, moet je het zeker lezen. Het is een van onze favorieten!
Gelukkig genoeg heeft de sportwereld een ton aan data om mee te spelen. Gegevens over teams, wedstrijden, scores en spelers worden allemaal bijgehouden en zijn vrij beschikbaar online.
Er zijn genoeg leuke machine learning projecten voor beginners. Je zou bijvoorbeeld kunnen proberen…
- Sportweddenschappen… Voorspellen van boxscores op basis van de beschikbare gegevens vlak voor elke nieuwe wedstrijd.
- Talent scouting… Gebruik college statistieken om te voorspellen welke spelers de beste professionele carrières zouden hebben.
- Algemeen management… Maak clusters van spelers op basis van hun sterke punten om een goed afgerond team te bouwen.
Sport is ook een uitstekend domein voor het beoefenen van datavisualisatie en verkennende analyse. U kunt deze vaardigheden gebruiken om u te helpen beslissen welke soorten gegevens u in uw analyses wilt opnemen.
Gegevensbronnen
- Database voor sportstatistieken – Sportstatistieken en historische gegevens over vele professionele sporten en verschillende college sporten. Schone interface maakt het gemakkelijker voor web scraping.
- Sports Reference – Een andere database van sportstatistieken. Meer rommelige interface, maar individuele tabellen kunnen worden geëxporteerd als CSV-bestanden.
- cricsheet.org – Ball-by-ball gegevens voor internationale en IPL cricket wedstrijden. CSV-bestanden voor IPL en T20 internationals wedstrijden zijn beschikbaar.
Voorspellen aandelenkoersen
De aandelenmarkt is als snoep-land voor elke datawetenschapper die ook maar een beetje geïnteresseerd is in financiën.
Vooreerst heb je veel soorten gegevens waaruit je kunt kiezen. Je kunt prijzen vinden, fundamentals, wereldwijde macro-economische indicatoren, volatiliteitsindices, etc… de lijst gaat maar door en door.
Ten tweede kunnen de gegevens zeer granulair zijn. U kunt gemakkelijk tijdreeksgegevens per dag (of zelfs per minuut) voor elk bedrijf opvragen, waardoor u creatief over handelsstrategieën kunt nadenken.
Ten slotte hebben de financiële markten over het algemeen korte feedbackcycli. Daarom kunt u uw voorspellingen snel valideren op nieuwe gegevens.
Een aantal voorbeelden van beginnersvriendelijke machine learning-projecten die u zou kunnen proberen, zijn onder meer…
- Kwantitatief waardebeleggen… Voorspel 6-maandelijkse koersbewegingen op basis van fundamentele indicatoren uit de kwartaalrapporten van bedrijven.
- Voorspellen… Bouw tijdreeksmodellen, of zelfs terugkerende neurale netwerken, op de delta tussen impliciete en werkelijke volatiliteit.
- Statistische arbitrage… Zoek vergelijkbare aandelen op basis van hun koersbewegingen en andere factoren en zoek naar perioden waarin hun prijzen uiteenlopen.
Voor de hand liggende disclaimer: Handelsmodellen bouwen om machine learning te oefenen is eenvoudig. Ze winstgevend maken is uiterst moeilijk. Niets hier is financieel advies, en we raden niet aan om met echt geld te handelen.
Tutorials
- Python: sklearn for Investing – YouTube-videoserie over het toepassen van machine learning op beleggen.
- R: Quantitative Trading with R – Gedetailleerde lesnotities voor kwantitatieve financiën met R.
Data Sources
- Quandl – Datamarkt die gratis (en premium) financiële en economische data aanbiedt. U kunt bijvoorbeeld aandelenkoersen van meer dan 3000 Amerikaanse bedrijven of economische gegevens van de Federal Reserve in bulk downloaden.
- Quantopian – Quantitative finance-gemeenschap die een gratis platform biedt voor het ontwikkelen van handelsalgoritmen. Inclusief datasets.
- US Fundamentals Archive – 5 jaar fundamentals data voor 5000+ Amerikaanse bedrijven.
Leer een neuraal netwerk handschrift lezen
Neurale netwerken en deep learning zijn twee succesverhalen in de moderne kunstmatige intelligentie. Ze hebben geleid tot grote vooruitgang in beeldherkenning, automatische tekstgeneratie, en zelfs in zelfrijdende auto’s.
Om betrokken te raken bij dit spannende veld, moet je beginnen met een beheersbare dataset.
De MNIST Handwritten Digit Classification Challenge is het klassieke instappunt. Beeldgegevens zijn over het algemeen moeilijker om mee te werken dan “platte” relationele gegevens. De MNIST-data is beginnersvriendelijk en klein genoeg om op één computer te passen.
Handschriftherkenning zal je uitdagen, maar je hebt er geen hoge rekenkracht voor nodig.
Om te beginnen, raden we je aan het eerste hoofdstuk van de onderstaande tutorial te lezen. Het leert je hoe je vanuit het niets een neuraal netwerk kunt bouwen dat de MNIST-uitdaging met hoge nauwkeurigheid oplost.
Tutorial
- Neurale netwerken en Deep Learning (online boek) – Hoofdstuk 1 loopt door hoe je vanuit het niets een neuraal netwerk in Python kunt schrijven om cijfers uit MNIST te classificeren. De auteur geeft ook een zeer goede uitleg over de intuïtie achter neurale netwerken.
Gegevensbronnen
- MNIST – MNIST is een aangepaste subset van twee datasets die zijn verzameld door het Amerikaanse National Institute of Standards and Technology. Deze bevat 70.000 gelabelde afbeeldingen van handgeschreven cijfers.
Onderzoek naar Enron
Het Enron-schandaal en de ineenstorting ervan was een van de grootste ineenstortingen van bedrijven in de geschiedenis.
In het jaar 2000 was Enron een van de grootste energiebedrijven in Amerika. Nadat fraude aan het licht kwam, stortte het bedrijf binnen een jaar in een faillissement.
Gelukkig voor ons hebben we de Enron e-mail database. Deze bevat 500.000 emails tussen 150 voormalige Enron werknemers, meest leidinggevenden. Het is ook de enige grote openbare database van echte e-mails, wat hem nog waardevoller maakt.
In feite gebruiken datawetenschappers deze dataset al jaren voor onderwijs en onderzoek.
Voorbeelden van machine learning-projecten voor beginners die je zou kunnen proberen zijn…
- Anomaliedetectie… Breng de distributie van verzonden en ontvangen e-mails per uur in kaart en probeer abnormaal gedrag te detecteren in de aanloop naar het publieke schandaal.
- Sociale netwerkanalyse… Bouw netwerkgrafiekmodellen tussen werknemers om belangrijke beïnvloeders te vinden.
- Natuurlijke taalverwerking… Analyseer de berichten in combinatie met e-mail metadata om e-mails te classificeren op basis van hun doel.
Gegevensbronnen
- Enron Email Dataset – Dit is het Enron e-mailarchief dat wordt gehost door CMU.
- Beschrijving van Enron-gegevens (PDF) – Verkennende analyse van Enron-e-mailgegevens die je zou kunnen helpen om je basis te krijgen.
Schrijf ML-algoritmen vanaf nul
Het vanaf nul schrijven van machine learning-algoritmen is om twee belangrijke redenen een uitstekend leermiddel.
Ten eerste is er geen betere manier om echt begrip op te bouwen van hun mechanica. Je wordt gedwongen over elke stap na te denken, en dat leidt tot echte beheersing.
Ten tweede leer je wiskundige instructies te vertalen naar werkende code. Deze vaardigheid heb je nodig bij het aanpassen van algoritmes uit academisch onderzoek.
Om te beginnen raden we je aan een algoritme te kiezen dat niet te complex is. Er zijn tientallen subtiele beslissingen die je moet nemen voor zelfs de eenvoudigste algoritmen.
Als je eenmaal vertrouwd bent met het bouwen van eenvoudige algoritmen, probeer ze dan uit te breiden voor meer functionaliteit. Probeer bijvoorbeeld een vanilla logistische regressie-algoritme uit te breiden tot een lasso/ridge-regressie door regularisatieparameters toe te voegen.
Ten slotte is er nog een tip die elke beginner zou moeten weten: Laat je niet ontmoedigen als je algoritme niet zo snel of fancy is als die in bestaande pakketten. Die pakketten zijn het resultaat van jarenlange ontwikkeling!
Tutorials
- Python: Logistic Regression from Scratch
- Python: k-Nearest Neighbors from Scratch
- R: Logistic Regression from Scratch
Mine Social Media Sentiment
Social media is bijna synoniem geworden met “big data” vanwege de enorme hoeveelheid door gebruikers gegenereerde inhoud.
Het ontginnen van deze rijke data kan ongekende manieren opleveren om de vinger aan de pols te houden bij meningen, trends en het sentiment onder het publiek. Facebook, Twitter, YouTube, WeChat, WhatsApp, Reddit… de lijst is eindeloos.
Daar komt bij dat elke generatie nog meer tijd doorbrengt op sociale media dan hun voorgangers. Dit betekent dat sociale-mediagegevens nog relevanter worden voor marketing, branding en het bedrijfsleven als geheel.
Er zijn veel populaire sociale-mediaplatforms, maar Twitter is de klassieke ingang voor het beoefenen van machine learning.
Met Twitter-data krijg je een interessante mix van data (tweet-inhoud) en meta-data (locatie, hashtags, gebruikers, re-tweets, etc.) die bijna eindeloze paden openen voor analyse.
Tutorials
- Python: Mining Twitter Data – Hoe je sentimentanalyse uitvoert op Twitter-data
- R: Sentimentanalyse met machine learning – Short and sweet sentimentanalyse tutorial
Data Sources
- Twitter API – De twitter API is een klassieke bron voor streaming data. Je kunt tweets, hashtags en meer volgen.
- StockTwits API – StockTwits is als een twitter voor handelaren en beleggers. Je kunt deze dataset op veel interessante manieren uitbreiden door hem te koppelen aan datasets met tijdreeksen met behulp van de tijdstempel en het tickersymbool.
Verbeter de gezondheidszorg
Een andere sector die dankzij machine learning snel verandert, is de wereldwijde gezondheidszorg.
In de meeste landen vereist het vele jaren van opleiding om arts te worden. Het is een veeleisend vakgebied met lange werktijden, hoge inzet en een nog hogere toetredingsdrempel.
Als gevolg daarvan is er de laatste tijd veel moeite gedaan om de werklast van artsen te verlichten en de algehele efficiëntie van het gezondheidszorgsysteem te verbeteren met behulp van machine learning.
Toepassingen zijn onder meer:
- Preventieve zorg… Het voorspellen van ziekte-uitbraken op zowel individueel als gemeenschapsniveau.
- Diagnostische zorg… Het automatisch classificeren van beeldgegevens, zoals scans, röntgenfoto’s, enzovoort.
- Verzekeringen… Aanpassen van verzekeringspremies op basis van openbaar beschikbare risicofactoren.
Als ziekenhuizen doorgaan met het moderniseren van patiëntendossiers en als we meer granulaire gezondheidsgegevens verzamelen, zal er een toestroom zijn van laaghangend fruit mogelijkheden voor data scientists om een verschil te maken.
Tutorials
- R: Building meaningful machine learning models for disease prediction
- Machine Learning in Health Care – Uitstekende presentatie door Microsoft Research