Het beste van twee werelden: lineaire modelbomen

De lineaire modelboom (LMT) is een van mijn favoriete ML-modellen - en om goede redenen. Lineaire modelbomen combineren lineaire modellen en beslissingsbomen om een ​​hybride model te maken dat betere voorspellingen produceert en tot betere inzichten leidt dan beide modellen alleen. Een lineaire modelboom is eenvoudig een beslissingsboom met lineaire modellen op zijn knooppunten. Dit kan worden gezien als een stukjes lineair model met knopen geleerd via een beslissingsboomalgoritme. LMT's kunnen worden gebruikt voor regressieproblemen (bijvoorbeeld met lineaire regressiemodellen in plaats van populatiemiddelen) of classificatieproblemen (bijvoorbeeld met logistieke regressie in plaats van populatiemodi).

Hierboven staat een heuristische grafiek van modellen voor machine learning langs de assen van nauwkeurigheid en interpreteerbaarheid. Het kwadrant rechtsboven is het beste, met zowel hoge prestaties als hoge interpreteerbaarheid. Deze grafiek laat zien dat LMT's zowel zeer interpreteerbaar als zeer performant zijn.

Mijn gebruikelijke ruilmiddelen zijn Python, scikit-learn en panda's. Scikit-learn bevat echter geen implementatie van LMT en ik kon geen open source-versie vinden, dus heb ik het zelf geïmplementeerd voor ons gebruik bij Convoy. De implementatie is onderaan deze post gelinkt. In de rest van de post zullen we LMT vergelijken met andere modellen die hierboven in de kaderplot zijn vermeld.

LMT versus anderen

Hieronder zullen we LMT's demonstreren met de open source auto-mpg dataset. De auto-mpg-gegevensset betreft het brandstofverbruik van 398 voertuigen uit de jaren 1970 en vroege jaren 1980. We zullen het brandstofverbruik (mpg) voorspellen op basis van voertuiggewicht, modeljaar, paardenkracht, versnelling, cilinderinhoud en aantal cilinders. Het jupyter-notitieblok dat onderaan deze post is gekoppeld, bevat de volledige verkenning van deze gegevens en modelbouw. De resultaten worden hier samengevat.

De bovenstaande tabel toont de prestaties van vier verschillende algoritmen bij het voorspellen van mpg op deze dataset. Het is geen verrassing dat Gradient Boosting Trees (GBT) het beste presteert, omdat dit algoritme vaak de beste voorspellende prestaties levert. LMT presteert echter bijna net zo goed, en zoals we hieronder zullen zien, heeft het andere voordelen. Lineaire regressie en een enkele beslissingsboom presteren slecht in vergelijking met de andere twee modellen.

LMT versus GBT

GBT heeft uitstekend gepresteerd in voorspellende prestaties met MSE. De volgende vraag is wat de kilometerstand van de auto's drijft? We duiken hier met variabel belang in op het GBT-model en krijgen het volgende:

Het variabele kenmerk van GBT vertelt ons dat gewicht het belangrijkste kenmerk is, gevolgd door paardenkracht, versnelling, verplaatsing en modeljaar, die allemaal op elkaar lijken. Helaas vertelt GBT ons niets over de numerieke grootte of het teken van hun impact, noch over de relatie tussen deze functies.

De LMT produceert slechts 2 splitsingen, voor een totaal van 3 bladknopen. Het splitst eerst op paardenkracht = 78, en voor paardenkracht> = 78 splitst het op paardenkracht = 97. We zullen de drie subpopulaties low power, medium power en high power noemen.

Het inspecteren van de gewichten van de lineaire modelboom geeft ons een heel ander begrip van wat brandstofefficiëntie beïnvloedt dan we van de andere modellen kregen. Hoewel er een aantal overeenkomsten zijn tussen de verschillende subpopulaties die onze LMT heeft geïdentificeerd, zien we ook enkele significante verschillen.

Het is belangrijk op te merken dat de functies zich anders gedragen in bereik en verdeling tussen de groepen met laag, gemiddeld en hoog vermogen. Raadpleeg de onderstaande afbeelding en vergelijk vervolgens hun distributies ten opzichte van de functie-import per groep hierboven. De x-as voor elk van de kolommen is vast om het gemakkelijk te maken om de verschillende verdelingen te vergelijken.

Voor alle voertuigen heeft het gewicht een grote negatieve impact, wat logisch is omdat het brandstofverbruik lager zou moeten worden naarmate de massa meer beweegt. Modeljaar heeft een grote positieve impact voor alle voertuigen; vermoedelijk is de motortechnologie in deze periode aanzienlijk verbeterd. Deze zijn vergelijkbaar met wat we zien in het enkele lineaire model. De omvang van die effecten verandert echter in de subpopulaties die onze LMT heeft geïdentificeerd, en motorgrootte en -vermogen hebben verschillende effectgroottes in verschillende subpopulaties.

Voor voertuigen met laag vermogen heeft het modeljaar een enorm positief effect, en we zien dat brandstofverbruik in deze populatie zeer gevoelig is voor motorverplaatsing.

In de middelzware categorie heeft het gewicht opnieuw een enorm negatief effect, maar het brandstofverbruik neemt slechts matig toe met het modeljaar.

Voor voertuigen met een hoog vermogen heeft het gewicht een veel minder grote impact, en hetzelfde kan worden gezegd voor het modeljaar. De motorafmetingen en vermogenskenmerken zijn relevanter in deze populatie in vergelijking met gewicht en modeljaar. In deze populatie zijn de motorafmetingen veel variabeler dan in de andere populaties, dus motorafmetingen hebben een grotere impact op de voorspelling dan zelfs wat de coëfficiënten ons vertellen.

Samenvatting van LMT-voordelen

Voor mijn laatste woorden over lineaire modelbomen, hier is een samenvatting van hun voordelen:

  • LMT's zijn krachtig interpreteerbaar. Krijg inzicht in lineaire en niet-lineaire relaties in uw gegevens. Dit kan leiden tot andere modelhypotheses of productideeën.
  • LMT's identificeren subpopulaties met ander gedrag.
  • LMT's kunnen lineaire relaties gemakkelijk identificeren en gebruiken. Op boom gebaseerde modellen (inclusief Random Forests en Gradient Boosting Trees) doen veel moeite om een ​​lijn te leren, omdat ze in een stukjes constant model passen door het gemiddelde van alle waarnemingen in elke bladknoop te voorspellen. Daarom vereisen ze veel splitsingen om een ​​lineair verband te benaderen. Enkele voorbeelden van veel voorkomende lineaire relaties zijn: klanten besteden deze maand is waarschijnlijk een functie van hun uitgaven vorige maand, verkoop deze maand waarschijnlijk een functie van verkoop vorige maand, kosten een functie van grootte, in vrachtvervoer, $ / mijl.
  • Overfitting (hoge variantie) kan worden vermeden door kruisvalidatie te gebruiken om de minimale knooppuntgrootte en maximale boomdiepte te optimaliseren.
  • LMT's kunnen goed werken met een bescheiden hoeveelheid gegevens (vergeleken met veel niet-lineaire modellen)
  • LMT's produceren vaak eenvoudige modellen die eenvoudig te implementeren zijn in een productiesysteem, zelfs als dat systeem niet is geschreven in dezelfde taal die u gebruikt voor het modelleren