5 Implementasi Machine Learning Menggunakan Bahasa Python
5 Implementasi Machine Learning Menggunakan Bahasa Python
Machine Learning
Menggunakan
Bahasa Python
Machine Learning (ML) adalah cabang ilmu komputer yang
memungkinkan komputer belajar dari data tanpa diprogram secara
eksplisit. Python adalah bahasa pemrograman yang sangat populer di
dunia ML karena sintaksnya yang sederhana, pustaka yang kaya, dan
komunitas yang aktif.
by Ines H Ikasari
Persiapan Lingkungan
Pengembangan
Sebelum memulai implementasi ML, kita perlu menyiapkan lingkungan pengembangan
yang sesuai. Ini meliputi instalasi Python, IDE atau editor teks, dan beberapa pustaka ML
yang penting, seperti Scikit-learn, TensorFlow, dan PyTorch.
Python IDE
Python adalah bahasa pemrograman IDE (Integrated Development
yang digunakan untuk implementasi Environment) adalah perangkat lunak
ML. yang menyediakan fasilitas untuk
menulis, mengedit, dan menjalankan
kode.
Pustaka ML
Pustaka ML menyediakan fungsi dan alat yang memudahkan pengembangan
model ML.
Tools yang Digunakan
• Online : https://colab.research.google.com/
• Apps : https://code.visualstudio.com/download
• Pustaka Utama dalam Implementasi Machine Learning di Python:
• Pandas: Untuk manipulasi data.
• Scikit-learn: Pustaka yang menyediakan banyak
algoritma machine learning.
• NumPy: Untuk komputasi numerik.
• Matplotlib/Seaborn: Untuk visualisasi data.
• Install Packages / Pustaka ML di terminal VS Code :
• pip install pandas scikit-learn numpy matplotlib
• Apps lain dalam ML : MatLab, R, Rapid Miner, dan lain-lain.
Konsep Dasar Machine Learning
Konsep dasar ML meliputi pembelajaran, pelatihan, dan evaluasi. Dalam
pembelajaran, model ML belajar dari data, dalam pelatihan, model tersebut
dioptimalkan, dan dalam evaluasi, kinerja model diukur.
1 Pembelajaran
Model ML belajar dari data.
2 Pelatihan
Model ML dioptimalkan.
3 Evaluasi
Kinerja model diukur.
Langkah-Langkah Implementasi
Machine Learning dengan Python
1 Memilih Dataset
• Dataset digunakan sebagai sumber data untuk melatih model. Contoh dataset yang sering
digunakan tersedia di pustaka seperti scikit-learn, Kaggle, atau bisa menggunakan dataset
lokal.
2 Preprocessing Data
• Preprocessing mencakup pembersihan data, penanganan data hilang (missing values),
encoding variabel kategorikal, normalisasi atau standardisasi data.
5 Melatih Model
• Melatih model dengan dataset yang sudah dibagi. Biasanya menggunakan fungsi .fit()
dalam pustaka scikit-learn.
6 Evaluasi Model
• Evaluasi dilakukan dengan testing set untuk melihat performa model menggunakan metrik
seperti accuracy, precision, recall, atau F1-score.
Supervised Learning: Regresi dan Klasifikasi
Supervised Learning adalah jenis ML yang menggunakan data berlabel untuk melatih model. Regresi digunakan untuk
memprediksi nilai kontinu, sedangkan klasifikasi digunakan untuk mengelompokkan data ke dalam kategori yang berbeda.
Regresi Klasifikasi
Clustering
Mengelompokkan data yang mirip.
Dimensionality Reduction
Mengurangi jumlah variabel.
Preprocessing Data: Pembersihan, Transformasi, dan
Normalisasi
Sebelum data digunakan untuk melatih model ML, data perlu dibersihkan, ditransformasikan, dan dinormalisasi. Pembersihan menghilangkan data
yang salah, transformasi mengubah data ke format yang sesuai, dan normalisasi menskalakan data ke rentang tertentu.
import pandas as pd
import numpy as np
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler, LabelEncoder, OneHotEncoder
from sklearn.impute import SimpleImputer
2. Load dataset
Sebagai contoh, kita akan menggunakan dataset sederhana dalam bentuk CSV:
# Load dataset
df = pd.read_csv('data.csv')
label_encoder = LabelEncoder()
df['Gender'] = label_encoder.fit_transform(df['Gender'])
# Contoh: 'Male' menjadi 1, 'Female' menjadi 0
• One-Hot Encoding: Mengubah kategori menjadi beberapa kolom biner (0 atau 1).
scaler = StandardScaler()
X_train = scaler.fit_transform(X_train)
X_test = scaler.transform(X_test)
import pandas as pd
import numpy as np
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler, LabelEncoder,
OneHotEncoder
from sklearn.impute import SimpleImputer
# 1. Load dataset # 5. Membagi dataset menjadi data latih dan data uji
df = pd.read_csv('data.csv') X = df.drop('Target', axis=1) # Fitur
y = df['Target'] # Target
# 2. Penanganan data hilang
imputer = SimpleImputer(strategy='mean') X_train, X_test, y_train, y_test = train_test_split(X, y,
df['Age'] = imputer.fit_transform(df[['Age']]) test_size=0.2, random_state=42)
Penjelasan:
• SimpleImputer digunakan untuk mengisi data yang hilang.
• LabelEncoder dan get_dummies digunakan untuk mengubah data kategori menjadi numerik.
• StandardScaler untuk standarisasi fitur.
Dengan preprocessing yang tepat, dataset akan siap untuk digunakan oleh model machine learning.
Model Selection dan Evaluasi Kinerja
Ada banyak model ML yang tersedia, dan memilih model yang tepat untuk masalah tertentu
sangat penting. Kinerja model dapat dievaluasi menggunakan berbagai metrik, seperti akurasi,
presisi, dan recall.
python3 linear_regression.py
Output Contoh Program Python: Linear Regression Sederhana
3. Transformers
5. Autoencoders
Dataset:
• Silakan gunakan dataset dari platform Kaggle atau dataset publik lainnya.
• Link dataset yang bisa digunakan:
• Iris Dataset: Link
• Wine Quality Dataset: Link
• Breast Cancer Dataset: Link
• Pima Indians Diabetes Dataset: Link
• House Prices - Advanced Regression Techniques: Link
• Diperbolehkan menggunakan dataset lainnya di https://www.kaggle.com/datasets
Instruksi:
Gunakan Python dan pustaka pandas, scikit-learn, matplotlib, dan seaborn untuk menyelesaikan tugas berikut:
1: Preprocessing Data
1. Load dataset menggunakan pandas.
2. Lakukan eksplorasi data:
• Tampilkan beberapa baris data menggunakan head().
• Lakukan deskripsi statistik dasar menggunakan describe().
• Cek missing values di dataset.
3. Tangani missing values:
• Jika ada data yang hilang, tangani menggunakan SimpleImputer dari scikit-learn atau metode pengisian lainnya (mean, median,
modus, atau drop).
4. Encoding: Jika ada fitur kategori, lakukan encoding menggunakan LabelEncoder atau OneHotEncoder.
5. Feature scaling: Lakukan normalisasi atau standarisasi pada data numerik menggunakan StandardScaler
atau MinMaxScaler.
2: Klasifikasi Menggunakan Logistic Regression
1. Pisahkan dataset menjadi data latih dan data uji menggunakan train_test_split dari scikit-learn.
2. Terapkan model Logistic Regression:
• Gunakan LogisticRegression dari scikit-learn untuk melatih model.
• Evaluasi model menggunakan akurasi dan confusion matrix.
3. Buat visualisasi confusion matrix menggunakan seaborn untuk menunjukkan performa model.
Pengumpulan:
• Kumpulkan kode Python dalam format Python script (.py) beserta laporan singkat (1-2
halaman) yang menjelaskan hasil yang diperoleh, evaluasi model, dan kesimpulan ke
email : [email protected]
• Presentasikan pada pertemuan di minggu ke-7 (sebelum UTS).
• Tugas ini sebagai pengganti UTS.