Devo implementare un programma che classificherà i record in 2 categorie (vero / falso) sulla base di alcuni dati di addestramento e mi chiedevo quale algoritmo / metodologia dovrei guardare. Sembra che ce ne siano molti tra cui scegliere: rete neurale artificiale, algoritmo genetico, apprendimento automatico, ottimizzazione bayesiana ecc. Ecc., E non ero sicuro da dove cominciare. Quindi, le mie domande sono: come dovrei scegliere un algoritmo di apprendimento che dovrei usare per il mio problema?
Se questo aiuta, ecco il problema che devo risolvere.
I dati di allenamento:
i dati di allenamento sono composti da molte righe come questa:
Precursor1, Precursor2, Boolean (true/false)
Alla corsa
mi verrà dato un mucchio di precursori.
Poi,
- Scelgo un algoritmo A da diversi algoritmi (o genera dinamicamente un algoritmo) e lo applico su tutte le possibili combinazioni di questi precursori e raccolgo i "record" che vengono emessi. Il "record" è costituito da diverse coppie chiave-valore *.
Applico un algoritmo fantastico e classifico questi record in 2 categorie (vero / falso).
Genererò una tabella che ha lo stesso formato dei dati del treno:
Precursor1, Precursor2, Boolean
E l'intero programma viene valutato in base a quanti vero / falso ho avuto ragione.
*: "Record" sarà simile a questo (spero che abbia senso)
Record [1...*] Score
-Precursor1 -Key
-Precursor2 -Value
Vi è solo un numero finito di possibili chiavi. I record contengono diversi sottogruppi di queste chiavi (alcuni record hanno key1, key2, key3 ... altri record hanno key3, key4 ... ecc.).
In realtà ho bisogno di 2 apprendimento. Uno è per il passaggio 1. Ho bisogno di un modulo che guardi le coppie Precursor ecc. E decida quale algoritmo applicare per emettere un record per il confronto. Un altro è per il passaggio 2. Ho bisogno di un modulo che analizza la raccolta di record e li classifica in 2 categorie (vero / falso).
Grazie in anticipo!