机器学习中的数据泄漏

发布: (2025年12月28日 GMT+8 21:45)
1 min read
原文: Dev.to

Source: Dev.to

Sering kali mentee melakukan kesalahan dasar dalam alur kerja Machine Learning: Exploratory Data Analysis (EDA) → preprocessing → split dataset → buat model → evaluasi. Masalah yang muncul biasanya terletak pada data testing yang secara tidak sengaja sudah diketahui oleh model saat proses training. Dalam Machine Learning, hal ini disebut Data Leakage.

Apa itu Data Leakage?

Data Leakage terjadi ketika informasi dari data testing masuk ke dalam proses training, sehingga model “melihat” data yang seharusnya tidak diketahui. Masalah ini termasuk dalam kategori Train‑Test Contamination, misalnya ketika nilai rata‑rata atau standar deviasi data testing sudah dipakai saat proses standarisasi.

Contoh: Standarisasi yang Salah

Formula standarisasi:

# Standarisasi yang benar
x_scaled = (x - mean) / std

Jika standarisasi dilakukan sebelum memisahkan data menjadi train dan test set, maka mean dan std dihitung dari seluruh data. Akibatnya model secara tidak langsung mengintip informasi dari data testing selama training.

Cara Menghindari Data Leakage

  1. Pisahkan data menjadi train set dan test set terlebih dahulu。
  2. Fit scaler (misalnya StandardScaler) hanya pada data training
  3. Gunakan scaler yang sudah di‑fit untuk transform data training dan data testing secara terpisah。

Dengan langkah ini, model tetap “buta” terhadap data testing selama proses pelatihan, sehingga evaluasi yang diperoleh mencerminkan performa yang sebenarnya。

Back to Blog

相关文章

阅读更多 »

⚠️ 机器学习中的数据泄漏

正在毁灭真实世界机器学习系统的沉默准确性杀手——ML工程失败系列第二篇 大多数机器学习初学者过度关注模型选择……

特征工程

什么是特征工程? - 特征只是数据的一列,例如年龄、薪水、购买次数。 - 特征工程指的是创建、修改或…