Dataset Holdout Validation
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.