ÎncepețiÎncepe gratuit

Transformarea logaritmică

În exercițiile anterioare ai scalat datele liniar, ceea ce nu afectează forma distribuției lor. Această abordare funcționează bine când datele sunt distribuite normal (sau aproape normal) – o ipoteză pe care multe modele de machine learning o presupun. Uneori vei lucra cu date care se conformează îndeaproape normalității, cum ar fi înălțimea sau greutatea unei populații. Pe de altă parte, multe variabile din lumea reală nu urmează acest tipar – de exemplu, salariile sau vârsta unei populații. În acest exercițiu vei aplica o transformare logaritmică asupra coloanei ConvertedSalary din DataFrame-ul so_numeric_df, deoarece majoritatea valorilor sunt concentrate în jurul valorilor mici, dar există și valori foarte mari. Astfel de distribuții se numesc distribuții cu coadă lungă la dreapta.

Acest exercițiu face parte din cursul

Ingineria caracteristicilor pentru Machine Learning în Python

Vezi cursul

Instrucțiuni pentru exercițiu

  • Importă PowerTransformer din modulul preprocessing al bibliotecii sklearn.
  • Instanțiază PowerTransformer() ca pow_trans.
  • Antrenează PowerTransformer pe coloana ConvertedSalary din so_numeric_df.
  • Transformă aceeași coloană folosind scalerul pe care tocmai l-ai antrenat.

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

# 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()
Editează și rulează codul