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 merupakan bagian dari kursus
Rekayasa Fitur untuk Machine Learning di Python
Instruksi 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 langsung praktik
Cobalah latihan ini dengan melengkapi kode contoh ini.
# 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()