Transformasi log
Pada latihan sebelumnya, Anda melakukan penskalaan data secara linear, yang tidak akan mengubah bentuk distribusi data. Pendekatan ini sangat baik jika data Anda berdistribusi normal (atau mendekati normal), sebuah asumsi yang digunakan oleh banyak model Machine Learning. Terkadang Anda akan bekerja dengan data yang mengikuti kenormalan, misalnya tinggi atau berat suatu populasi. Di sisi lain, banyak variabel di dunia nyata tidak mengikuti pola tersebut, misalnya upah atau usia populasi. Pada latihan ini, Anda akan menggunakan transformasi log pada kolom ConvertedSalary di DataFrame so_numeric_df karena banyak nilainya terpusat pada nilai rendah tetapi juga mengandung nilai yang sangat tinggi. Distribusi seperti ini dikatakan memiliki ekor kanan yang panjang.
Latihan ini adalah bagian dari kursus
Rekayasa Fitur untuk Machine Learning di Python
Petunjuk latihan
- Impor
PowerTransformerdari modulpreprocessingdisklearn. - Instansiasikan
PowerTransformer()sebagaipow_trans. - Lakukan fit
PowerTransformerpada kolomConvertedSalarydariso_numeric_df. - Transformasikan kolom yang sama dengan penakar (scaler) yang baru saja Anda fit.
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
# 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()