Ho un set di dati di classe binaria (0/1) con una grande inclinazione verso la classe "0" (circa 30000 vs 1500). Ci sono 7 funzioni per ogni istanza, nessun valore mancante.Come sovradimensionare di proposito i classificatori di alberi Weka?
Quando uso il J48 o di qualsiasi altro albero classificatore, ottengo quasi tutti i "1" casi erroneamente classificati come "0".
Impostare il classificatore su "non eseguito", impostando il numero minimo di istanze per foglio su 1, impostando il fattore di confidenza su 1, aggiungendo un attributo fittizio con numero ID di istanza - tutto ciò non ha aiutato.
non riesco proprio a creare un modello che overfits i miei dati!
Inoltre ho provato quasi tutti gli altri classificatori Weka fornisce, ma ho ottenuto risultati simili.
Utilizzando IB1 ottiene il 100% di precisione (convoglio sul convoglio) e quindi non è un problema di più istanze con gli stessi valori delle caratteristiche e classi diverse.
Come si crea un albero completamente unpruned? Oppure costringere Weka a sovraffaticare i miei dati?
Grazie.
Aggiornamento: Ok, questo è assurdo. Ho usato solo circa 3100 negativi e 1200 esempi positivi, e questo è l'albero ho ottenuto (non potati!):
J48 unpruned tree
------------------
F <= 0.90747: 1 (201.0/54.0)
F > 0.90747: 0 (4153.0/1062.0)
Inutile dire che, IB1 dà ancora al 100% di precisione.
Aggiornamento 2: Non so come mi sono perso: SimpleCart non funziona e offre un treno al 100% di precisione sul treno; SimpleCart potato non è influenzato come J48 e ha un rapporto falso positivo positivo e negativo.
possibile domanda relativa: http://stackoverflow.com/ questions/2519997/different-weights-of-false-positive-and-false-negative-in-neural-network – Amro