IniziaInizia gratis

Trasformazione logaritmica

Negli esercizi precedenti hai scalato i dati linearmente, operazione che non modifica la forma della distribuzione. Questo funziona molto bene se i tuoi dati sono distribuiti normalmente (o quasi), un’ipotesi su cui si basano molti modelli di machine learning. A volte lavorerai con dati che rispettano abbastanza bene la normalità, ad esempio l’altezza o il peso di una popolazione. D’altra parte, molte variabili nel mondo reale non seguono questo schema, ad esempio i salari o l’età di una popolazione. In questo esercizio applicherai una trasformazione logaritmica alla colonna ConvertedSalary del DataFrame so_numeric_df, perché una grande parte dei suoi valori è concentrata nella parte bassa ma sono presenti anche valori molto elevati. Si dice che queste distribuzioni abbiano una lunga coda destra.

Questo esercizio fa parte del corso

Feature Engineering per il Machine Learning in Python

Visualizza il corso

Istruzioni dell'esercizio

  • Importa PowerTransformer dal modulo preprocessing di sklearn.
  • Istanzia PowerTransformer() come pow_trans.
  • Adatta (fit) il PowerTransformer sulla colonna ConvertedSalary di so_numeric_df.
  • Trasforma la stessa colonna con lo scaler appena adattato.

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

# 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()
Modifica ed esegui il codice