Variables avec des valeurs manquantes ou peu de variance

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

Limites du sélecteur par variance

buttock_df.boxplot()

boîtes à moustaches des variables

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

Sélection selon les valeurs manquantes

échantillon pokemon

Réduction de dimension en Python

Sélection selon les valeurs manquantes

échantillon pokemon avec NaN

Réduction de dimension en Python

Identifier les valeurs manquantes

pokemon_df.isna()

échantillon pokemon booléen NaN

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

Appliquer un seuil de valeurs manquantes

# Fewer than 30% missing values = True value
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 dimension en Python

Appliquer un seuil de valeurs manquantes

reduced_df = pokemon_df.loc[:, mask]

reduced_df.head()

échantillon pokemon après masque

Réduction de dimension en Python

Passons à la pratique !

Réduction de dimension en Python

Preparing Video For Download...