Classificatiemodellen Performance Evaluation-CAP Curve

laten we beginnen met het definiëren van wat wordt bedoeld met classificatie, classificatie is het proces om iets toe te wijzen aan een van de beschikbare groepen. U kunt 2 groepen (binaire classificatie) of meer dan 2 groepen (multi-class classificatie).

Classificatiealgoritmen omvatten: (logistische regressie, K-dichtstbijzijnde buur, ondersteuning Vector Machine, en naïeve Bayes…etc)

voor een Data scientist is het echt belangrijk om er zeker van te zijn hoe goed uw Classificatiemodel is. Er zijn een aantal beroemde mogelijke manieren om uw model te evalueren. Ze kunnen als volgt worden weergegeven:

  1. Verwarmingsmatrix – het kan eenvoudig worden berekend met behulp van de scikit-Learn Library implementatie. Je hoeft alleen om het te voeden een vector met de voorspellingen van uw afhankelijke variabele y ^ en een vector van de werkelijke waarden van de afhankelijke variabele y

scikit-leren verwarring matrix module

Nu berekend nadat u uw verwarring matrix, een 2*2 matrix voor een binaire indeling probleem, de resulterende matrix zou worden als deze

confusion matrix

A confusion matrix consists of 4 values which are very valuable to know for every data scientist:

  1. False Positive (FP) — gevallen die ten onrechte geclassificeerd als Positief Klasse-instanties (0,1) = 5
  2. Vals negatieve (FN) — gevallen die ten onrechte geclassificeerd als Negatief Klasse-instanties (1,0) = 10
  3. True Positieve (TP) — exemplaren die goed zijn geclassificeerd als Positief Klasse-instanties (1,1) = 50
  4. True Negative (TN) — exemplaren die goed zijn geclassificeerd als Negatief Klasse-instanties (0,0) = 35

in Totaal exemplaren van de dataset (training + test-exemplaren) = 5+10+50+35 = 100

Nu, berekenen wij 2 belangrijke percentages:

1 – Nauwkeurigheidssnelheid = Correct / totaal = (50+35)/ 100 = 85%

2-foutenpercentage = onjuist / totaal = (5+10)/ 100 = 15%

nu, moet ik vieren na het bouwen van zo ’n classifier het heeft zo’ n goede nauwkeurigheid, …of moet ik ?!

laten we eens kijken, volg me in het volgende scenario ” U bent een Data scientist die in een bank werkt en een Classificatiemodel heeft gebouwd om fraude en niet-fraude transacties te classificeren, u wilt uw model evalueren, dus u besloot de verwarmingsmatrix te berekenen en dat was het resultaat:”

verwarring matrix — Fraude detectie

Door het analyseren van de verwarring matrix kunnen we zeggen dat we een vrij goede classifier met Juistheid tarief = 9,800/ 10,000 = 98%

Maar De gegevens wetenschapper heb een heel raar idee dat hij wil proberen; Het idee is om te stoppen met de indeler van het indelen van een van de transacties zoals fraude (positief klasse ‘1’) dan berekende hij de nieuwe verwarring matrix en het was, zoals de volgende:

De indeler Nauwkeurigheid = 9,850/ 10,000 = 98,5% van dat betekent dat er een 0,5% verhoging van de nauwkeurigheid hoewel de indeler niet goed werkt!

en dat heet nauwkeurigheid val dus we zeker zeggen dat het meten van nauwkeurigheid is niet genoeg om de vraag te beantwoorden ‘ hoe goed is uw classifier?!’

de oplossing is om een andere meetmethode te proberen die

2 is. Cumulative Accuracy Profile (CAP) Curve-het is een robuustere methode om ons machinemodel te ondersteunen. Om de intuïtie erachter te begrijpen, moet je me volgen in de volgende scenario ‘ s:

Scenario # 1-Stel je voor dat je als data scientist werkt in een bedrijf dat zijn nieuwe product wil promoten, zodat ze een e-mail met hun aanbod naar alle klanten en meestal 10% van de reacties van de klant sturen en het product daadwerkelijk kopen, zodat ze denken dat dat het geval zal zijn voor deze tijd en dat scenario wordt het Random Scenario genoemd.

Scenario#2 — Je werk nog steeds in hetzelfde bedrijf, maar deze keer besloten om het te doen op een meer systematische manier:

  1. het Inspecteren van uw historische gegevens en een groep klanten die daadwerkelijk gekocht van het aanbod en het probeert te halen die informatie
  2. Meten van deze factoren en proberen te ontdekken wie van hen van invloed op het aantal Gekochte producten of in andere woorden passen de gegevens aan een Logistische Regressie model.
  3. Maak een voorspelling van welke klanten meer kans hebben om het product te kopen.
  4. richt je dan speciaal op die mensen waarvan je voorspelde dat ze meer kans hebben om het product te kopen.
  5. vervolgens door de respons te meten van de doelgroep die in die curve “CAP-Curve” wordt weergegeven.

We kunnen de verbetering zeker opmerken; toen u contact opnam met 20.000 klanten kreeg u ongeveer 5.000 positieve reacties, terwijl in scenario#1 door contact op te nemen met hetzelfde aantal klanten, kreeg u slechts 2.000 positieve reacties.

Dus, het idee hier is om je uitspraak vergelijken met het model van de willekeurige scenario en u kunt nemen naar het volgende niveau door het bouwen van een model misschien een Support Vector Machine (SVM)/ Kernel SVM model te vergelijken met uw huidige logistieke regressie model.

de resulterende grafiek analyseren ?

hoe beter uw model is, des te groter zal het gebied zijn tussen de cap-curve en de willekeurige rechte lijn van het scenario.

hypothetisch kunnen we het zogenaamde perfecte Model tekenen dat een model voorstelt dat onmogelijk te bouwen is tenzij je een soort kristallen bol hebt . Het toont aan dat bij het verzenden van het aanbod aan 10.000 mogelijke klant kreeg je een perfecte positieve reactie waar alle gecontacteerde mensen het product gekocht.

het plotten van een dergelijk hypothetisch model zal ons helpen als referentie om uw modellen CAP curves te evalueren.

daar zijn 2 benaderingen om de vorige grafiek te analyseren:

eerste —

  1. bereken de oppervlakte onder de perfecte Modelcurve (aP)
  2. Bereken de oppervlakte onder de perfecte Modelcurve (aR)
  3. Bereken de Nauwkeurigheidssnelheid(AR) = aR/ aP; as (AR)~1 (hoe beter uw model is) en as (AR)~0 (hoe slechter uw model is)

tweede —

  1. trek een lijn uit het 50% – punt (50.000) in de totale gecontacteerde as tot aan de model cap curve
  2. projecteer het vanaf dat snijpunt naar de gekochte as
  3. Deze x% waarde geeft aan hoe goed uw model is:
  • Als X < 60% /(6000) dan heb je een onzin model
  • Als 60% < X < 70% /(7000) dan heb je een slecht voorbeeld
  • Als 70% < X < 80% /(8000) dan heb je een goed model
  • Als 80% < X < 90%/ (9000) dan heb je een zeer goed model
  • Als 90% < X < 100% / (10.000) worden vervolgens uw model is te mooi om waar te zijn! wat ik bedoel is dat, dit gebeurt meestal als gevolg van Overfitting dat is zeker niet een goede zaak als uw model goed zal zijn in het classificeren van alleen de gegevens het is getraind op, maar zeer slecht met nieuwe ongeziene gevallen.

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd.