Sto lavorando per migliorare un classificatore supervisionato esistente, per classificare le sequenze di {proteine} come appartenenti a una classe specifica (precursori dell'ormone neuropeptide) o no.
Esistono circa 1.150 "positivi" noti, su uno sfondo di circa 13 milioni di sequenze di proteine ("Sfondo sconosciuto / scarsamente annotato"), o circa 100.000 proteine rilevanti riviste, annotate con una varietà di proprietà (ma pochissime annotate in modo esplicito modo "negativo").
La mia precedente implementazione considerava questo come un problema di classificazione binaria: set positivo = proteine contrassegnate come neuropeptidi. Set negativo: campionamento casuale di 1.300 campioni (totale) tra le proteine rimanenti di una distribuzione approssimativamente simile in termini di lunghezza.
Ha funzionato, ma voglio migliorare notevolmente le capacità discriminatorie delle macchine (attualmente, è circa l'83-86% in termini di precisione, AUC, F1, misurato da CV, su più set negativi campionati casualmente).
I miei pensieri erano: 1) Rendere questo un problema multiclasse, scegliendo 2-3 diverse classi di proteine che saranno sicuramente negative, per le loro proprietà / classe funzionale, insieme a (forse) un'altra serie campionata casualmente. (La priorità qui sarebbe insiemi negativi che sono simili nelle loro caratteristiche / caratteristiche all'insieme positivo, pur avendo caratteristiche definitive). 2) Apprendimento di una classe - Sarebbe bello, ma a quanto ho capito, è pensato solo per il rilevamento di anomalie e ha prestazioni peggiori rispetto agli approcci discriminatori.
*) Ho sentito parlare dell'apprendimento in PU, che suona pulito, ma sono un programmatore N00b e non conosco alcuna implementazione esistente per questo. (In Python / sci-kit impara).
Quindi, l'approccio 1 ha senso in un POV teorico? C'è un modo migliore per creare più set negativi? (Potrei anche semplicemente usare una massiccia scelta [50K] di proteine "negative", ma sono tutte molto diverse l'una dall'altra, quindi non so quanto bene il classificatore le gestirà come un grande mix sbilanciato ). Grazie!