Variables avec valeurs manquantes ou faible variance

Réduction de dimensionnalité en Python

Jeroen Boeye

Head of Machine Learning, Faktion

Créer un sélecteur de variables

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])
Réduction de dimensionnalité en Python

Appliquer un sélecteur de variables

print(ansur_df.shape)
(6068, 94)
reduced_df = ansur_df.loc[:, mask]
print(reduced_df.shape)
(6068, 93)
Réduction de dimensionnalité en Python

Mises en garde sur la sélection par variance

buttock_df.boxplot()

boîtes à moustaches des variables

Réduction de dimensionnalité en Python

Normaliser la variance

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)
Réduction de dimensionnalité en Python

Sélecteur de valeurs manquantes

échantillon de Pokémon

Réduction de dimensionnalité en Python

Sélecteur de valeurs manquantes

échantillon de Pokémon avec NaN

Réduction de dimensionnalité en Python

Repérer les valeurs manquantes

pokemon_df.isna()

booléens de valeurs manquantes Pokémon

Réduction de dimensionnalité en Python

Compter les valeurs manquantes

pokemon_df.isna().sum()
Name         0
Type 1       0
Type 2     386
Total        0
HP           0
Attack       0
Defense      0
dtype: int64
Réduction de dimensionnalité en Python

Compter les valeurs manquantes

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
Réduction de dimensionnalité en Python

Appliquer un seuil de valeurs manquantes

# Moins de 30 % de valeurs manquantes = valeur 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
Réduction de dimensionnalité en Python

Appliquer un seuil de valeurs manquantes

reduced_df = pokemon_df.loc[:, mask]

reduced_df.head()

échantillon de Pokémon après masque

Réduction de dimensionnalité en Python

Passons à la pratique !

Réduction de dimensionnalité en Python

Preparing Video For Download...