Zacznij terazZacznij za darmo

Transformacja logarytmiczna

W poprzednich ćwiczeniach skalowałeś dane liniowo – taka operacja nie zmienia kształtu rozkładu. Sprawdza się to świetnie, gdy dane mają rozkład normalny (lub zbliżony do normalnego), co jest założeniem wielu modeli uczenia maszynowego. Czasem dane rzeczywiście zbliżają się do normalności – na przykład wzrost lub waga populacji. Jednak wiele zmiennych w rzeczywistym świecie nie podąża tym wzorcem, np. zarobki czy wiek populacji. W tym ćwiczeniu zastosujesz transformację logarytmiczną na kolumnie ConvertedSalary z ramki danych so_numeric_df, ponieważ większość wartości jest skupiona przy niskich kwotach, ale zbiór zawiera też bardzo wysokie wartości. Takie rozkłady określa się jako rozkłady z długim prawym ogonem.

To ćwiczenie jest częścią kursu

Inżynieria cech w uczeniu maszynowym w Pythonie

Zobacz kurs

Instrukcje do ćwiczenia

  • Zaimportuj PowerTransformer z modułu preprocessing biblioteki sklearn.
  • Utwórz instancję PowerTransformer() i przypisz ją do zmiennej pow_trans.
  • Dopasuj PowerTransformer do kolumny ConvertedSalary z ramki danych so_numeric_df.
  • Przekształć tę samą kolumnę za pomocą dopasowanego skalera.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

# Import PowerTransformer
from sklearn.preprocessing import ____

# Instantiate PowerTransformer
pow_trans = ____

# Train the transform on the data
____

# Apply the power transform to the data
so_numeric_df['ConvertedSalary_LG'] = ____(so_numeric_df[['ConvertedSalary']])

# Plot the data before and after the transformation
so_numeric_df[['ConvertedSalary', 'ConvertedSalary_LG']].hist()
plt.show()
Edytuj i uruchom kod