FeatureSelection.find_low_nvalues_features

FeatureSelection.find_low_nvalues_features(**kwargs)

Esegue solo il filtro per le feature con un basso numero di valori unici.

Questo metodo è un wrapper attorno al metodo run, configurato per attivare specificamente il filtro delle feature con un basso numero di valori unici e disabilitare tutti gli altri filtri. Aggiorna lo stato dell’istanza in base ai risultati di questo singolo filtro.

Questa funzione trova le colonne che hanno un numero di valori distinti inferiore a una soglia specificata (min_unique_val, default 3). Ad esempio, se si imposta min_unique_val a 3, la funzione identificherà tutte le colonne che presentano solo 1 o 2 valori unici. Se la soglia è 2, il risultato è identico a quello del metodo find_constant_features. I nomi di queste colonne con pochi valori distinti vengono rimossi.

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
0A34.835708Z
1B3.086785X
2A42.384427Y
3B86.151493X
4A-1.707669V
5B-1.706848V
6A88.960641X
7B48.371736V
8A-13.473719Z
9B37.128002Y
10A-13.170885X
11B-13.286488Z
12A22.098114W
13B-85.664012W
14A-76.245892X
15B-18.114376X
16A-40.641556Z
17B25.712367Y
18A-35.401204Y
19B-60.615185Y

Esempio:

>>> from cefeste.selection import FeatureSelection
>>> fs = FeatureSelection(
...    db=df_test_filters,
...    verbose=True # Utile per vedere cosa succede
... )
>>> fs.find_low_nvalues_features()
>>> fs.make_report()
feat_name result drop_reason
0 feature_A drop low_values
1 feature_B keep NaN
2 feature_C keep NaN