Utilizzo di SMOTE per la generazione di dati sintetici per migliorare le prestazioni su dati sbilanciati

datascience.stackexchange https://datascience.stackexchange.com/questions/47228

Domanda

Attualmente ho un set di dati con 21392 campioni, di cui 16948 appartengono alla classe maggioritaria (classe A) e il restante 4444 appartengono alla classe di minoranza (classe B). Attualmente sto usando SMOTE (tecnica di sovra-campionamento della minoranza sintetica) per generare dati sintetici, ma sono confuso su quale percentuale di campioni sintetici dovrebbe essere generata idealmente per garantire buone prestazioni di classificazione dei modelli di apprendimento automatico/apprendimento profondo.

Ho in mente alcune opzioni:- 1. La prima opzione è quella di generare 21392 nuovi campioni, con 16904 campioni di maggioranza di classe A e restanti 4488 campioni di minoranza di classe B. Quindi, unire i nuovi campioni originali e generati sinteticamente. Tuttavia, lo svantaggio chiave che credo sia che la percentuale di campioni di minoranza nel mio set di dati complessivo (originale+new) rimarrebbe più o meno lo stesso, che penso sconfiggano lo scopo di sovrapporre i campioni di minoranza. 2. La seconda opzione è quella di generare 21392 nuovi campioni, con 16904 maggioranza e 4488 campioni di minoranza rimanenti. Quindi, unisce solo i dati originali con i campioni di minoranza appena generati dei nuovi dati. In questo modo, la percentuale di campioni di minoranza (classe B) nei miei dati complessivi aumenterebbe (da da 4444/21392 = 20.774 % a (4444+4488)/(21392+4488) = 34.513 %. Questo credo sia lo scopo di Smote (per aumentare il numero di campioni di minoranza e ridurre lo squilibrio nel set di dati complessivo).

Sono abbastanza nuovo nell'uso di Smote e apprezzerei molto qualsiasi suggerimento/commenti su quali di queste 2 opzioni trovi meglio o qualsiasi altra opzione che potrei considerare a fianco.

Nessuna soluzione corretta

Autorizzato sotto: CC-BY-SA insieme a attribuzione
scroll top