Saya telah melakukan masalah klasifikasi dan saya telah membaca banyak kode orang dan tutorial. Satu hal yang saya perhatikan adalah banyak orang menggunakan np.log
atau log
variabel kontinu seperti loan_amount
atauapplicant_income
dll
Saya hanya ingin memahami alasan di baliknya. Apakah ini membantu meningkatkan akurasi prediksi model kami. Apakah ini wajib? atau apakah ada logika di baliknya?
Harap berikan penjelasan jika memungkinkan. Terima kasih.
sumber
Sebagian besar karena distribusi yang miring. Logaritma secara alami mengurangi rentang dinamis suatu variabel sehingga perbedaan dipertahankan sementara skalanya tidak terlalu miring secara dramatis. Bayangkan beberapa orang mendapat pinjaman 100.000.000 dan beberapa mendapat 10.000 dan beberapa 0. Setiap penskalaan fitur mungkin akan menempatkan 0 dan 10.000 begitu dekat satu sama lain karena jumlah terbesar tetap mendorong batas. Logaritma memecahkan masalah.
sumber
Selain jawaban lain, efek samping lain dari mengonsumsicatatanx apakah itu jika 0 < x < ∞ , sekali lagi misalnya dengan pinjaman atau pendapatan, pada dasarnya segala sesuatu yang tidak bisa menjadi negatif, menjadi domain - ∞ < logx <∞ .
Ini dapat membantu, terutama dalam variabel pengembalian, jika model yang Anda gunakan didasarkan pada asumsi tentang distribusix . Misalnya asumsi normalitas dalam model linier.
sumber
Namun alasan lain mengapa transformasi logaritmik berguna untuk data rasio, karena fakta itu
log(A/B) = -log(B/A)
. Jika Anda memplot distribusi rasio pada skala mentah, poin Anda termasuk dalam kisaran(0, Inf)
. Rasio yang kurang dari 1 akan dimasukkan ke dalam area plot yang kecil, dan lebih jauh lagi, plot akan terlihat sangat berbeda jika Anda membalikkan rasio ke(B/A)
bukan(A/B)
. Jika Anda melakukan ini pada skala logaritmik, rentangnya sekarang(-Inf, +Inf)
, artinya rasio kurang dari 1 dan lebih besar dari 1 tersebar secara lebih merata. Jika Anda memutuskan untuk membalik rasio, Anda cukup membalik plot sekitar 0, jika tidak, tampilannya persis sama. Pada skala log, tidak masalah jika Anda menunjukkan rasio sebagai1/10 or 10/1
, yang berguna ketika tidak ada pilihan yang jelas tentang yang seharusnya.sumber
Anda harus melihat distribusi lognormal .
Orang-orang dapat menggunakan log karena mereka pikir itu menekan skala atau sesuatu, tetapi penggunaan utama log adalah bahwa Anda bekerja dengan data yang memiliki distribusi lognormal. Ini akan cenderung menjadi hal-hal seperti gaji, harga perumahan, dll, di mana semua nilai positif dan sebagian besar relatif sederhana, tetapi beberapa sangat besar.
Jika Anda dapat mengambil log data dan menjadi normal, maka Anda dapat memanfaatkan banyak fitur dari distribusi normal, seperti mean yang terdefinisi dengan baik, standar deviasi (dan karenanya skor-z), simetri, dll.
Demikian pula, penambahan log sama dengan perkalian nilai-nilai yang tidak dicatat. Yang berarti bahwa Anda telah mengubah distribusi di mana kesalahan adalah aditif menjadi salah satu di mana mereka adalah multiplikatif (yaitu berbasis persentase). Karena teknik seperti regresi OLS memerlukan distribusi kesalahan normal, bekerja dengan log memperluas penerapannya dari proses aditif ke multiplikasi.
sumber
I'd say the main reason is not distributional but rather because of the non linear relationship. Logs often capture saturating relationships...
sumber