un

guest
1 / ?
back to lessons

Apa Itu Ilmu Data?

Ilmu data bukan hanya machine learning. Ini bukan hanya statistika. Ini bukan hanya pemrograman.

Ilmu data adalah disiplin ilmu yang mengekstrak pengetahuan berguna dari data. Sebagian besar pekerjaan tersebut tidak glamor: itu adalah membersihkan spreadsheet yang bercampur, bertanya pertanyaan yang tepat, dan menyajikan hasil kepada orang yang tidak peduli dengan kode Anda.

Alur Ilmu Data

Alur ilmu data yang umum seperti ini:

1. Kumpulkan: kumpulkan data mentah dari database, API, CSV, atau web scraping

2. Membersihkan: atasi nilai yang hilang, perbaiki tipe, hapus duplikat

3. Jelajahi: visualisasikan distribusi, cari pola, bertanya

4. Menggunakan: buat fitur baru yang membantu model belajar

5. Model: latih algoritma, evaluasi performa, iterasi

6. Sajikan: presentasikan temuan kepada pihak yang berwenang yang membuat keputusan

Jika Anda pernah menggunakan tabel pivot Excel, format kondisional, atau VLOOKUP, Anda sudah melakukan langkah 1-3. Les ini menghubungkan pengalaman tersebut ke alur kerja Python yang digunakan di industri.

Pemanasan

Pengalaman Anda dengan Data

Semua orang pernah bekerja dengan data dalam bentuk apa pun: spreadsheet anggaran, pengingat nilai, aplikasi kebugaran, bahkan daftar putar dengan jumlah putar.

Deskripsikan saat Anda bekerja dengan data di spreadsheet atau aplikasi. Apa yang Anda coba ketahui, & apakah data memberi Anda jawaban?

Kotor Masuk, Kotor Keluar

Mengapa Pembersihan Penting

Ilmuwan data menghabiskan 60-80% waktu mereka untuk membersihkan data. Ini tidak merupakan kelebihan: ini adalah temuan konsisten di survei industri.

Alasan sederhana: kotor masuk, kotor keluar. Jika data Anda memiliki kesalahan, nilai yang hilang, atau format yang tidak konsisten, setiap analisis yang dibangun di atasnya akan salah. Model yang sempurna yang dilatih pada data kotor menghasilkan jawaban yang yakin salah.


Masalah Data Umum

- Nilai yang hilang: sel sel kosong. Apakah data tersebut tidak dikumpulkan, atau nilai sebenarnya nol? Ini adalah situasi yang berbeda yang membutuhkan penanganan yang berbeda.

- Tipe data yang salah: kolom angka disimpan sebagai teks, tanggal dalam format yang tidak konsisten (01/02/2024: apakah itu Januari 2 atau Februari 1?)

- Outlier: kolom gaji memiliki satu entri $1,000,000,000. Apakah itu nyata, atau kesalahan tipe? Entah bagaimana, itu akan membelokkan rata-rata Anda.

- Duplikat: rekaman yang sama muncul dua kali karena dua sistem yang tidak sempurna saat diintegrasikan

- Pengodean kategori: kolom yang mengatakan 'Ya', 'ya', 'Y', 'BENAR', dan '1'. Semua ini berarti yang sama, tetapi komputer Anda tidak tahu itu.


Di pandas (perpustakaan data standar Python), Anda mengatasi hal ini dengan metode seperti dropna(), fillna(), astype(), dan drop_duplicates(). Tetapi bagian yang sulit bukanlah kode: itu adalah memutuskan apa yang harus dilakukan dengan setiap masalah.

Masalah Data Umum

Keputusan Pembersihan

Memutuskan Apa Yang Harus Dilakukan

Ini adalah skenario nyata. Anda memiliki dataset 10.000 rekaman pelanggan. Kolom 'umur' memiliki 500 nilai yang hilang.

Opsi Anda:

- Hapus baris: hapus semua 500 rekaman. Mudah, tetapi Anda kehilangan 5% data. Jika 500 pelanggan tersebut memiliki karakteristik yang sama (mungkin mereka melewatkan bidang umur karena mereka peduli privasi), menghapusnya akan menimbulkan bias.

- Isi dengan rata-rata: ganti kosong dengan usia rata-rata. Cepat, tetapi itu secara artifisial mengurangi varian kolom umur Anda.

- Isi dengan median: lebih baik dari mean jika distribusi umur tidak simetris (beberapa pelanggan yang sangat tua atau sangat muda menggeser rata-rata).

- Gunakan bendera: buat kolom baru yang disebut 'umur hilang' (1 atau 0) dan isi yang asli dengan median. Sekarang model Anda dapat belajar apakah ketidapatannya sendiri yang informatif.

Tidak ada jawaban universal yang benar. Pilihan tergantung pada mengapa data tersebut hilang & apa yang Anda rencanakan untuk melakukan dengannya.

Anda memiliki dataset gaji karyawan. 200 dari 5.000 rekaman memiliki nilai gaji yang hilang. Anda melihat bahwa sebagian besar nilai yang hilang berasal dari eksekutif. Apakah Anda akan menghapus baris tersebut, mengisinya dengan rata-rata, atau melakukan sesuatu yang lain? Jelaskan alasan Anda.

Mengajukan Pertanyaan yang Tepat

Analisis Data Eksplorasi (EDA)

Sebelum Anda membangun model apa pun, Anda perlu memahami data Anda. EDA adalah proses ringkasan, visualisasi, & pertanyaan terhadap dataset untuk menemukan pola, anomali, & hubungan.


Alat Kunci

- Histogram: menunjukkan distribusi variabel tunggal. Apakah itu berbentuk lonceng? Tidak simetris? Bimodal (dua puncak)? Histogram pendapatan selalu disebutkan tidak simetris ke kanan karena beberapa orang memperoleh lebih banyak daripada mayoritas.

- Plot terpiluh: menunjukkan hubungan antara dua variabel. Apakah orang yang lebih tinggi lebih berat? Apakah waktu belajar yang lebih banyak berkorelasi dengan nilai yang lebih tinggi? Pola (atau kekurangan pola) memberitahu Anda apakah hubungan tersebut ada.

- Korelasi: sebuah angka antara -1 dan +1 yang mengukur asosiasi linear. +1 berarti hubungan positif sempurna, -1 berarti hubungan negatif sempurna, 0 berarti tidak ada hubungan linear. Namun, korelasi tidak menunjukkan kausalitas: penjualan es krim dan kematian terendam adalah korelasi karena keduanya meningkat di musim panas.

- Statistik ringkasan: rata-rata, median, deviasi standar, minimum, maksimum. Di pandas: df.describe() memberikan semuanya dalam satu baris.


Keterampilan Nyata

Alat-alat tersebut mudah diajarkan. Bagian yang sulit adalah mengajukan pertanyaan yang tepat. Pertanyaan buruk: 'Apa yang dikatakan data?' Pertanyaan bagus: 'Apakah pelanggan yang menghubungi dukungan dalam satu minggu pertama memiliki tingkat retensi yang lebih tinggi?'

Alat EDA

Penggalian Korelasi

Korelasi vs. Kausalitas

Ini adalah konsep yang paling penting dalam literasi data. Dua variabel dapat sangat korelasi tanpa satu menyebabkan yang lain.

Contoh klasik:

- Kota dengan lebih banyak pemadam kebakaran memiliki lebih banyak kebakaran. (Kota-kota yang lebih besar memiliki keduanya.)

- Siswa yang sarapan mendapatkan nilai yang lebih baik. (Mungkin keluarga kaya lebih mungkin memberikan sarapan DAN dukungan akademis.)

- Negara yang mengkonsumsi lebih banyak coklat memenangkan Hadiah Nobel lebih banyak. (Keduanya berkorelasi dengan kekayaan nasional.)

Faktor tersembunyi ini disebut variabel konfounding: variabel ketiga yang mengendalikan kedua variabel yang sedang Anda perhatikan.

Korelasi vs. Kausalitas

Perusahaan menemukan bahwa karyawan yang menggunakan gym kantor memiliki 30% lebih sedikit hari sakit. CEO ingin mengharuskan semua karyawan menggunakan gym. Apa yang salah dengan alasan ini? Apa variabel konfounding yang mungkin menjelaskan korelasi?

Membuat Variabel Berguna

Apa itu Feature Engineering?

Sebuah fitur adalah variabel input yang digunakan model untuk membuat prediksi. Feature engineering adalah seni menciptakan fitur baru dari data mentah untuk membantu model belajar pola yang tidak terlihat sebelumnya.

Data mentah jarang datang dalam bentuk yang dibutuhkan model. Pertimbangkan dataset dengan kolom 'tanggal lahir'. Model tidak bisa melakukan banyak hal dengan tanggal mentah. Tapi jika Anda menciptakan fitur 'umur' dari itu, tiba-tiba model dapat belajar pola berdasarkan umur.


Teknik Umum

- Normalisasi: mengatur skala angka ke rentang umum (0 hingga 1, atau rata-rata=0 dan deviasi standar=1). Tanpa ini, fitur yang diukur dalam ribuan (gaji) akan mengalahkan fitur yang diukur dalam digit tunggal (tahun pengalaman).

- One-hot encoding: mengonversi variabel kategori menjadi kolom biner. Kolom 'warna' dengan nilai [merah, biru, hijau] menjadi tiga kolom: 'warna_merah', 'warna_biru', 'warna_hijau', masing-masing dengan 0 atau 1.

- Binning: mengubah variabel kontinu menjadi kategori. Umur 0-17 menjadi 'anak kecil', 18-64 menjadi 'dewasa', 65+ menjadi 'lanjut usia'. Ini membantu ketika hubungan tidak linear.

- Fitur interaksi: mengalikan dua fitur. 'Luas tanah kali jumlah kamar mandi' mungkin memprediksi harga rumah lebih baik daripada satu-satunya.

- Pengetahuan bidang: teknik paling kuat. Dokter menciptakan fitur untuk model medis yang tahu nilai laboratorium apa yang penting. Pemasar tahu bahwa 'hari sejak pembelian terakhir' lebih berguna daripada 'tanggal pembelian'. Tidak ada algoritma yang dapat menggantikan ini.

Teknik Pengelolaan Fitur

Latihan Fitur

Penerapan Pengelolaan Fitur

Bayangkan Anda membangun model untuk memprediksi pelanggan yang akan membatalkan langganan streaming bulan depan. Data mentah Anda termasuk:

- Tanggal pembuatan akun

- Tanggal login terakhir

- Jumlah acara yang ditonton bulan lalu

- Nilai pembayaran bulanan

- Tiket dukungan pelanggan yang diajukan

- Negara

Dari data mentah di atas, usulkan setidaknya tiga fitur baru yang Anda kembangkan. Untuk setiap fitur, jelaskan apa yang dikapai dan mengapa mungkin membantu memprediksi pembatalan.

Pembagian Latihan/Tes

Mengapa Anda Membagi Data

Aturan terpenting dalam pemodelan: jangan pernah mengevaluasi model pada data yang sama yang digunakan untuk melatihnya.

Jika Anda melakukannya, model bisa hanya mengingat jawaban. Ini akan memperoleh skor sempurna pada data pelatihan tapi gagal pada data baru yang belum pernah terlihat. Ini disebut overfitting: model belajar pola noise dalam dataset khusus Anda daripada pola sebenarnya.

Praktek baku adalah membagi data Anda:

- Data pelatihan (umumnya 70-80%): model belajar dari ini

- Data tes (umumnya 20-30%): disimpan, hanya digunakan untuk mengevaluasi model akhir

Di scikit-learn: X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)


Algoritma Umum

- Regresi linier: menggarisbawahi garis lurus terbaik melalui data. Sederhana, mudah diinterpretasi, berfungsi saat hubungan sekitar linier. Memprediksi angka (harga, suhu, skor).

- Pohon keputusan: diagram alir pertanyaan ya/tidak. Mudah dimengerti dan dijelaskan. Rentan overfitting kecuali dirangkai atau batasannya dibatasi.

- Hutan acak: banyak pohon keputusan yang bersepakat. Lebih akurat daripada satu pohon, kurang rentan terhadap overfitting, tetapi lebih sulit untuk dijelaskan.


Overfitting vs. Underfitting

- Overfitting: model terlalu kompleks. Model tersebut mengingat data pelatihan, termasuk noise. Akurasi tinggi pada data pelatihan, tetapi akurasi rendah pada data uji.

- Underfitting: model terlalu sederhana. Model tersebut tidak dapat menangkap pola yang sebenarnya. Akurasi rendah pada data pelatihan dan uji.

Tujuan adalah titik yang sempurna di antara keduanya.

Pengelolaan Data Ilmu Data dan Bias-Variance Tradeoff

Metrik Evaluasi

Bagaimana Anda Tahu Jika Model Anda Baik?

Akurasi sendiri dapat menipu. Jika 95% email tidak spam, model yang selalu mengatakan 'tidak spam' memiliki akurasi 95%: tetapi sepenuhnya tidak berguna.

Metrik kunci:

- Akurasi: persentase prediksi yang benar. Berguna saat kelas seimbang.

- Presisi: dari semua hal yang model tandai sebagai positif, berapa banyak yang sebenarnya? Presisi tinggi berarti sedikit alarm palsu.

- Recall: dari semua positif yang sebenarnya, berapa banyak yang ditangkap model? Recall tinggi berarti sedikit kasus yang terlewatkan.

- F1 score: rata-rata harmonik dari presisi dan recall. Berguna saat Anda perlu mencapai keseimbangan keduanya.

- RMSE (Root Mean Squared Error): untuk regresi (membuat prediksi bilangan). Berapa jauh prediksi rata-rata?

Metrik mana yang paling penting tergantung pada masalah. Untuk deteksi kanker, recall lebih penting: Anda tidak ingin melewatkan kasus. Untuk pengayaan spam, presisi lebih penting: Anda tidak ingin menghapus surel yang benar.

Metrik Evaluasi dan Matrix Kesalahan

Anda sedang membangun model untuk mendeteksi transaksi kartu kredit yang mencurigai. Hanya 0,1% transaksi yang benar-benar mencurigai. Jika model Anda memprediksi setiap transaksi sebagai transaksi yang tidak mencurigai, apa persentase akurasinya? Mengapa akurasi merupakan metrik yang buruk di sini, & metrik apa yang akan Anda gunakan alih-alih?

Analisis Data vs. Ilmuwan Data vs. Insinyur ML

Tiga Peran yang Berbeda

Bidang data memiliki tiga jalur karier utama, & mereka membutuhkan keterampilan yang berbeda.


Analisis Data

- Fokus: menjawab pertanyaan bisnis dengan data yang ada

- Alat: SQL, Excel, Tableau, Python dasar atau R

- Kehidupan sehari-hari: dashboard, laporan, analisis A/B, presentasi stakeholder

- Jalur masuk: seringkali paling mudah diakses. Banyak analis memulai tanpa gelar Sarjana Ilmu Komputer.


Ilmuwan Data

- Fokus: membangun model prediktif & menemukan pola dalam data kompleks

- Alat: Python (pandas, scikit-learn, matplotlib), statistik, SQL, Jupyter notebooks

- Kehidupan sehari-hari: EDA, engineering fitur, pembangunan model, eksperimen

- Jalur masuk: biasanya membutuhkan latar belakang statistik atau kuantitatif. Bootcamp & belajar sendiri adalah alternatif yang mungkin.


Insinyur Pembelajaran Mesin

- Fokus: mengimplementasikan & memperluas model dalam sistem produksi

- Alat: Python, TensorFlow/PyTorch, Docker, platform cloud (AWS/GCP), API

- Kehidupan sehari-hari: optimitas model, infrastruktur pipeline, monitoring model produksi

- Jalur masuk: biasanya membutuhkan keterampilan pengembangan perangkat lunak yang kuat plus pengetahuan ML.


Membangun Portfolio

Manajer rekrutmen peduli dengan apa yang Anda bisa lakukan, bukan hanya apa yang Anda pelajari. Portfolio proyek 3-5 yang solid di GitHub lebih berarti daripada sertifikasi. Proyek yang baik menggunakan dataset nyata (bukan toyyib), mencakup dokumentasi yang jelas, dan menunjukkan seluruh pipeline: dari data yang kacau ke insight yang dapat diambil tindakan.

Peta Karier Data

Langkah Selanjutnya Anda

Dimana Kita Boleh Bergerak Dari Sini

Alat perdagangan bebas & dapat diakses:

- pandas: perpustakaan Python standar untuk manipulasi data

- matplotlib / seaborn: perpustakaan visualisasi

- scikit-learn: pekerja kelas untuk belajar mesin klasik

- Jupyter notebooks: lingkungan coding interaktif di mana Anda dapat menggabungkan kode, hasil, dan catatan

- Kaggle: dataset gratis, kompetisi, & komunitas praktisi

Mulailah dengan satu dataset nyata yang menarik. Unduhlah, bersihkan, jelajahi, & coba jawab pertanyaan. Proyek tunggal itu akan mengajarkan lebih dari apa pun kursus.

Berdasarkan apa yang Anda pelajari dalam les ini, peran (analisis data, ilmuwan data, atau insinyur ML) yang menarik bagi Anda? Apa satu langkah konkrit yang Anda bisa ambil minggu ini untuk memulai membangun keterampilan untuk peran itu?