Kom igångKom igång gratis

Logaritmisk transformation

I de föregående övningarna skalade du data linjärt, vilket inte påverkar datans fördelning. Det fungerar bra om dina data är normalfördelade (eller nästan normalfördelade) – ett antagande som många maskininlärningsmodeller bygger på. Ibland arbetar du med data som ligger nära en normalfördelning, till exempel längd eller vikt hos en befolkning. Många variabler i verkligheten följer däremot inte detta mönster – till exempel löner eller åldersfördelning. I den här övningen tillämpar du en logaritmisk transformation på kolumnen ConvertedSalary i DataFrame:en so_numeric_df, eftersom en stor del av värdena är koncentrerade kring de lägre nivåerna men det även förekommer mycket höga värden. Sådana fördelningar sägs ha en lång högersvans.

Den här övningen är en del av kursen

Särdragshantering för maskininlärning i Python

Visa kurs

Övningsinstruktioner

  • Importera PowerTransformer från sklearn:s modul preprocessing.
  • Skapa en instans av PowerTransformer() och spara den som pow_trans.
  • Anpassa PowerTransformer på kolumnen ConvertedSalary i so_numeric_df.
  • Transformera samma kolumn med den skalningstransformation du precis anpassat.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

# 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()
Redigera och kör kod