Quick ML / Pattern Finder

Domain: Mutu dan Analisis Lanjutan · SQalytics · Random Forest · Gradient Boosting · feature importance · partial dependence

1 Introduksi

1.1 Latar Belakang

Machine learning (ML) menyediakan algoritma adaptif untuk pattern recognition yang sulit dimodelkan dengan persamaan parametrik klasik. Dua keluarga tree-based ensemble dominan untuk tabular data sains pangan: Random Forest (Breiman, 2001) — bootstrap aggregation dari decision trees dengan random feature subset, dan Gradient Boosting (Friedman, 2001) — sequential tree fitting on residuals. Keduanya: (i) robust terhadap non-linearitas, (ii) handle mixed numeric+categorical, (iii) auto-detect feature interactions, (iv) provide feature importance ranking.

Konteks sains pangan: prediksi shelf life dari multivariate fingerprint, klasifikasi konsumen accept/reject dari sensory profile, deteksi adulterasi dari NIR spectrum, root cause analysis defect produksi dari proses parameter. Kelebihan: requires fewer assumptions than regresi linear. Kelemahan: less interpretable, overfitting risk bila data kecil.

1.2 Tujuan Modul

Modul Quick ML / Pattern Finder di SQalytics ditujukan untuk:

1.3 Posisi di Antara Alternatif

Pilih Quick ML / Pattern Finder untuk non-linear pattern discovery + feature importance. Untuk linear regression, pakai Regression Studio. Untuk multivariate spectral, pakai PLSR Studio. Untuk unsupervised grouping, pakai Cluster Analysis Explorer. Untuk dimensionality reduction, pakai PCA Explorer.

2 Metode

2.1 Dasar Teoretis

Decision tree (CART) (Breiman, Friedman, Olshen, & Stone, 1984) — partisi feature space secara rekursif dengan Gini impurity (classification) atau MSE (regression):

$$\text{Gini}(t) = 1 - \sum_{c=1}^{C} p_c^2, \quad \text{MSE}(t) = \frac{1}{n_t} \sum_{i \in t} (y_i - \bar{y}_t)^2$$

Split optimal: maksimum reduction in impurity. Recursive sampai stopping criterion (depth, min samples).

Random Forest (Breiman, 2001):

  1. Bootstrap $B$ samples dari training set.
  2. Per bootstrap, tumbuh decision tree dengan random feature subset ($\sqrt{p}$ untuk classification, $p/3$ untuk regression) di setiap split.
  3. Prediksi = majority vote (classification) atau mean (regression) dari $B$ trees.

Formal:

$$\boxed{\, \hat{y}_{\text{RF}}(\mathbf{x}) = \frac{1}{B} \sum_{b=1}^{B} \hat{f}_b(\mathbf{x}) \,}$$

Out-of-bag (OOB) error — tiap sample tidak masuk ~37% bootstrap → estimate generalization error tanpa hold-out set.

Gradient Boosting (Friedman, 2001):

$$F_m(\mathbf{x}) = F_{m-1}(\mathbf{x}) + \nu \cdot h_m(\mathbf{x})$$

dengan $h_m$ tree fit ke residual $r_i = y_i - F_{m-1}(\mathbf{x}_i)$, $\nu$ learning rate (0.01–0.1). XGBoost dan LightGBM = optimasi efficient.

Feature importance (mean decrease impurity, MDI):

$$I_j = \frac{1}{B} \sum_{b=1}^{B} \sum_{t \in T_b: \text{split}_j} \Delta \text{impurity}(t)$$

Normalisasi ke total 1.0. Alternatif: permutation importance — shuffle $X_j$, measure drop in performance.

Partial Dependence Plot (PDP) — marginal effect feature $j$:

$$\text{PDP}_j(v) = \frac{1}{n} \sum_{i=1}^{n} \hat{f}(X_{i,1}, \ldots, X_{i,j-1}, v, X_{i,j+1}, \ldots, X_{i,p})$$

Cross-validation (k-fold) untuk performance estimate:

$$\text{CV}_{k}\text{-MSE} = \frac{1}{k} \sum_{i=1}^{k} \text{MSE}(\text{fold}_i)$$

Default $k = 5$ atau 10.

Metrics:

2.2 Persamaan Inti

2.3 Asumsi & Batas Validitas

AsumsiKonsekuensi jika dilanggarCara cek di SQalytics
Sample size adequate ($n \geq 50$ per class)OverfittingModul flag $n$ kecil
Training-test distribution similarGeneralization failStratified split
Features informatifGarbage in, garbage outFeature importance review
Tidak ada data leakageFalse high accuracyTrain-test split correct
Class balance (klasifikasi)Bias to majorityStratified + class weight
Tidak terlalu banyak features ($p \ll n$)Curse of dimensionalityFeature selection

3 Cara Kerja

3.1 Step-by-Step di SQalytics

  1. Buka Quick ML / Pattern Finder dari domain Mutu dan Analisis Lanjutan.
  2. Muat dataset: rows = observations, columns = features + target.
  3. Tetapkan target column dan task: regression / classification.
  4. Pilih algoritma: Random Forest (default) atau Gradient Boosting.
  5. Set train/test split ratio (default 80/20) + stratify (classification).
  6. Klik Train Model.
  7. Tinjau:
    • Tab Performance Metrics — train, test, cross-validation.
    • Tab Feature Importancebar chart ranked.
    • Tab PDP — partial dependence per top feature.
    • Tab Predicted vs Actual (regression) atau Confusion Matrix (classification).
    • Tab Tuning (opsional) — grid search hyperparameter.

3.2 Template Tabel Input + Contoh Data Sintetis

Prediksi shelf life dari proses + komposisi (150 observations, 8 features):

SampleSugar_%AwpHProcess_TPkg_O2Storage_TAntioxidantShelf_life_day
1350.624.5851.2250.05145
2400.584.3900.8250.10178
3300.654.7801.5250.03102
… (150 observations total)

Target: Shelf_life_day (regression).

SYNTHETIC Data sintetis prediksi shelf life — 150 observations, 8 features (Sugar_%, Aw, pH, Process_T, Pkg_O2, Storage_T, Antioxidant). CSV setara: docs/assets/example-data/id/quality-advanced/template_quality_ml_pattern.csv.

3.3 Contoh Luaran

Performance (Random Forest, $B = 500$ trees):

MetricTrainTest5-fold CV
$R^2$0.970.840.81 ± 0.05
RMSE (day)6.214.515.8 ± 2.1
MAE (day)4.810.211.5 ± 1.6

OOB $R^2 = 0.82$ (consistent with CV).

Feature importance (normalized):

FeatureImportance
Pkg_O2 barrier0.32
Aw0.24
Antioxidant0.15
Storage_T0.12
pH0.08
Process_T0.05
Sugar_%0.03
(residual)0.01

Partial dependence plot (PDP) Pkg_O2: shelf life turun dari 180 day → 90 day saat Pkg_O2 naik 0.5 → 2.5 cc/m²/day (non-linear, threshold ~1.5).

Partial dependence Aw: shelf life turun curam saat Aw > 0.65 (microbial spoilage threshold).

Quick ML / Pattern Finder — figure 01
Gambar 1. Panel (a) Feature importance bar chart (Random Forest) — Pkg_O2 barrier 32%, Aw 24% top predictors; panel (b) Partial dependence plot (PDP) untuk Pkg_O2 dan Aw terhadap shelf life prediction.
Kesimpulan ringkas: "Random Forest predicts shelf life dengan $R^2$ test = 0.84 dan RMSE = 14.5 day (~10% target shelf life 145 day). Feature importance: Pkg_O2 barrier (32%) + Aw (24%) = 56% predictive power. PDP Pkg_O2 menunjukkan threshold ~1.5 cc/m²/day di atas mana shelf life turun drastis. Aw critical di > 0.65. Actionable insight: investasi packaging O₂ barrier lebih impact daripada antioxidant. Recommendation: validasi finding dengan controlled experiment (ASLT / Shelf-Life Prediction pada 2 Pkg_O2 levels). Confirm RF hypothesis via mekanistic kinetic model. Untuk regression linear-friendly, lanjut ke Regression Studio test apakah relationship simpler model bisa capture juga."

4 Kesimpulan

4.1 Relevansi Real-World

4.2 Where to Go from Here

Troubleshooting Cepat

Train $R^2$ jauh > Test $R^2$. Overfitting; reduce max_depth, increase min_samples_split, lebih banyak data.
Feature importance dominated by 1 variable. Mungkin proxy untuk target (data leakage); cek causality.
Class imbalance metric misleading. Pakai $F_1$ atau AUC bukan accuracy.

i Riwayat Revisi

TanggalRevisiPenulis
2026-05-12Draft v2 publikasi (KaTeX RF + gradient boosting + feature importance + PDP + APA Breiman/Friedman/Hastie)Claude
2026-05-12Konversi MD → HTML (W5 quality-advanced batch)Claude

4 Referensi