๐ŸงฎPraktikum 3

Spliting Data

Pada pratikum ini, kita akan mencoba 3 macam strategi pembuatan data latih, validasi, dan uji. Data yang digunakan adalah data kapal Titanic yang sudah kita ekstraksi fiturnya pada pratikum sebelumnya

โฌ‡๏ธ Download โฌ‡๏ธ

Random Split

Langkah 1 - Load Data

import pandas as pd

df = pd.read_csv('data/Titanic-Dataset-selected.csv')
df.head()

Langkah 2 - Split Data

# Split data
from sklearn.model_selection import train_test_split

# Split data training dan dan lainnya
# data lainnya, akan kita split lagi menjadi validasi dan testing.
# Rasio yang akan kita gunakan adalah 8:1:1
df_train, df_unseen = train_test_split(df, test_size=0.2, random_state=0)

# Split lagi antara validasi dan testing
df_val, df_test = train_test_split(df_unseen, test_size=0.5, random_state=0)

# Cek masing-masing ukuran data

print(f'Jumlah data asli: {df.shape[0]}')
print(f'Jumlah data train: {df_train.shape[0]}')
print(f'Jumlah data val: {df_val.shape[0]}')
print(f'Jumlah data test: {df_test.shape[0]}')

# Cek rasio tiap label
print('=========')
print(f'Jumlah label data asli:\n{df.Survived.value_counts()}')
print(f'Jumlah label data train:\n{df_train.Survived.value_counts()}')
print(f'Jumlah label data val:\n{df_val.Survived.value_counts()}')
print(f'Jumlah label data test:\n{df_test.Survived.value_counts()}')

Hasilnya adalah sebagai berikut,

Stratified Split

Langkah 1 - Load Data

Langkah 2 - Split Data

Hasilnya adalah sebagai berikut. Perhatikan rasio-rasio yang dihasilkan.

Cross Validation 1

Pada praktikum ini, kita akan membuat data latih dan data uji saja dengan menggunakan metode cross validation.

Langkah 1 - Load Data

Langkah 2 - Split Data

Perhatikan nomor index untuk setiap fold. Jika berhasil, maka seharusnya setiap fold memiliki nomor index yang berbeda untuk setiap data latih dan data uji.

Berikut hasilnya untuk 2 fold pertama.

Cross Validation 2

Pada pratikum ini, kita sedikit melakukan pendekatan yang berbeda dibandingkan dengan praktikum sebelumnya. Pertama data akan kita split menjadi data latih dan data uji. Kemudian, data latih kita split menjadi beberapa bagian dengan cross validation untuk kebutuhan data latih dan data validasi.

Langkah 1 - Load Data

Langkah 2 - Split Data

Hasilnya, pada jumlah data latih seharusnya berkurang karena telah kita split pada tahap awal. Berikut merupakan hasil untuk 2 fold pertama.

Kode Lengkap

Last updated

Was this helpful?