Journey 30 Hari Saya Belajar Machine Learning dan Hasilnya
Ikuti perjalanan transformasi saya dari pemula absolut menjadi bisa membangun model Machine Learning pertama hanya dalam 30 hari. Simak tantangan, proyek, dan hasil menakjubkan yang saya raih!
Journey 30 Hari Saya Belajar Machine Learning dan Hasilnya

Halo, teman-teman pembaca! Pernah nggak sih kalian merasa penasaran banget dengan Machine Learning—istilah yang sering disebut-sebut sebagai "masa depan"—tapi bingung harus mulai dari mana? Sama! Saya adalah seorang yang benar-benar zero di dunia ini. Latar belakang saya bukanlah komputer sains, dan pemrograman Python pun masih sangat dasar.
Tapi, rasa penasaran itu akhirnya memicu sebuah tekad: Saya akan belajar Machine Learning secara intensif selama 30 hari berturut-turut! Artikel ini adalah dokumentasi jujur dari perjalanan saya, lengkap dengan segala salahnya, tantangannya, dan tentunya, hasil yang bikin saya sendiri sempat tidak percaya.
Hari 1-7: Fondasi dan Kebingungan Awal - Penjabaran Detail
Fase pertama ini adalah yang paling krusial dan seringkali paling menjemukan. Tujuannya bukan untuk menjadi ahli, tetapi untuk membangun pijakan yang kokoh agar tidak tersesat di fase-fase selanjutnya.

Target: Memahami Konsep Dasar dan Menyiapkan "Senjata"
Target fase ini terbagi dua:
- Konseptual: Memahami mindset dasar Machine Learning (ML). Apa yang bisa dicapai? Apa saja jenisnya? 
- Praktikal: Memasang semua tools yang diperlukan dan menjadi cukup nyaman dengan sintaks Python untuk sains data. 
Apa yang Saya Pelajari (Dijabarkan per Hari):

Hari 1-2: Persiapan Lingkungan Pengembangan (Setup Environment)
- Aktivitas: Saya menghabiskan waktu untuk memasang Anaconda Distribution, yang sudah include Python, Jupyter Notebook, dan library-library penting. Saya memilih Jupyter Notebook sebagai IDE utama karena interaktif dan cocok untuk eksperimen. 
- Yang Dipelajari: Cara membuat notebook baru, menjalankan cell ( - Shift + Enter), dan menulis kode Python dasar.
Hari 3-4: Python Dasar untuk Data Science
- Aktivitas: Fokus pada konsep Python yang paling sering digunakan dalam ML, bukan mempelajari semuanya. - Struktur Data: List, Dictionary, NumPy Arrays (dari library NumPy). 
- Control Flow: Loop ( - for,- while) dan percabangan (- if, else).
- Fungsi: Cara membuat dan memanggil fungsi sederhana. 
 
- Library Inti #1 - NumPy: Belajar membuat array, operasi matematika dasar (seperti penjumlahan dan perkalian matrix), dan indexing. NumPy adalah fondasi untuk komputasi numerik. 
Hari 5: Library Inti #2 - Pandas
- Aktivitas: Ini adalah hari yang paling penting di minggu ini. Pandas digunakan untuk segala hal terkait data. - Membaca data dari file CSV ( - pd.read_csv()).
- Melihat preview data ( - df.head(),- df.tail(),- df.sample()).
- Memahami struktur data DataFrame dan Series. 
- Melakukan seleksi kolom dan baris. 
- Mengecek info dasar data ( - df.info(),- df.describe()).
 
Hari 6: Library Inti #3 - Matplotlib & Seaborn
- Aktivitas: Belajar menvisualisasikan data. Teori tanpa visualisasi itu membosankan! - Membuat plot dasar: Histogram (untuk melihat distribusi), Scatter Plot (untuk melihat hubungan antar variabel), dan Bar Plot (untuk perbandingan). 
- Seaborn digunakan untuk membuat visualisasi yang lebih menarik secara estetika dengan kode yang lebih singkat ( - sns.histplot(),- sns.scatterplot()).
 
Hari 7: Konsep Statistik Dasar & Istilah ML
- Aktivitas: Mengulang pelajaran statistik SMA dan mengenal jargon. - Statistik: Mean (rata-rata), Median (nilai tengah), Mode (nilai paling sering muncul), Standard Deviation (sebaran data). 
- Istilah ML: - Supervised Learning: Model belajar dari data yang sudah punya "label" atau jawaban. (Contoh: punya data rumah dengan harganya). 
- Unsupervised Learning: Model mencari pola dalam data yang tidak punya label. (Contoh: mengelompokkan pelanggan berdasarkan perilaku belanja). 
- Regresi vs. Klasifikasi: Regresi memprediksi angka (berapa harga?), Klasifikasi memprediksi kategori (apakah ini anjing atau kucing?). 
 
 
Tantangan: Information Overload! (Dijabarkan dengan Solusi)
- "Rasanya Kepala Mau Meledak": - Penyebab: Mencoba memahami semua konsep sekaligus dan langsung masuk ke hal yang kompleks. 
- Solusi: Fokus pada satu hal kecil per hari. Hari ini hanya Pandas, besok hanya visualisasi. Jangan campur-campur. 
 
- "Banyak Sekali Istilah Baru": - Penyebab: Dunia ML penuh dengan akronim dan jargon (ML, DL, AI, NLP, CNN, dll). 
- Solusi: Buat catatan atau "cheat sheet" pribadi. Tulis istilah, arti sederhana, dan analogi. Misal: "Overfitting = kaya anak yang menghafal soal ujian, bukan paham konsepnya. Jadi pas soal diganti, dia gagal." 
 
- "Harus Menonton Video Berulang Kali": - Penyebab: Beberapa konsep, seperti broadcasting di NumPy atau grouping di Pandas, memang abstrak. 
- Solusi: Ini sangat normal! Learning by doing adalah kuncinya. Jangan hanya ditonton, tapi ketik ulang kode di video tersebut dan coba modifikasi untuk melihat apa yang terjadi. 
 
"Rasanya Kepala Mau Meledak":
- Penyebab: Mencoba memahami semua konsep sekaligus dan langsung masuk ke hal yang kompleks. 
- Solusi: Fokus pada satu hal kecil per hari. Hari ini hanya Pandas, besok hanya visualisasi. Jangan campur-campur. 
"Banyak Sekali Istilah Baru":
- Penyebab: Dunia ML penuh dengan akronim dan jargon (ML, DL, AI, NLP, CNN, dll). 
- Solusi: Buat catatan atau "cheat sheet" pribadi. Tulis istilah, arti sederhana, dan analogi. Misal: "Overfitting = kaya anak yang menghafal soal ujian, bukan paham konsepnya. Jadi pas soal diganti, dia gagal." 
"Harus Menonton Video Berulang Kali":
- Penyebab: Beberapa konsep, seperti broadcasting di NumPy atau grouping di Pandas, memang abstrak. 
- Solusi: Ini sangat normal! Learning by doing adalah kuncinya. Jangan hanya ditonton, tapi ketik ulang kode di video tersebut dan coba modifikasi untuk melihat apa yang terjadi. 
Sumber Belajar (Rekomendasi Spesifik):
- YouTube: - freeCodeCamp: Cari "Python for Data Science" atau "Machine Learning for Beginners". Video mereka lengkap dan mendalam. 
- StatQuest with Josh Starmer: Jagoan menjelaskan konsep statistik dan ML dengan visualisasi yang lucu dan mudah dimengerti. Cari video tentang "Linear Regression" atau "Classification". 
- Corey Schafer: Tutorial Python dan Pandas yang sangat jelas dan terstruktur. 
 
- Platform: - Kaggle: Selain mencari dataset, Kaggle memiliki modul belajar gratis yang sangat bagus untuk pemula ("Kaggle Learn"). Sangat direkomendasikan! 
- W3Schools / GeeksforGeeks: Referensi cepat untuk sintaks Python dan Pandas. 
 
YouTube:
- freeCodeCamp: Cari "Python for Data Science" atau "Machine Learning for Beginners". Video mereka lengkap dan mendalam. 
- StatQuest with Josh Starmer: Jagoan menjelaskan konsep statistik dan ML dengan visualisasi yang lucu dan mudah dimengerti. Cari video tentang "Linear Regression" atau "Classification". 
- Corey Schafer: Tutorial Python dan Pandas yang sangat jelas dan terstruktur. 
Platform:
- Kaggle: Selain mencari dataset, Kaggle memiliki modul belajar gratis yang sangat bagus untuk pemula ("Kaggle Learn"). Sangat direkomendasikan! 
- W3Schools / GeeksforGeeks: Referensi cepat untuk sintaks Python dan Pandas. 
Kesimpulan dari Fase Ini: Minggu pertama terasa seperti minum dari selang pemadam kebakaran. Informasi sangat deras, tetapi dengan fokus pada tools (Python, Pandas, Visualisasi) dan menerima bahwa kebingungan adalah bagian dari proses, saya berhasil meletakkan batu pertama untuk perjalanan yang lebih seru ke depannya. Kunci utamanya adalah JANGAN MENYERAH dan PRAKTEK LANGSUNG.
Hari 8-14: "Hello World!"-nya Machine Learning - Penjabaran Detail
Fase ini adalah tentang penerapan langsung. Jika minggu pertama adalah mempelajari tentang palu dan obeng, minggu kedua adalah tentang memaku dan memasang baut untuk pertama kalinya.
Target: Membangun Model Pertama yang Sederhana
Targetnya sangat jelas: mengambil data, memprosesnya, memasukkannya ke dalam model, dan mendapatkan prediksi. Fokusnya bukan pada membuat model yang sempurna, tetapi pada memahami alur kerja (workflow) dasar yang menjadi tulang punggung hampir semua proyek Machine Learning.
Apa yang Saya Pelajari (Dijabarkan):
Library Ajaib: Scikit-learn
- Apa itu? - scikit-learn(sering ditulis- sklearn) adalah library Python yang berisi ratusan algoritma Machine Learning yang sudah dioptimalkan dan siap pakai. Ini adalah senjata utama para praktisi ML.
- Yang Dipelajari: - Cara instalasi ( - pip install scikit-learn).
- Struktur dasar penggunaan library ini, yang selalu mengikuti pola yang konsisten: - from sklearn.module import Algorithm
- model = Algorithm()# Membuat instance model
- model.fit(X_train, y_train)# Melatih model
- predictions = model.predict(X_test)# Memprediksi data baru
 
 
Algoritma Sederhana Pertama:
- Linear Regression: - Konsep: Mencari garis lurus terbaik yang memodelkan hubungan antara fitur (X) dan target numerik (y). Target: Memprediksi nilai kontinu (seperti harga, suhu, berat). 
- Analog Sederhana: Mencari persamaan garis - y = mx + cyang paling sesuai dengan titik-titik data yang ada.
 
- Logistic Regression: - Konsep: Meski namanya "regression", ini adalah algoritma klasifikasi. Ia memprediksi probabilitas suatu instance termasuk dalam suatu kelas (misalnya, spam atau bukan spam). Target: Memprediksi kategori atau kelas. 
- Analog Sederhana: Menggambar garis pemisah (decision boundary) untuk memisahkan dua kelompok data. 
 
Proyek Kecil Pertama: Prediksi Harga Rumah Sederhana
Berikut adalah penjabaran langkah-langkahnya dengan lebih teknis:
1. Load Data dan Eksplorasi dengan Pandas:
- Aktivitas: Menggunakan - pandas.read_csv()untuk memuat dataset Boston Housing (biasanya tersedia di- sklearn.datasets).
- Tindakan: Melakukan Exploratory Data Analysis (EDA) sederhana: - df.head(): Melihat 5 baris pertama data.
- df.describe(): Melihat statistik deskriptif (mean, std, min, max) untuk memahami sebaran data.
- df.info(): Memastikan tidak ada tipe data yang aneh dan melihat jika ada nilai yang hilang (null).
- df.hist(): Membuat histogram untuk melihat distribusi setiap fitur.
 
2. Bersihkan Data (Data Cleaning/Preprocessing):
- Aktivitas: Memeriksa dan menangani data yang bermasalah. Untuk dataset Boston yang sudah bersih, ini mungkin hanya memeriksa missing values dengan - df.isnull().sum().
- Konsep Penting: Dalam proyek lain, langkah ini bisa melibatkan mengisi nilai yang hilang (dengan mean/median) atau menghapus baris/kolom yang bermasalah. Data yang bersih adalah kunci model yang baik. 
3. Pisahkan Data: Training Set & Test Set:
- Aktivitas: Menggunakan - train_test_splitdari- sklearn.model_selection.
- Mengapa ini penting? Kita harus menguji model pada data yang belum pernah dilihatnya selama pelatihan. Ini untuk memastikan model kita bisa generalisasi, bukan hanya menghafal data latih (overfitting). 
- Kode Contoh: - from sklearn.model_selection import train_test_split X = df.drop('MEDV', axis=1) # Fitur (semua kolom kecuali target 'harga') y = df['MEDV'] # Target (kolom 'harga') X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42) # test_size=0.2 artinya 20% data untuk testing, 80% untuk training. # random_state memastikan pemisahan yang sama setiap kali kode di-run (untuk reproduktibilitas). 
4. Latih Model pada Training Set:
- Aktivitas: "Memasukkan" data latih ke dalam model. 
- Kode Contoh: - from sklearn.linear_model import LinearRegression model = LinearRegression() # Inisialisasi model model.fit(X_train, y_train) # Proses pelatihan! Di sinilah "magic" belajar terjadi. 
5. Evaluasi Performa pada Test Set:
- Aktivitas: Menggunakan model yang sudah dilatih untuk memprediksi data test, lalu membandingkan prediksinya dengan nilai sebenarnya. 
- Metrik Evaluasi untuk Regresi: - Mean Absolute Error (MAE): Rata-rata dari selisih absolut prediksi dan kenyataan. Mudah diinterpretasi. 
- R-squared (R²): Mengukur seberapa baik model menjelaskan variasi dalam data. Mendekati 1 = baik. 
 
- Kode Contoh: - from sklearn.metrics import mean_absolute_error, r2_score predictions = model.predict(X_test) # Memprediksi data test mae = mean_absolute_error(y_test, predictions) r2 = r2_score(y_test, predictions) print(f"MAE: {mae:.2f}") print(f"R2 Score: {r2:.2f}") 
- Visualisasi: Membuat scatter plot antara - y_test(nilai sebenarnya) dan- predictions(nilai prediksi). Jika titik-titiknya mendekati garis lurus y=x, artinya modelnya akurat.
Hasil & Perasaan (The "Aha!" Moment)
- "Modelnya Jalan!": Ini adalah pencapaian teknis pertama. Kode berjalan tanpa error dan menghasilkan angka (misal: MAE = 3.5, artinya rata-rata prediksi meleset $3,500 dari harga sebenarnya). 
- "Meski akurasinya belum wow...": Sangat normal untuk model pertama. Fokusnya adalah pada proses, bukan hasil akhir. 
- "Perasaan saat berhasil... luar biasa!": Ini adalah momen motivasi yang sangat kuat. Semua teori dan kebingungan di minggu pertama akhirnya terbayar. Anda telah secara nyata "mengajarkan" komputer sesuatu yang berguna. Momen ini adalah bahan bakar untuk melanjutkan perjalanan ke konsep yang lebih kompleks. 
"Modelnya Jalan!": Ini adalah pencapaian teknis pertama. Kode berjalan tanpa error dan menghasilkan angka (misal: MAE = 3.5, artinya rata-rata prediksi meleset $3,500 dari harga sebenarnya).
"Meski akurasinya belum wow...": Sangat normal untuk model pertama. Fokusnya adalah pada proses, bukan hasil akhir.
"Perasaan saat berhasil... luar biasa!": Ini adalah momen motivasi yang sangat kuat. Semua teori dan kebingungan di minggu pertama akhirnya terbayar. Anda telah secara nyata "mengajarkan" komputer sesuatu yang berguna. Momen ini adalah bahan bakar untuk melanjutkan perjalanan ke konsep yang lebih kompleks.
Fase ini berhasil mengajarkan satu hal: Machine Learning adalah tentang pola dan proses, bukan sekadar sihir.
Hari 15-21: Menyelami Dunia Klasifikasi
Target: Membangun model yang bisa "membedakan" sesuatu.
- Apa yang Saya Pelajari: Saya beralih ke masalah klasifikasi. Di sini saya belajar algoritma seperti K-Nearest Neighbors (KNN) dan Support Vector Machine (SVM). Konsep evaluasi model menjadi kunci: belajar apa itu accuracy, precision, recall, dan bagaimana membaca Confusion Matrix. 
- Proyek Kecil Kedua: Klasifikasi Jenis Bunga Iris. Dataset ini adalah ritual wajib. Tujuannya adalah mengajarkan model untuk membedakan jenis bunga Iris berdasarkan panjang dan lebar kelopaknya. 
- Tantangan: Memahami why di balik what. Mengapa kita perlu menormalisasi data untuk algoritma seperti KNN? Saya mulai sadar bahwa memahami matematika di baliknya sangat penting untuk memilih algoritma yang tepat. 
Hari 22-28: Proyek Akhir - Membuat Sesuatu yang "Nyata"
Target: Menerapkan semua yang telah dipelajari pada satu proyek yang lebih kompleks.
- Proyek Akhir Saya: Sistem Prediksi Diabetes (Sederhana). Saya mencari dataset yang lebih "real world" di Kaggle. Prosesnya jauh lebih panjang: - EDA (Exploratory Data Analysis) yang mendalam: Saya membuat banyak visualisasi untuk memahami hubungan antar variabel. 
- Data Preprocessing yang lebih serius: Menangani outlier, melakukan feature scaling. 
- Mencoba Beberapa Algoritma: Saya mencoba Logistic Regression, KNN, dan Random Forest untuk melihat mana yang performanya terbaik. 
- Evaluasi & Interpretasi: Saya tidak hanya melihat accuracy, tetapi juga precision dan recall karena dalam dunia medis, false negative (prediksi tidak diabetes padahal diabetes) sangat berbahaya. 
 
- Hasil: Model Random Forest memberikan hasil terbaik dengan akurasi sekitar 78% pada test set. Sebuah pencapaian yang sangat membanggakan! 
Hari 29-30: Refleksi dan Hasil yang Tidak Terduga
Setelah 30 hari, apa yang berubah?
- Skill: Dari nol, sekarang saya percaya diri untuk melakukan analisis data, membangun model ML sederhana, dan mengevaluasi performanya. 
- Mindset: Saya belajar bahwa ML bukan tentang sihir, tapi tentang memahami data, trial and error, dan iterasi yang konsisten. Kegagalan model adalah bagian dari proses belajar. 
- Hasil Nyata: Saya sekarang memiliki portofolio kecil di GitHub yang berisi 3 proyek yang telah saya selesaikan. Ini sangat berharga untuk menunjukkan kemampuan saya ke depannya. 
Kesimpulan: Tips untuk Kamu yang Mau Memulai
Perjalanan dari Zero to Hero dalam 30 hari ini bukan berarti saya sudah jadi expert. Saya masih sangat much a beginner, tetapi saya telah berhasil melewati tahap paling menakutkan: memulai.
Jika kamu ingin mencoba:
- Mulai Saja Dulu! Jangan ditunda-tunda. 
- Fokus pada Pemahaman Konsep, bukan sekadar hafal kode. 
- Praktek, Praktek, Praktek! Belajar teori itu penting, tapi keahlian sejati datang dari praktik langsung. 
- Jangan Takut Gagal. Error message adalah guru terbaikmu. 
Apakah melelahkan? Sangat! Tiap hari habis 2-3 jam untuk belajar dan coding. Tapi, apakah worth it? Sangat-sangat worth it!
Jadi, apa rencana 30 hari mu selanjutnya?
Apa tantangan belajar kamu? Share di komentar ya! Let's learn together!
Belum ada Komentar untuk "Journey 30 Hari Saya Belajar Machine Learning dan Hasilnya"
Posting Komentar