Aan de slagGa gratis aan de slag

Logtransformatie

In de vorige oefeningen heb je de data lineair geschaald, wat de vorm van de data niet verandert. Dit werkt goed als je data (bijna) normaal verdeeld is, een aanname die veel Machine Learning-modellen maken. Soms werk je met data die dicht bij normaal ligt, zoals de lengte of het gewicht van een populatie. Aan de andere kant volgen veel variabelen in de echte wereld dit patroon niet, zoals lonen of de leeftijd van een populatie. In deze oefening pas je een logtransformatie toe op de kolom ConvertedSalary in de DataFrame so_numeric_df, omdat een groot deel van de waarden rond de lagere getallen ligt, maar er ook hele hoge waarden voorkomen. Zulke verdelingen hebben een lange rechterstaart.

Deze oefening maakt deel uit van de cursus

Feature engineering voor Machine Learning in Python

Cursus bekijken

Oefeninstructies

  • Importeer PowerTransformer uit de module preprocessing van sklearn.
  • Instantier PowerTransformer() als pow_trans.
  • Fit de PowerTransformer op de kolom ConvertedSalary van so_numeric_df.
  • Transformeer dezelfde kolom met de scaler die je zojuist hebt gefit.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

# 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()
Code bewerken en uitvoeren