Ketika membangun model prediktif menggunakan teknik pembelajaran mesin, apa gunanya melakukan analisis data eksplorasi (EDA)? Apakah saya tetap bisa langsung melompat ke pembuatan fitur dan membangun model Anda? Bagaimana statistik deskriptif digunakan dalam EDA penting?
23
[descriptive-statistics]
tag & pertanyaan terakhir Anda adalah apakah statistik deskriptif itu penting. Dalam konteks ini maksud Anda hanya menghitung berbagai statistik deskriptif ketika Anda menyebutkan EDA, atau apakah Anda bertanya tentang statistik deskriptif & EDA? Saya bertanya karena banyak orang (termasuk saya) menganggap EDA lebih dari sekadar statistik deskriptif.Jawaban:
Belum lama ini, saya memiliki tugas wawancara untuk posisi sains data. Saya diberi satu set data dan diminta untuk membangun model prediktif untuk memprediksi variabel biner tertentu yang diberikan yang lain, dengan batas waktu beberapa jam.
Saya memeriksa setiap variabel secara bergantian, membuat grafik, menghitung statistik ringkasan, dll. Saya juga menghitung korelasi antara variabel numerik.
Di antara hal-hal yang saya temukan adalah:
Maksud saya adalah ini adalah hal-hal yang sengaja dimasukkan untuk melihat apakah orang akan memperhatikan mereka sebelum mencoba membangun model. Perusahaan menempatkan mereka karena mereka adalah hal yang dapat terjadi dalam kehidupan nyata, dan secara drastis mempengaruhi kinerja model.
Jadi ya, EDA penting ketika melakukan pembelajaran mesin!
sumber
Jelas ya.
Analisis data dapat mengarahkan Anda ke banyak poin yang akan merusak model prediksi Anda:
Data tidak lengkap
Dengan asumsi kita berbicara tentang data kuantitatif, Anda harus memutuskan apakah Anda ingin mengabaikan kolom (jika ada terlalu banyak data yang hilang) atau mencari tahu apa yang akan menjadi nilai "default" Anda (Mean, Mode, Etc). Anda tidak dapat melakukan ini tanpa menjelajahi data Anda terlebih dahulu.
Data abnormal
Katakanlah Anda memiliki data yang berkorelasi sangat kuat tetapi ada 2% dari data Anda yang jauh dari korelasi ini. Anda mungkin ingin menghapus data ini sekaligus untuk membantu model prediksi Anda
Hapus kolom dengan korelasi terlalu banyak
Ok, ini sedikit bertentangan dengan poin saya sebelumnya, tetapi bahasa Inggris bukan bahasa utama saya, jadi saya harap Anda akan mengerti.
Saya akan mengambil contoh bodoh, katakan Anda menganalisis dataset stadion sepak bola dan Anda memiliki
Width, Length, Area
sebagai parameter. Kita dapat dengan mudah membayangkan bahwa ketiga parameter ini akan berkorelasi kuat. Memiliki terlalu banyak korelasi antara kolom Anda menyebabkan model prediksi ke arah yang salah. Anda mungkin memutuskan untuk menyiram satu atau lebih parameter.Temukan fitur baru
Saya akan mengambil contoh "Kompetisi" Titanic Kaggle kecil . Saat melihat nama orang-orang, Anda dapat mengetahui bahwa Anda dapat mengekstrak fitur yang menjadi
Title
milik orang tersebut. Fitur ini ternyata sangat penting dalam hal pemodelan, tetapi Anda akan melewatkannya jika Anda tidak menganalisis data Anda terlebih dahulu.Anda mungkin memutuskan untuk membuang data kontinu Anda karena rasanya lebih sesuai atau mengubah fitur kontinu menjadi yang kategorikal.
Temukan algoritma apa yang digunakan
Saya tidak bisa menggambar plot sekarang, tapi mari kita buat contoh sederhana ini.
Bayangkan Anda memiliki model kecil dengan satu kolom fitur dan satu biner (hanya 0 atau 1) kolom "hasil". Anda ingin membuat model klasifikasi prediktif untuk dataset ini.
Jika, sekali lagi sebagai contoh, Anda harus memplotnya (soo, menganalisis data Anda), Anda mungkin menyadari bahwa plot membentuk lingkaran sempurna di sekitar nilai 1 Anda. Dalam skenario seperti itu, apakah akan cukup jelas bahwa Anda dapat menggunakan classifier polinomial untuk memiliki model yang hebat alih-alih melompat langsung ke DNN. (Jelas, mengingat hanya ada dua kolom dalam contoh saya, itu tidak menjadi contoh yang sangat baik, tetapi Anda mendapatkan intinya)
Secara keseluruhan, Anda tidak dapat mengharapkan model prediksi berfungsi dengan baik jika Anda tidak melihat data terlebih dahulu.
sumber
Satu hal penting yang dilakukan oleh EDA adalah menemukan kesalahan entri data dan poin anomali lainnya.
Lain adalah bahwa distribusi variabel dapat mempengaruhi model yang Anda coba pas.
sumber
Kami dulu memiliki ungkapan dalam bidang kimia:
" Dua minggu yang dihabiskan di lab dapat menghemat dua jam untuk Scifinder ".
Saya yakin hal yang sama berlaku untuk pembelajaran mesin:
" Dua minggu menghabiskan pelatihan neuralnet dapat menghemat 2 jam melihat data input ".
Ini adalah hal-hal yang saya lalui sebelum memulai proses ML.
Di luar langkah-langkah dasar itu, saya tidak akan menghabiskan banyak waktu melihat data sebelum menerapkan proses ML untuk itu. Jika Anda sudah memiliki sejumlah besar variabel, kombinasi non-linier yang rumit menjadi semakin sulit, tidak hanya untuk ditemukan, tetapi juga untuk plot dan dipahami. Ini adalah jenis hal yang paling baik ditangani oleh komputer.
sumber
Perspektif statistik:
Mengesampingkan kesalahan dalam tahap pemodelan, ada tiga kemungkinan hasil dari mencoba prediksi tanpa terlebih dahulu melakukan EDA:
Perspektif manajemen proyek:
Menyelesaikan masalah data dapat mengambil banyak waktu dan upaya. Contohnya:
Semakin awal Anda dapat mengidentifikasi masalah seperti itu, semakin baik peluang Anda untuk mempertahankan proyek Anda di jalur, menyelesaikan tepat waktu, dan membuat klien Anda bahagia.
sumber