Vraag Fijnregeling van parameters in neuraal netwerk voor classificatie met Scikit-learn in Python

Wildchild_Laiho

Gevestigd lid
Hallo,

Voor een opleidingsonderdeel binnen mijn opleiding heb ik een opdracht om classificatie toe te passen in een neuraal netwerk. Voordat ik hieraan begon had ik nog geen kennis van programmeren in Python dus er zijn misschien essentiële zaken die ik niet weet binnen deze programmeertaal maar het internet heeft mij al veel bijgeleerd.

Wat ik ondertussen reeds gedaan heb is een neuraal netwerkje opgebouwd dat afhankelijk van bepaalde features een kikkersoort bepaald als 'uitgang'. De dataset die ik hierbij heb is ongelijk verdeeld (van een bepaalde soort zijn er véél meer dan van een bepaalde andere soort).
Ik heb al ideeën over: hoe ik een confusion matrix moet interpreteren, hoe ik een classification report moet interpreteren, dat F1-score belangrijker is dan accuracy in het geval van ongelijk verdeelde datasets.

Wat is nu mijn specifieke vraag/probleem?
Wel, Ik wil mijn netwerk fijnregelen met een optimale instelling van aantal lagen en knopen. Dit deed ik eerst via trial and error maar heb nu ondervonden dat dit ook met GridSearchCV kan. Alleen geeft GridSearchCV volgens mij de 'accuracy' als resultaat en niet de F1-score. Ik heb al verschillende zaken geprobeerd om via GridSearchCV de F1-score te weergeven in functie van het aantal lagen en knopen maar ik vind maar geen werkende methode om dit te realiseren.

Een deel van mijn opdracht bestaat eruit om de precisie van het neurale netwerk te evalueren i.f.v. het aantal lagen/nodes, met behulp van de confusion matrix. Een ander deel bestaat eruit om in functie van andere zaken de precisie van het neuraal netwerk te evalueren.

Is hier toevallig iemand aanwezig die hier veel meer ervaring mee heeft en mij eventueel enkele tips zou kunnen geven a.u.b.?
(Ik had al iets gevonden over de ROC curve, misschien is dit een alternatieve methode die ik kan onderzoeken, maar ben hier nog niet helemaal uit)
 
Bovenaan Onderaan