Začněte nyníZačněte zdarma

Logaritmická transformace

V předchozích cvičeních jsi data škáloval/a lineárně, což neovlivní jejich rozložení. To funguje skvěle, pokud tvá data mají normální rozdělení (nebo se mu blíží) – předpoklad, který spousta modelů strojového učení vyžaduje. Někdy budeš pracovat s daty, která se normálnímu rozdělení dobře přibližují, například výška nebo váha populace. Na druhou stranu mnoho proměnných z reálného světa tento vzor nenásleduje – třeba mzdy nebo věk populace. V tomto cvičení použiješ logaritmickou transformaci na sloupec ConvertedSalary v DataFramu so_numeric_df, protože velká část dat je soustředěna kolem nižších hodnot, ale zároveň obsahuje i velmi vysoké hodnoty. O takovém rozdělení říkáme, že má dlouhý pravý ocas.

Toto cvičení je součástí kurzu

Feature Engineering for Machine Learning in Python

Zobrazit kurz

Pokyny k cvičení

  • Importuj PowerTransformer z modulu preprocessing knihovny sklearn.
  • Vytvoř instanci PowerTransformer() a pojmenuj ji pow_trans.
  • Natrénuj PowerTransformer na sloupci ConvertedSalary z so_numeric_df.
  • Transformuj stejný sloupec pomocí právě natrénovaného scaleru.

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

# 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()
Upravit a spustit kód