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_Afeature_Bfeature_C
0A-54.734074Z
1A68.041339W
2A-13.385060V
3A27.325194Y
4A7.653971V
5A33.852041V
6A13.841095V
7B-54.149611W
8C59.813341W
9D-14.687829Z
10A-67.829095W
11A-11.405758Z
12A85.037990W
13A52.511087Z
14A-7.432607W
15A-7.462885V
16A-6.081753X
17A113.837399V
18A29.096773Z
19A31.502082V

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