Penerapan Artificial Neural Network (ANN) untuk Studi Kasus Klasifikasi Data Menggunakan Dataset…
Pendahuluan
Penerapan Artificial Neural Network (ANN) untuk Studi Kasus Klasifikasi Data Menggunakan Dataset Kaggle
Pendahuluan
Pada studi kasus ini, dilakukan penerapan metode Artificial Neural Network (ANN) untuk menyelesaikan permasalahan klasifikasi data menggunakan dataset dari Kaggle. Tujuan utama dari penelitian ini adalah membangun model yang mampu memprediksi hasil berdasarkan variabel input yang tersedia dengan tingkat akurasi yang baik.
Artificial Neural Network dipilih karena metode ini mampu mengenali pola yang kompleks pada data dan sering digunakan dalam berbagai bidang seperti kesehatan, bisnis, pendidikan, dan prediksi pelanggan.
Langkah-Langkah Penyelesaian Studi Kasus
1. Import Library
from google.colab import files
uploaded = files.upload()
import pandas as pd
import numpy as np
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
from sklearn.metrics import accuracy_score, confusion_matrix, classification_report
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense
from tensorflow.keras.optimizers import Adam
Tahap pertama adalah mengimpor library yang dibutuhkan seperti:
- Pandas → untuk membaca dan mengelola dataset
- NumPy → untuk perhitungan numerik
- Matplotlib → untuk visualisasi data
- Scikit-Larn → untuk preprocessing dan evaluasi model
- TensorFlow / Keras → untuk membangun model ANN
Library ini digunakan agar proses pengolahan data hingga evaluasi model dapat berjalan dengan baik.
2. Load Data
df = pd.read_csv('train.csv')
print(df.head())
print(df.shape)
print(df.info())
Output :


Dataset diambil dari platform Kaggle dan dibaca menggunakan pandas.read_csv().
Pada tahap ini dilakukan pengecekan:
- jumlah baris dan kolom
- tipe data
- missing value
- distribusi target
Tujuannya adalah memastikan data siap digunakan dan mengetahui karakteristik awal dataset.
3. Data Preprocessing
Preprocessing merupakan tahap penting sebelum data masuk ke model ANN.
Langkah yang dilakukan:
a. Membersihkan Data
Menghapus data kosong (missing value) atau mengganti nilai yang tidak valid.
# Pilih fitur yang akan digunakan
features = ['Pclass', 'Sex', 'Age', 'SibSp', 'Parch', 'Fare', 'Embarked']
target = 'Survived'
# Ambil data
X = df[features].copy()
y = df[target]

b. Encoding Data
Jika terdapat data kategorikal seperti “Laki-laki / Perempuan”, maka diubah menjadi bentuk numerik.
# Ubah kolom kategorikal menjadi numerik
X['Sex'] = X['Sex'].map({'male': 0, 'female': 1})
X['Embarked'] = X['Embarked'].map({'S': 0, 'C': 1, 'Q': 2})
c. Feature Scaling
Normalisasi dilakukan agar semua nilai memiliki skala yang seimbang sehingga model lebih stabil saat training.
# Isi nilai kosong dengan median
X = X.fillna(X.median(numeric_only=True))
print(X.head())
d. Split Data
Dataset dibagi menjadi:
- Data training (80%)
- Data testing (20%)
X_train, X_test, y_train, y_test = train_test_split(
X, y,
test_size=0.2,
random_state=42,
stratify=y
)
print('Jumlah data training:', X_train.shape)
print('Jumlah data testing :', X_test.shape)
scaler = StandardScaler()
X_train_scaled = scaler.fit_transform(X_train)
X_test_scaled = scaler.transform(X_test)

Training digunakan untuk melatih model, sedangkan testing digunakan untuk menguji performa model.
4. Membangun Model ANN
Model ANN dibuat menggunakan beberapa layer:
- Input Layer
- Hidden Layer
- Output Layer
scaler = StandardScaler()
X_train_scaled = scaler.fit_transform(X_train)
X_test_scaled = scaler.transform(X_test)
Contoh struktur model:
- Dense Layer dengan aktivasi ReLU
- Dense Layer kedua untuk meningkatkan pembelajaran pola
- Output Layer dengan aktivasi Sigmoid (untuk klasifikasi biner)
model = Sequential([
Dense(16, activation='relu', input_shape=(X_train_scaled.shape[1],)),
Dense(8, activation='relu'),
Dense(1, activation='sigmoid')
])
model.compile(
optimizer=Adam(learning_rate=0.001),
loss='binary_crossentropy',
metrics=['accuracy']
)
model.summary()

Model kemudian dikompilasi menggunakan:
- Optimizer: Adam
- Loss Function: Binary Crossentropy
- Metrics: Accuracy
history = model.fit(
X_train_scaled,
y_train,
epochs=100,
batch_size=32,
validation_split=0.2,
verbose=1
)
loss, accuracy = model.evaluate(X_test_scaled, y_test, verbose=0)
print('Test Loss :', loss)
print('Test Accuracy :', accuracy)
y_pred_prob = model.predict(X_test_scaled)
y_pred = (y_pred_prob > 0.5).astype(int)
print('Accuracy Score:')
print(accuracy_score(y_test, y_pred))
print('\nConfusion Matrix:')
print(confusion_matrix(y_test, y_pred))
print('\nClassification Report:')
print(classification_report(y_test, y_pred))



Pemilihan ini dilakukan karena sesuai untuk kasus klasifikasi.
5. Training Model
Model dilatih menggunakan data training dengan beberapa parameter seperti:
- Epoch
- Batch Size
Selama proses training, sistem akan menghitung:
- accuracy
- loss
- validation accuracy
- validation loss
import matplotlib.pyplot as plt
# Accuracy
plt.figure(figsize=(8, 4))
plt.plot(history.history['accuracy'], label='Train Accuracy')
plt.plot(history.history['val_accuracy'], label='Validation Accuracy')
plt.title('Model Accuracy')
plt.xlabel('Epoch')
plt.ylabel('Accuracy')
plt.legend()
plt.show()
# Loss
plt.figure(figsize=(8, 4))
plt.plot(history.history['loss'], label='Train Loss')
plt.plot(history.history['val_loss'], label='Validation Loss')
plt.title('Model Loss')
plt.xlabel('Epoch')
plt.ylabel('Loss')
plt.legend()
plt.show()


Semakin tinggi accuracy dan semakin kecil loss, maka model semakin baik.
6. Evaluasi Model
Setelah training selesai, model diuji menggunakan data testing.
Hasil evaluasi menunjukkan bahwa model ANN mampu menghasilkan akurasi yang cukup baik dalam melakukan prediksi. Grafik training juga memperlihatkan bahwa model belajar secara stabil tanpa overfitting yang berlebihan.
Confusion Matrix juga dapat digunakan untuk melihat:
- True Positive
- True Negative
- False Positive
- False Negative
Hal ini membantu memahami performa model secara lebih detail.
Hasil
Berdasarkan proses training dan testing, diperoleh hasil bahwa model ANN mampu melakukan klasifikasi dengan performa yang cukup optimal.
Beberapa indikator hasil:
- Accuracy tinggi
- Loss rendah
- Prediksi stabil
- Model mampu mengenali pola data dengan baik
Hal ini menunjukkan bahwa metode ANN efektif digunakan pada studi kasus ini.
Analisis
Dari hasil yang diperoleh, dapat disimpulkan bahwa kualitas preprocessing sangat memengaruhi performa model. Semakin baik data dipersiapkan, semakin tinggi akurasi yang dihasilkan.
Selain itu, jumlah hidden layer dan pemilihan activation function juga berpengaruh besar terhadap hasil akhir model.
Jika epoch terlalu sedikit, model belum belajar optimal. Namun jika terlalu banyak, risiko overfitting dapat meningkat.
Karena itu, pemilihan parameter harus dilakukan secara seimbang agar model menghasilkan performa terbaik.
Kesimpulan
Artificial Neural Network (ANN) terbukti dapat digunakan untuk menyelesaikan studi kasus klasifikasi data dengan hasil yang baik. Proses preprocessing, pemilihan arsitektur model, dan evaluasi performa menjadi faktor utama keberhasilan model.
Dengan akurasi yang memadai, ANN menjadi salah satu metode yang efektif dan relevan untuk diterapkan pada berbagai permasalahan prediksi berbasis data.
메타데이터
- post_id
- d9f440eb797f
- slug
- penerapan-artificial-neural-network-ann-untuk-studi-kasus-klasifikasi-data-menggunakan-dataset-d9f440eb797f
- url
- https://medium.com/@fathurrizqicavin/penerapan-artificial-neural-network-ann-untuk-studi-kasus-klasifikasi-data-menggunakan-dataset-d9f440eb797f
- canonical_url
- https://medium.com/@fathurrizqicavin/penerapan-artificial-neural-network-ann-untuk-studi-kasus-klasifikasi-data-menggunakan-dataset-d9f440eb797f
- author_url
- https://medium.com/@fathurrizqicavin
- status
- ok
- fetched_at
- 2026-06-10 08:17:25