osztályozási modellek teljesítményértékelés – CAP Curve

kezdjük azzal, hogy meghatározzuk, mit értünk osztályozás alatt, az osztályozás az a folyamat, amikor megpróbálunk valamit hozzárendelni az elérhető csoportok egyikéhez. Lehet, hogy 2 csoport (bináris osztályozás) vagy több mint 2 csoport (több osztályú osztályozás).

osztályozási algoritmusok a következőket tartalmazzák: (logisztikai regresszió, K-legközelebbi szomszéd, támogató Vektor gép, naiv Bayes…stb.)

egy adattudós számára nagyon fontos megbizonyosodni arról, hogy mennyire jó az osztályozási modell. Van néhány híres módszer a modell értékelésére. Ezek a következők lehetnek:

  1. Confusion Matrix – könnyen kiszámítható a Scikit-Learn Könyvtár megvalósításával. Csak egy vektort kell betáplálnia, amely tartalmazza az Y függő változó előrejelzéseit ^ valamint az Y függő változó tényleges értékeinek vektorát
scikit-Ismerje meg a zavartsági mátrix modult

most, miután kiszámította a zavartsági mátrixot, amely 2*2 mátrix lesz bármely bináris osztályozási probléma esetén, a kapott mátrix ilyen lenne

confusion matrix

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

  1. hamis pozitív (FP) — helytelenül Osztályozott pozitív osztályú példányok (0,1) = 5
  2. hamis negatív (FN) — helytelenül Osztályozott negatív osztályú példányok (1,0) = 10
  3. igaz pozitív (TP) — helyesen Osztályozott pozitív osztályú példányok (1,1) = 50
  4. igaz negatív (TN) — helyesen Osztályozott negatív osztályú példányok (0,0) = 35

az adatkészlet összes példánya (képzés + tesztpéldányok) = 5+10+50+35 = 100

most kiszámolhatunk 2 fontos százalékot:

1-pontossági arány = helyes / teljes = (50+35)/ 100 = 85%

2-hibaarány = helytelen / összesen = (5+10)/ 100 = 15%

most meg kell ünnepelnem egy ilyen osztályozó felépítése után, hogy olyan jó pontosságú, …vagy kellene ?!

lássuk, kérem, Kövessen a következő forgatókönyvben :” Ön egy adattudós, aki egy bankban dolgozik, és osztályozási modellt épített a csalás és a nem csalás tranzakcióinak osztályozására, értékelni szeretné a modelljét, ezért úgy döntött, hogy kiszámítja a zavart mátrixot, és ez volt az eredmény:”

zavartsági mátrix — csalás észlelése

a zavartsági mátrix elemzésével azt mondhatjuk, hogy van egy nagyon jó osztályozónk, amelynek pontossági aránya = 9,800/ 10,000 = 98%

de az adattudósnak elég furcsa ötlete van, hogy meg akarja próbálni; Az ötlet az, hogy megakadályozza az osztályozót abban, hogy bármelyik tranzakciót csalásként osztályozza (pozitív osztály ‘1’), majd kiszámította az új zavartsági mátrixot, amely a következő volt:

az osztályozó pontossági aránya = 9,850/ 10,000 = 98,5%, ami azt jelenti, hogy 0,5% – kal nő a pontossági arány, bár az osztályozó nem működik megfelelően!

ezt pontossági csapdának nevezzük, tehát határozottan azt mondjuk, hogy a pontossági Arány mérése nem elegendő a kérdés megválaszolásához ‘mennyire jó az osztályozója?!’

a megoldás egy másik mérési módszer kipróbálása, amely

2. Kumulatív pontossági profil (CAP) görbe — ez egy robusztusabb módszer a gépmodellünk támogatására. Ahhoz, hogy megértsük a mögötte lévő intuíciót, a következő forgatókönyvekben kell követned engem:

forgatókönyv # 1-Képzeld el, hogy egy adat tudós dolgozik egy cég, amely szeretné, hogy támogassák az új termék, így küld egy e-mailt az ajánlatot, hogy az összes ügyfél, és általában 10% – a az ügyfél válaszok és ténylegesen megvásárolja a terméket, így bár, hogy ez lesz a helyzet ebben az időben, és ez a forgatókönyv az úgynevezett véletlenszerű forgatókönyv.

2.szcenárió — még mindig ugyanabban a cégben dolgozol, de ezúttal úgy döntöttél, hogy szisztematikusabban csinálod:

  1. vizsgáld meg a korábbi adataidat, és vegyél egy ügyfélcsoportot, akik ténylegesen megvásárolták az ajánlatot, és próbáld meg kinyerni ezeket az információkat
  2. mérd meg ezeket a tényezőket, és próbáld meg kideríteni, hogy melyik befolyásolja a megvásárolt termékek számát, vagy más szavakkal illessze az adatokat egy logisztikai regressziós modellbe.
  3. készítsen előrejelzést arról, hogy mely ügyfelek nagyobb valószínűséggel vásárolják meg a terméket.
  4. ezután kifejezetten azokat az embereket célozza meg, akik előre jelezték, hogy nagyobb valószínűséggel vásárolják meg a terméket.
  5. majd az adott görbén ábrázolt célcsoport válaszának mérésével ‘CAP görbe’.

határozottan észrevehetjük a javulást; amikor kapcsolatba lépett 20 000 célzott ügyféllel, körülbelül 5000 pozitív választ kapott, ahol az 1. forgatókönyvben azonos számú ügyféllel kapcsolatba lépve csak 2000 pozitív választ kapott.

tehát az ötlet az, hogy összehasonlítsuk a modellt a véletlenszerű forgatókönyvvel, és a következő szintre vihetjük egy másik modell felépítésével, talán egy support vector machine (SVM)/kernel SVM modellel, hogy összehasonlítsuk a jelenlegi logisztikai regressziós modellel.

de hogyan kell elemezni a kapott grafikont ?

minél jobb a modell, annál nagyobb lesz a felső görbe és a véletlenszerű forgatókönyv közötti terület.

hipotetikusan megrajzolhatjuk az úgynevezett tökéletes modellt, amely olyan modellt képvisel, amelyet lehetetlen felépíteni, hacsak nincs valamiféle kristálygömb . Ez azt mutatja, hogy amikor elküldi az ajánlatot 10 000 lehetséges ügyfélnek, tökéletes pozitív választ kapott, ahol az összes kapcsolatba lépett ember megvásárolta a terméket.

egy ilyen hipotetikus modell ábrázolása referenciaként segít nekünk a modellek sapka görbéinek értékelésében.

az előző grafikon elemzéséhez 2 megközelítés létezik:

első —

  1. Számítsa ki a területet a tökéletes Modellgörbe alatt (aP)
  2. Számítsa ki a területet a tökéletes Modellgörbe alatt (aR)
  3. Számítsa ki a pontossági arányt(AR) = aR/ aP; as (AR)~1 (minél jobb a modelled) és as (AR)~0 (minél rosszabb a modelled)

második —

  1. húzzon egy vonalat az 50% – os pontból (50 000) a teljes érintkező tengelyen a modell sapkagörbéjéig
  2. majd ettől a metszésponttól vetítse a megvásárolt tengelyre
  3. ez az X% érték azt mutatja, hogy mennyire jó a modell:
  • Ha X < 60% /(6000), akkor van egy szemét modelled
  • Ha 60% < x < 70% /(7000), akkor egy rossz modell
  • ha 70% < x < 80% /(8000), akkor van egy jó modelled
  • ha 80% < x < 90%/ (9000), akkor van egy nagyon jó modell
  • ha 90% < x < 100% / (10 000), akkor a modell túl szép, hogy igaz legyen! úgy értem, hogy ez általában a Túlillesztés miatt történik, ami biztosan nem jó dolog, mivel a modelled csak azokat az adatokat osztályozza, amelyekre képzett, de nagyon gyenge az új láthatatlan példányokkal.

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé.