FeatureSelection.find_high_topcat_features¶
- FeatureSelection.find_high_topcat_features(**kwargs)¶
Esegue solo il filtro per le feature altamente concentrate.
Questo metodo è un wrapper attorno al metodo run, configurato per attivare specificamente il filtro delle feature altamente concentrate e disabilitare tutti gli altri filtri. Aggiorna lo stato dell’istanza in base ai risultati di questo singolo filtro.
Questa funzione identifica le colonne dove un singolo valore (il valore più frequente) appare in una percentuale eccessivamente alta di osservazioni. Per ogni colonna, calcola la frequenza di ogni suo valore. Se questa frequenza supera la soglia specificata (max_pct_mfv, default 0,95), il nome della colonna viene aggiunto alla lista dei risultati.
Dopo l’applicazione del filtro vengono modificati gli attributi della classe con la selezione effettuata.
- Parameters:
**kwargs – Argomenti keyword aggiuntivi per sovrascrivere i parametri dell’istanza per questa esecuzione.
Dati utilizzati per gli esempi:
>>> db_test_filters
feature_A feature_B feature_C 0 A -54.734074 Z 1 A 68.041339 W 2 A -13.385060 V 3 A 27.325194 Y 4 A 7.653971 V 5 A 33.852041 V 6 A 13.841095 V 7 B -54.149611 W 8 C 59.813341 W 9 D -14.687829 Z 10 A -67.829095 W 11 A -11.405758 Z 12 A 85.037990 W 13 A 52.511087 Z 14 A -7.432607 W 15 A -7.462885 V 16 A -6.081753 X 17 A 113.837399 V 18 A 29.096773 Z 19 A 31.502082 V Esempio:
>>> from cefeste.selection import FeatureSelection >>> fs = FeatureSelection( ... db=df_test_filters, ... verbose=True # Utile per vedere cosa succede ... ) >>> fs.find_high_topcat_features(max_pct_mfv=0.75) >>> fs.make_report()
feat_name result drop_reason 0 feature_A drop highly_concentrated 1 feature_B keep NaN 2 feature_C keep NaN