Dati mancanti

Vincere una competizione Kaggle con Python

Yauhen Babakhin

Kaggle Grandmaster

Dati mancanti

ID Caratteristica categorica Caratteristica numerica Target binario
1 A 5.1 1
2 B 7.2 0
3 C 3.4 0
4 A NaN 1
5 NaN 2.6 0
6 A 5.3 0
Vincere una competizione Kaggle con Python

Imputa i dati mancanti

 

Dati numerici

  • Imputazione con media/mediana
ID Caratteristica categorica Caratteristica numerica Target binario
1 A 5.1 1
2 B 7.2 0
3 C 3.4 0
4 A NaN 1
5 NaN 2.6 0
6 A 5.3 0
Vincere una competizione Kaggle con Python

Imputa i dati mancanti

 

Dati numerici

  • Imputazione con media/mediana
  • Imputazione con valore costante
ID Caratteristica categorica Caratteristica numerica Target binario
1 A 5.1 1
2 B 7.2 0
3 C 3.4 0
4 A 4.72 1
5 NaN 2.6 0
6 A 5.3 0
Vincere una competizione Kaggle con Python

Imputa i dati mancanti

 

Dati numerici

  • Imputazione con media/mediana
  • Imputazione con valore costante
ID Caratteristica categorica Caratteristica numerica Target binario
1 A 5.1 1
2 B 7.2 0
3 C 3.4 0
4 A -999 1
5 NaN 2.6 0
6 A 5.3 0
Vincere una competizione Kaggle con Python

Imputa i dati mancanti

 

Dati numerici

  • Imputazione con media/mediana
  • Imputazione con valore costante

Dati categorici

  • Imputazione con categoria più frequente
ID Caratteristica categorica Caratteristica numerica Target binario
1 A 5.1 1
2 B 7.2 0
3 C 3.4 0
4 A -999 1
5 NaN 2.6 0
6 A 5.3 0
Vincere una competizione Kaggle con Python

Imputa i dati mancanti

 

Dati numerici

  • Imputazione con media/mediana
  • Imputazione con valore costante

Dati categorici

  • Imputazione con categoria più frequente
  • Imputazione con nuova categoria
ID Caratteristica categorica Caratteristica numerica Target binario
1 A 5.1 1
2 B 7.2 0
3 C 3.4 0
4 A -999 1
5 A 2.6 0
6 A 5.3 0
Vincere una competizione Kaggle con Python

Imputa i dati mancanti

 

Dati numerici

  • Imputazione con media/mediana
  • Imputazione con valore costante

Dati categorici

  • Imputazione con categoria più frequente
  • Imputazione con nuova categoria
ID Caratteristica categorica Caratteristica numerica Target binario
1 A 5.1 1
2 B 7.2 0
3 C 3.4 0
4 A -999 1
5 MISS 2.6 0
6 A 5.3 0
Vincere una competizione Kaggle con Python

Trova i dati mancanti

df.isnull().head(1)
         ID       cat       num    target
0     False     False     False     False
df.isnull().sum()
ID        0
cat       1
num       1
target    0
Vincere una competizione Kaggle con Python

Dati numerici mancanti

# Import SimpleImputer
from sklearn.impute import SimpleImputer

# Tipi di imputazione mean_imputer = SimpleImputer(strategy='mean') constant_imputer = SimpleImputer(strategy='constant', fill_value=-999)
# Imputazione df[['num']] = mean_imputer.fit_transform(df[['num']])
Vincere una competizione Kaggle con Python

Dati categorici mancanti

# Import SimpleImputer
from sklearn.impute import SimpleImputer

# Tipi di imputazione
frequent_imputer = SimpleImputer(strategy='most_frequent')
constant_imputer = SimpleImputer(strategy='constant', fill_value='MISS')

# Imputazione df[['cat']] = constant_imputer.fit_transform(df[['cat']])
Vincere una competizione Kaggle con Python

Esercizio!

Vincere una competizione Kaggle con Python

Preparing Video For Download...