Wat betekent “baseline” in de context van machine learning en data science?
Iemand schreef me:
Hint: een geschikte basislijn geeft een RMSE van ongeveer 200.
Ik wil niet begrijp dit. Bedoelt hij dat als mijn voorspellende model van de trainingsgegevens een RMSE van minder dan 500 heeft, het goed is?
En wat zou een “baseline approach” kunnen zijn?
Answer
Een baseline is het resultaat van een heel eenvoudig model / oplossing. Meestal creëer je een baseline en probeer je vervolgens complexere oplossingen te maken om een beter resultaat te krijgen. Als je een betere score behaalt dan de basislijn, is dat goed.
Reacties
- nou, maar wat betekent dat precies voor mijn punt? Voor mijn twee aanhalingstekens
- Aangezien de basislijn 200 is, wil je een betere score. In jouw geval betekent een betere score hoe lager hoe beter. Je wilt onder de 200 komen. Ik ' m ervan uitgaande dat je te maken hebt met een regressie. Het eerste dat voor een basislijn moet worden gebruikt, is een gewone regressie met de kleinste kwadraten.
Antwoord
Een basislijn is een methode die heuristieken, eenvoudige samenvattende statistieken, willekeurigheid of machine learning gebruikt om voorspellingen voor een dataset te maken. U kunt deze voorspellingen gebruiken om de prestaties van de basislijn te meten (bijv. Nauwkeurigheid). Deze statistiek wordt dan datgene waarmee u elk ander algoritme voor machine learning vergelijkt.
Meer in detail:
Een algoritme voor machine learning probeert een functie te leren die de relatie tussen de invoergegevens (feature) en de doelvariabele (of label) modelleert. Wanneer u deze test, meet u doorgaans de prestaties op de een of andere manier. uw algoritme is mogelijk 75% nauwkeurig. Maar wat betekent dit? U kunt deze betekenis afleiden door te vergelijken met de prestaties van een basislijn.
Typische basislijnen zijn onder meer die welke worden ondersteund door scikit-learn “s” dummy “schatters :
Classificatie basislijnen:
- “gestratificeerd”: genereert voorspellingen door de klasseverdeling van de trainingsset te respecteren.
- “meest_frequent”: voorspelt altijd het meest voorkomende label in de trainingsset.
- “voorafgaand”: voorspelt altijd de klas s die de klasse prior maximaliseert.
- “uniform”: genereert willekeurig gelijkmatige voorspellingen.
- “constant”: voorspelt altijd een constant label dat door de gebruiker wordt verstrekt.
Dit is handig voor statistieken die een niet-meerderheidsklasse evalueren.
Regressie basislijnen:
- “median”: voorspelt altijd de mediaan van de trainingsset.
- “kwantiel”: voorspelt altijd een gespecificeerd kwantiel van de trainingsset, voorzien van de parameter kwantiel.
- “constant”: voorspelt altijd een constante waarde die door de gebruiker wordt geleverd.
Over het algemeen wilt u dat uw aanpak beter presteert dan de basislijnen die u hebt geselecteerd. In het bovenstaande voorbeeld zou u willen dat uw nauwkeurigheid van 75% hoger is dan elke basislijn die u op dezelfde gegevens heeft uitgevoerd.
Ten slotte, als u te maken heeft met een specifiek domein van machine learning (zoals systemen), dan kiest u doorgaans baselines die de huidige state-of-the-art (SoTA) benaderingen zijn – aangezien u gewoonlijk wilt aantonen dat uw benadering het beter doet dan deze. Terwijl u bijvoorbeeld een nieuw algoritme voor collaboratief filteren evalueert, wilt u het misschien vergelijken met matrixfactorisatie – wat zelf een leeralgoritme is, maar nu een populaire basislijn is omdat het zo succesvol is in het onderzoeken van aanbevelingssystemen.
Answer
Aangezien we veel algoritmen voor machine learning hebben, moeten we weten welk ML-algoritme het beste bij ons probleem past. Dit wordt geïdentificeerd door het Baseline Prediction-algoritme.
Een baseline-voorspellingsalgoritme biedt een reeks voorspellingen die u kunt evalueren zoals u alle voorspellingen voor uw probleem zou doen, zoals classificatienauwkeurigheid of RMSE.
De scores van deze algoritmen bieden het vereiste vergelijkingspunt bij het evalueren van alle andere algoritmen voor machine learning voor uw probleem.
voor meer informatie hebben we een zeer goede blog over ML: Wat betekent " baseline " in de context van machine learning?