Dataset Holdout Validation

From OnnoWiki
Jump to navigation Jump to search

Berikut adalah contoh kode Python yang menerapkan Holdout Validation pada dataset dengan 10 fitur dan 1 target menggunakan pustaka `scikit-learn`:

import numpy as np
from sklearn.model_selection import train_test_split
from sklearn.ensemble import RandomForestClassifier
from sklearn.metrics import accuracy_score

# Contoh: Membuat dataset dummy dengan 100 sampel, 10 fitur, dan 1 target
np.random.seed(42)
X = np.random.rand(100, 10)  # 100 sampel, 10 fitur
y = np.random.randint(2, size=100)  # 100 nilai target biner (0 atau 1)

# Membagi dataset menjadi training (80%) dan testing (20%)
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

# Inisialisasi model, misalnya RandomForestClassifier
model = RandomForestClassifier(random_state=42)

# Melatih model pada data training
model.fit(X_train, y_train)

# Memprediksi data testing
y_pred = model.predict(X_test)

# Mengevaluasi akurasi model
accuracy = accuracy_score(y_test, y_pred)
print(f'Akurasi model pada data testing: {accuracy:.2f}')

Penjelasan kode:

1. Import pustaka yang diperlukan:

  • `numpy` untuk manipulasi array.
  • `train_test_split` dari `sklearn.model_selection` untuk membagi dataset.
  • `RandomForestClassifier` dari `sklearn.ensemble` sebagai model klasifikasi.
  • `accuracy_score` dari `sklearn.metrics` untuk mengevaluasi performa model.

2. Membuat dataset dummy:

  • `X` adalah array dengan ukuran `(100, 10)`, yang berarti terdapat 100 sampel dan masing-masing memiliki 10 fitur.
  • `y` adalah array target dengan 100 nilai biner (0 atau 1), yang dihasilkan secara acak.

3. Membagi dataset:

  • `train_test_split` digunakan untuk membagi `X` dan `y` menjadi data training dan testing.
  • Parameter `test_size=0.2` berarti 20% data digunakan untuk pengujian, dan 80% untuk pelatihan.
  • Parameter `random_state=42` memastikan bahwa pembagian data konsisten setiap kali kode dijalankan.

4. Melatih model:

  • - Model `RandomForestClassifier` diinisialisasi dan dilatih menggunakan data training (`X_train` dan `y_train`).

5. Memprediksi dan mengevaluasi:

  • Model yang telah dilatih digunakan untuk memprediksi data testing (`X_test`).
  • Akurasi model dihitung dengan membandingkan prediksi (`y_pred`) dengan nilai target sebenarnya (`y_test`).

Catatan:

  • Pastikan Anda telah menginstal pustaka `scikit-learn` sebelum menjalankan kode ini. Anda dapat menginstalnya menggunakan perintah
pip install scikit-learn

  • Dalam praktik nyata, gantilah dataset dummy dengan dataset Anda sendiri yang memiliki 10 fitur dan 1 target.
  • Pemilihan model seperti `RandomForestClassifier` dapat disesuaikan dengan kebutuhan dan karakteristik data Anda.


Pranala Menarik