Obsługa brakujących wartości (I)

Inżynieria cech w uczeniu maszynowym w Pythonie

Robert O'Callaghan

Director of Data Science, Ordergroove

Usuwanie wierszowe

      SurveyDate      ConvertedSalary     Hobby ... \
0  2/28/18 20:20                  NaN       Yes ...
1  6/28/18 13:26              70841.0       Yes ...
2    6/6/18 3:37                  NaN        No ...
3    5/9/18 1:06              21426.0       Yes ...
4  4/12/18 22:41              41671.0       Yes ...
Inżynieria cech w uczeniu maszynowym w Pythonie

Usuwanie wierszowe w Pythonie

# Drop all rows with at least one missing values
df.dropna(how='any')
Inżynieria cech w uczeniu maszynowym w Pythonie

Usuwanie wierszowe w Pythonie

# Drop rows with missing values in a specific column
df.dropna(subset=['VersionControl'])
Inżynieria cech w uczeniu maszynowym w Pythonie

Problemy z usuwaniem

  • Usuwa prawidłowe dane
  • Opiera się na losowości
  • Zmniejsza ilość informacji
Inżynieria cech w uczeniu maszynowym w Pythonie

Zastępowanie ciągami znaków

# Replace missing values in a specific column
# with a given string
df['VersionControl'].fillna(
    value='None Given', inplace=True
)
Inżynieria cech w uczeniu maszynowym w Pythonie

Rejestrowanie brakujących wartości

# Record where the values are not missing
df['SalaryGiven'] = df['ConvertedSalary'].notnull()
# Drop a specific column
df.drop(columns=['ConvertedSalary'])
Inżynieria cech w uczeniu maszynowym w Pythonie

Czas na ćwiczenia

Inżynieria cech w uczeniu maszynowym w Pythonie

Preparing Video For Download...