Sia la ponderazione (sensibile ai costi) che la soglia sono forme valide di apprendimento sensibile ai costi. Nei termini più brevi, si può pensare due come segue:
ponderazione
In sostanza si sta affermando che il ‘costo’ dovuto all'errata classificazione della classe rara è peggiore dovuto all'errata classificazione della classe comune. Questo è applicato a livello algoritmico in algoritmi come SVM, ANN e Foresta casuale. Le limitazioni qui consistono nel determinare se l'algoritmo può gestire i pesi. Inoltre, molte applicazioni di questo stanno cercando di affrontare l'idea di fare una classificazione errata più seria (ad esempio, classificando qualcuno che ha il cancro al pancreas come non avendo il cancro). In tali circostanze, è conoscere perché si desidera assicurarsi di classificare classi specifiche anche in impostazioni sbilanciate. Idealmente, si desidera ottimizzare i parametri di costo come si farebbe con qualsiasi altro parametro del modello.
Thresholding
Se l'algoritmo restituisce probabilità (o qualche altro punteggio), della soglia può essere applicato dopo un modello è stato costruito. In sostanza si modifica la soglia di classificazione da 50-50 a un livello di trade-off appropriato. Questo può essere in genere ottimizzato generando una curva della metrica di valutazione (ad esempio F-measure). La limitazione qui è che stai facendo dei compromessi assoluti. Qualsiasi modifica nel taglio ridurrà a sua volta la precisione di previsione dell'altra classe.Se si dispone di probabilità eccessivamente elevate per la maggior parte delle classi comuni (ad es. Più sopra 0.85) è più probabile che si abbia successo con questo metodo. È anche indipendente dall'algoritmo (a condizione che l'algoritmo restituisca probabilità).
campionamento
campionamento è un'altra opzione comune applicato a insiemi di dati squilibrate per portare un certo equilibrio per le distribuzioni di classe. Esistono essenzialmente due approcci fondamentali.
Sotto-campionamento
estrarre un insieme ridotto di istanze maggioranza e mantenere la minoranza. Ciò si tradurrà in un set di dati più piccolo in cui la distribuzione tra le classi è più vicina; tuttavia, hai scartato i dati che potrebbero essere stati preziosi. Questo potrebbe anche essere utile se hai una grande quantità di dati.
Over-campionamento
aumentare il numero di casi di minoranza da loro replicando. Ciò si tradurrà in un set di dati più grande che conserva tutti i dati originali ma può introdurre pregiudizi. Man mano che si aumenta la dimensione, tuttavia, si può iniziare a influire anche sulle prestazioni computazionali.
Metodi avanzati
Ci sono altri metodi che sono più ‘sofisticate’ per aiutare ad affrontare potenziali bias. Questi includono metodi come SMOTE, SMOTEBoost e EasyEnsemble come indicato in questo prior question per i set di dati sbilanciati e CSL.
costruzione di modello
Un altro nota per quanto riguarda la costruzione di modelli con dati squilibrata è che si dovrebbe tenere a mente il vostro modello di metrica. Ad esempio, le metriche come le F-misure non tengono conto del vero tasso negativo. Pertanto, è spesso consigliabile che nelle impostazioni sbilanciate vengano utilizzate metriche come Cohen’s kappa metric.
Questo è più di una questione statistica piuttosto che di programmazione. Inoltre, non è chiaro come siano stati costruiti questi modelli. Quanto è grande il tuo set di dati? Hai usato il curriculum stratificato o sei sicuro di non sovrasfruttare i tuoi modelli (quindi bassi valori di F)? Detto questo, in genere mi piacerebbe rimandare al ** sensibile al costo ** in quanto il metodo ** thresholding ** è più soggettivo per l'utente che specifica il cuttoff (IMHO). – cdeterman
Ho 3000 istanze e sì, io uso un CV stratificato 10 volte per evitare il sovradattamento. – blueSurfer
Ho avuto problemi di classificazione binaria in cui c'era un'asimmetria del 97%/3%. Il bilanciamento del numero di casi per la formazione ha migliorato notevolmente la previsione del 3%. Non avevo ancora provato le soglie nei miei classificatori. –