scikit-learn adalah pustaka machine learning klasik yang menaungi puluhan algoritma di balik satu API yang konsisten. Jalur ini melatih disiplin penggunaannya secara berurutan: kontrak estimator fit dan predict, praproses data yang bebas kebocoran, pipeline, evaluasi yang jujur, hingga pengerjaan proyek end-to-end. Seluruh contoh dijalankan dengan scikit-learn 1.5 di atas Python 3.12 beserta NumPy dan pandas, sehingga keluaran yang ditampilkan dapat direproduksi. Prasyaratnya berupa pemahaman dasar Python dan terminal.
scikit-learn
Jalur machine learning klasik dengan scikit-learn: dari kontrak API estimator, praproses dan pipeline, hingga evaluasi yang jujur dan proyek end-to-end.
0/0 selesai
Modul pembuka: kedudukan scikit-learn, perumusan masalah machine learning, dan penyiapan lingkungan.
- Apa itu scikit-learn ?Kedudukan scikit-learn sebagai pustaka machine learning klasik dan desain API yang konsisten.
- Perumusan Masalah Machine LearningMembedakan supervised dan unsupervised learning serta mengenali fitur dan target.
- Penyiapan LingkunganInstalasi scikit-learn, pemeriksaan versi, dan pemuatan dataset bawaan seperti iris dan digits.
Kontrak universal fit, predict, dan transform yang menjadi pola berulang di seluruh scikit-learn.
- Pola fit dan predictAntarmuka estimator universal yang menaungi semua model scikit-learn.
- Classifier PertamaMelatih dan menguji KNeighborsClassifier pada dataset iris secara end-to-end.
- Train/test splitMemecah data dengan train_test_split, stratify, dan disiplin random_state.
- Kebocoran DataMengenali data leakage, mengapa skor menjadi menggelembung, dan jalur masuknya.
- Model BaselineDummyClassifier sebagai tolok ukur minimum yang harus dikalahkan setiap model.
Transformasi data mentah menjadi siap model: scaling, encoding, imputasi, dan pemilihan kolom.
- ScalingStandardScaler, MinMaxScaler, dan RobustScaler untuk penyetaraan skala fitur.
- Mengapa Scaling DiperlukanModel berbasis jarak dan gradien membutuhkan skala seragam, model pohon tidak.
- Encoding KategoriOneHotEncoder dan OrdinalEncoder untuk fitur non-numerik.
- Nilai yang HilangStrategi SimpleImputer untuk menangani data yang tidak lengkap.
- Fitting Hanya pada TrainAturan anti-kebocoran untuk setiap transformer: fit di train, transform di test.
- Pemilihan Kolom dengan ColumnTransformerMenangani kolom numerik dan kategorikal dalam satu transformasi.
Merangkai praproses dan model menjadi satu objek yang tak bisa bocor.
- Dasar PipelineMerangkai transformer dan estimator menjadi satu alur.
- Pipeline dan ColumnTransformerPola kanonik praproses kolom campuran di dunia nyata.
- Pipeline Mencegah KebocoranMengapa cross-validation di atas pipeline menghasilkan skor yang jujur.
- Transformer KustomFunctionTransformer dan penulisan transformer buatan sendiri.
Memprediksi nilai kontinu dengan regresi linear, fitur polinomial, dan regularisasi.
- Regresi LinearFitting LinearRegression dan interpretasi koefisien.
- Fitur PolinomialPolynomialFeatures, nonlinearitas, dan demonstrasi overfitting.
- Regularisasi Ridge dan LassoMenahan kompleksitas model dengan penalaan alpha.
- Metrik RegresiMAE, MSE, RMSE, dan R-squared beserta maknanya.
- Analisis ResidualMembaca error model dan mengenali asumsi yang dilanggar.
Kelas-kelas classifier utama scikit-learn, masing-masing dibandingkan terhadap baseline.
- Regresi LogistikLogisticRegression sebagai classifier linear yang namanya mengandung kata regresi.
- Decision TreePemisahan fitur, kontrol kedalaman, dan keterinterpretasian pohon.
- Random ForestEnsemble pohon dan intuisi skor out-of-bag.
- Gradient BoostingHistGradientBoostingClassifier sebagai pilihan modern untuk data tabular.
- KNN dan Naive BayesDua baseline sederhana dengan kegunaan nyata.
- Kesadaran SVMKernel dan situasi ketika SVM cocok dipakai.
Metrik klasifikasi yang jujur: confusion matrix, precision, recall, F1, dan ROC.
- Batas-Batas AccuracyKetidakseimbangan kelas membuat accuracy berbohong.
- Confusion MatrixTP, FP, FN, TN beserta konsekuensi nyatanya.
- Precision, Recall, dan F1Memilih kompromi antara presisi dan cakupan.
- ROC dan AUCKurva ROC, threshold, dan ukuran kualitas yang bebas threshold.
- Penanganan Ketidakseimbangan Kelasclass_weight dan kesadaran resampling.
Estimasi performa yang stabil dan penalaan hyperparameter yang disiplin.
- Cross-validationKFold, StratifiedKFold, dan cross_val_score.
- GridSearchCVPenalaan menyeluruh hyperparameter di atas pipeline.
- RandomizedSearchCVKapan pencarian acak mengalahkan grid penuh.
- Kesadaran Nested CVEstimasi performa yang jujur bagi model yang telah ditala.
Clustering dan PCA: belajar dari data tanpa label.
- Masalah ClusteringMenata data tanpa label dan menilai hasil dengan kriteria yang berbeda.
- KMeansMemilih k, membaca inertia, dan silhouette.
- DBSCANClustering kepadatan dan penanganan noise.
- Clustering HierarkisAgglomerativeClustering dan kesadaran dendrogram.
- PCAVariansi, komponen utama, dan pentingnya scaling sebelum PCA.
Fitur yang tepat menggerakkan metrik lebih daripada model yang canggih.
- Penciptaan FiturFitur berbasis pengetahuan domain dan efeknya pada metrik.
- Interaksi dan RasioFitur multiplikatif yang memperjelas pola.
- Seleksi FiturSelectKBest dan kepentingan berbasis model.
- Membaca Kepentingan FiturKoefisien, kepentingan, dan kehati-hatiannya.
Model yang disimpan, dimuat, dieksekusi ulang, dan ditata sebagai modul.
- Persistensi ModelMenyimpan dan memuat model dengan joblib serta penguncian versi.
- Desain InferensiJebakan prediksi batch versus satu baris.
- Pelacakan EksperimenMengorganisasi run, parameter, dan hasil.
- Dari Notebook ke ModulMenata kode scikit-learn agar dapat dipakai ulang.
Proyek end-to-end: pemilihan masalah, pipeline penuh, dan evaluasi yang jujur.
- Pemilihan Masalah dan DataMemilih masalah tabular dan menilai datanya sebelum memodelkan.
- Pembangunan Pipeline PenuhDari ingestion hingga model tertala dalam satu pipeline.
- Evaluasi yang JujurStrategi CV, holdout akhir, dan narasi metrik.