Feature con valori mancanti o bassa varianza

Riduzione della dimensionalità in Python

Jeroen Boeye

Head of Machine Learning, Faktion

Creare un selettore di feature

print(ansur_df.shape)
(6068, 94)
from sklearn.feature_selection import VarianceThreshold

sel = VarianceThreshold(threshold=1)

sel.fit(ansur_df) mask = sel.get_support() print(mask)
array([ True,  True, ..., False,  True])
Riduzione della dimensionalità in Python

Applicare un selettore di feature

print(ansur_df.shape)
(6068, 94)
reduced_df = ansur_df.loc[:, mask]
print(reduced_df.shape)
(6068, 93)
Riduzione della dimensionalità in Python

Avvertenze sul selettore di varianza

buttock_df.boxplot()

boxplot delle feature

Riduzione della dimensionalità in Python

Normalizzare la varianza

from sklearn.feature_selection import VarianceThreshold

sel = VarianceThreshold(threshold=0.005)

sel.fit(ansur_df / ansur_df.mean())

mask = sel.get_support() reduced_df = ansur_df.loc[:, mask] print(reduced_df.shape)
(6068, 45)
Riduzione della dimensionalità in Python

Selettore di valori mancanti

esempio di pokemon

Riduzione della dimensionalità in Python

Selettore di valori mancanti

esempio di pokemon con NaN

Riduzione della dimensionalità in Python

Individuare i valori mancanti

pokemon_df.isna()

boolean NaN nei pokemon

Riduzione della dimensionalità in Python

Contare i valori mancanti

pokemon_df.isna().sum()
Name         0
Type 1       0
Type 2     386
Total        0
HP           0
Attack       0
Defense      0
dtype: int64
Riduzione della dimensionalità in Python

Contare i valori mancanti

pokemon_df.isna().sum() / len(pokemon_df)
Name       0.00
Type 1     0.00
Type 2     0.48
Total      0.00
HP         0.00
Attack     0.00
Defense    0.00
dtype: float64
Riduzione della dimensionalità in Python

Applicare una soglia sui valori mancanti

# Meno del 30% di valori mancanti = valore True
mask = pokemon_df.isna().sum() / len(pokemon_df) < 0.3
print(mask)
Name        True
Type 1      True
Type 2     False
Total       True
HP          True
Attack      True
Defense     True
dtype: bool
Riduzione della dimensionalità in Python

Applicare una soglia sui valori mancanti

reduced_df = pokemon_df.loc[:, mask]

reduced_df.head()

esempio di pokemon dopo la maschera

Riduzione della dimensionalità in Python

Esercitiamoci

Riduzione della dimensionalità in Python

Preparing Video For Download...