0% menganggap dokumen ini bermanfaat (0 suara)
117 tayangan22 halaman

5 Implementasi Machine Learning Menggunakan Bahasa Python

Diunggah oleh

Cyclone NeverDie
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
117 tayangan22 halaman

5 Implementasi Machine Learning Menggunakan Bahasa Python

Diunggah oleh

Cyclone NeverDie
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 22

Implementasi

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.

3 Membagi Dataset (Training dan Testing Set)


• Dataset biasanya dibagi menjadi dua bagian: training set untuk melatih model dan testing set
untuk menguji performa model.

4 Memilih Algoritma Machine Learning


Beberapa algoritma ML populer:
• Regresi: Linear Regression, Logistic Regression.
• Klasifikasi: K-Nearest Neighbors (KNN), Decision Tree, Random Forest, Support Vector Machine
(SVM), Neural Networks.
• Clustering: K-Means, DBSCAN.

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

Memprediksi nilai kontinu. Mengkelompokkan data ke dalam kategori.


Unsupervised Learning:
Clustering dan Dimensionality
Reduction
Unsupervised Learning menggunakan data tanpa label untuk menemukan pola
atau struktur dalam data. Clustering mengelompokkan data yang mirip, sedangkan
Dimensionality Reduction mengurangi jumlah variabel dalam data.

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.

Pembersihan Menghilangkan data yang salah.

Transformasi Mengubah data ke format yang sesuai.

Normalisasi Menskalakan data ke rentang tertentu.


Preprocessing Data: Pembersihan, Transformasi, dan Normalisasi
Berikut adalah beberapa langkah preprocessing yang umum dilakukan dalam machine learning dengan Python menggunakan pustaka seperti pandas, scikit-learn, dan numpy.

1. Import Library yang diperlukan


Sebelum memulai preprocessing, pastikan pustaka yang dibutuhkan sudah terinstall.

pip install pandas numpy scikit-learn

Lalu, import library yang akan digunakan:

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')

# Lihat 5 data teratas untuk memastikan dataset telah dimuat


print(df.head())
Preprocessing Data: Pembersihan, Transformasi, dan Normalisasi
Berikut adalah beberapa langkah preprocessing yang umum dilakukan dalam machine learning dengan Python menggunakan pustaka seperti pandas, scikit-learn, dan numpy.

3. Penanganan Data Hilang (Missing Values)


Langkah pertama adalah menangani data yang hilang. Data yang hilang bisa diisi menggunakan metode tertentu, seperti rata-rata (mean), median, atau modus.

# Mengganti nilai yang hilang dengan rata-rata kolom


imputer = SimpleImputer(missing_values=np.nan, strategy='mean')
df['Age'] = imputer.fit_transform(df[['Age']]) # Kolom 'Age' diisi dengan rata-rata

# Mengganti nilai yang hilang dengan modus untuk data kategori


df['Gender'] = df['Gender'].fillna(df['Gender'].mode()[0]) # Kolom 'Gender' diisi dengan modus

4. Encoding Data Kategori (Label Encoding dan One-Hot Encoding)


Jika dataset memiliki variabel kategori (misalnya, jenis kelamin), kamu perlu mengubahnya menjadi format numerik. Ini bisa dilakukan dengan Label Encoding atau One-Hot Encoding.
• Label Encoding: Mengubah kategori menjadi angka (misalnya, "Laki-laki" = 0, "Perempuan" = 1).

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).

df = pd.get_dummies(df, columns=['City'], drop_first=True)


# Contoh: Kolom 'City' akan berubah menjadi beberapa kolom biner seperti 'City_New York', 'City_San Francisco'
Preprocessing Data: Pembersihan, Transformasi, dan Normalisasi
Berikut adalah beberapa langkah preprocessing yang umum dilakukan dalam machine learning dengan Python menggunakan pustaka seperti pandas, scikit-learn, dan numpy.

5. Membagi Dataset ke dalam Data Latih dan Data Uji


Setelah preprocessing, kita perlu membagi dataset menjadi data latih (training set) dan data uji (test set). Data latih digunakan untuk melatih model, sedangkan data uji
digunakan untuk menguji kinerja model.

X = df.drop('Target', axis=1) # Fitur


y = df['Target'] # Target/label

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

6. Feature Scaling (Normalisasi/Standarisasi Data)


Banyak algoritma machine learning lebih efektif bila fitur-fitur berada dalam skala yang sama. Dua teknik yang sering digunakan adalah Standardization dan Normalization.
• Standardization: Mengubah data sehingga memiliki rata-rata 0 dan standar deviasi 1.

scaler = StandardScaler()
X_train = scaler.fit_transform(X_train)
X_test = scaler.transform(X_test)

• Normalization: Mengubah data sehingga berada dalam rentang 0 hingga 1.

from sklearn.preprocessing import MinMaxScaler


normalizer = MinMaxScaler()
X_train = normalizer.fit_transform(X_train)
X_test = normalizer.transform(X_test)
Preprocessing Data: Pembersihan, Transformasi, dan Normalisasi
Berikut adalah beberapa langkah preprocessing yang umum dilakukan dalam machine learning dengan Python menggunakan pustaka seperti pandas, scikit-learn, dan numpy.

7. Preprocessing Lengkap Contoh Kode


Berikut adalah contoh lengkap preprocessing dari langkah-langkah di atas:

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)

df['Gender'] = df['Gender'].fillna(df['Gender'].mode()[0]) # 6. Standarisasi data


scaler = StandardScaler()
# 3. Label encoding pada kolom 'Gender' X_train = scaler.fit_transform(X_train)
label_encoder = LabelEncoder() X_test = scaler.transform(X_test)
df['Gender'] = label_encoder.fit_transform(df['Gender'])
# Dataset siap digunakan untuk machine learning
# 4. One-hot encoding pada kolom 'City' print("X_train: ", X_train[:5])
df = pd.get_dummies(df, columns=['City'], drop_first=True) print("y_train: ", y_train[:5])
Preprocessing Data: Pembersihan, Transformasi, dan Normalisasi
Berikut adalah beberapa langkah preprocessing yang umum dilakukan dalam machine learning dengan Python menggunakan pustaka seperti pandas, scikit-learn, dan numpy.

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.

1 Model Selection 2 Evaluasi Kinerja


Memilih model yang tepat untuk Mengukur kinerja model
masalah tertentu. menggunakan metrik.

3 Beberapa jenis model yang umum digunakan:


• Klasifikasi: Decision Tree, K-Nearest Neighbor (KNN), Support Vector Machine
(SVM), Naive Bayes, Logistic Regression.
• Regresi: Linear Regression, Polynomial Regression, Ridge Regression.
• Clustering: K-Means, Hierarchical Clustering, DBSCAN.
• Neural Networks: Deep Learning, Convolutional Neural Networks (CNN),
Recurrent Neural Networks (RNN).
• Ensemble Methods: Random Forest, Gradient Boosting, AdaBoost.
Contoh Program Python: Linear Regression Sederhana

# Import library yang diperlukan


import numpy as np
from sklearn.linear_model import LinearRegression
import matplotlib.pyplot as plt

# Membuat dataset buatan


# X sebagai fitur, y sebagai target
X = np.array([[1], [2], [3], [4], [5]]) # Fitur
y = np.array([1, 4, 9, 16, 25]) # Target (seperti fungsi kuadrat)

# Membuat model linear regression


model = LinearRegression()

# Melatih model menggunakan dataset (fitur dan target)


model.fit(X, y)

# Memprediksi nilai target berdasarkan fitur X


y_pred = model.predict(X)

# Menampilkan koefisien dan intercept dari model


print("Koefisien (Slope):", model.coef_)
print("Intercept:", model.intercept_)

# Visualisasi hasil regresi linear


plt.scatter(X, y, color='blue', label='Data Asli')
plt.plot(X, y_pred, color='red', label='Prediksi')
plt.title('Regresi Linear Sederhana')
plt.xlabel('Fitur (X)')
plt.ylabel('Target (y)')
plt.legend()
plt.show()
Jalankan perintah berikut untuk menjalankan program:

python3 linear_regression.py
Output Contoh Program Python: Linear Regression Sederhana

Program ini akan menampilkan:

• Koefisien (slope) dan intercept dari model regresi linear.

Koefisien (Slope): [6.]


Intercept: -6.9999999999999964

• Sebuah grafik yang menunjukkan data asli (dalam bentuk scatter


plot) dan garis prediksi regresi linear (garis merah).
Deep Learning: Konsep dan Penerapan
Deep Learning adalah jenis ML yang menggunakan jaringan saraf dalam untuk mempelajari representasi kompleks dari data. Deep
Learning telah sukses dalam berbagai bidang, seperti pengenalan gambar, pemrosesan bahasa alami, dan penerjemahan.

Jaringan Saraf Pengenalan Gambar Pemrosesan Bahasa Alami/.ol Penerjemahan


Menggunakan jaringan saraf dalam. Aplikasi dalam pengenalan gambar. Aplikasi dalam pemrosesan bahasa alami. Aplikasi dalam penerjemahan.

Beberapa model yang sering digunakan dalam Deep Learning adalah:


1. Convolutional Neural Networks (CNN)

2. Recurrent Neural Networks (RNN)

3. Transformers

4. Generative Adversarial Networks (GAN)

5. Autoencoders

6. Deep Q-Network (DQN)


Pengembangan Aplikasi Machine Learning
Model ML dapat diintegrasikan ke dalam aplikasi untuk meningkatkan fungsionalitas dan pengalaman pengguna. Contohnya, aplikasi e-niaga
dapat menggunakan model ML untuk merekomendasikan produk, sedangkan aplikasi kesehatan dapat menggunakan model ML untuk
mendiagnosis penyakit.

Rekomendasi Produk Diagnosis Penyakit


Aplikasi e-niaga. Aplikasi kesehatan.
Kesimpulan dan Prospek Masa Depan
Machine Learning memiliki potensi besar untuk mengubah berbagai aspek kehidupan kita. Dengan terus berkembangnya
teknologi, diharapkan ML akan semakin canggih dan dapat diaplikasikan dalam berbagai bidang.
Tugas Kelompok!
Tujuan:
1. Memahami proses preprocessing data.
2. Mengaplikasikan algoritma machine learning untuk klasifikasi dan regresi.
3. Menganalisis hasil dari model yang diterapkan.
4. Membuat visualisasi data dan performa model.

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.

3: Regresi Menggunakan Linear Regression


1. Jika dataset Anda memiliki target yang bersifat numerik (misalnya Boston Housing), terapkan Linear Regression:
• Gunakan LinearRegression dari scikit-learn untuk memprediksi target numerik.
• Evaluasi model dengan Mean Squared Error (MSE) dan R-squared.
2. Visualisasikan hubungan antara fitur dan prediksi target menggunakan scatter plot.

4: Penggunaan Algoritma Alternatif


1. Coba algoritma lain selain Logistic Regression dan Linear Regression. Misalnya:
• K-Nearest Neighbors (KNN) untuk klasifikasi.
• Decision Tree untuk klasifikasi atau regresi.
• Random Forest untuk klasifikasi atau regresi.
2. Bandingkan performa model-model tersebut dengan model sebelumnya (Logistic Regression dan Linear Regression)
berdasarkan metrik performa yang sesuai.

5: Visualisasi Data dan Hasil Model


1. Buat visualisasi korelasi menggunakan heatmap dari seaborn untuk memahami hubungan antar fitur.
2. Tampilkan plot yang menunjukkan performa model, seperti akurasi atau MSE untuk beberapa model yang Anda coba.
3. Visualisasikan distribusi data sebelum dan sesudah preprocessing, serta distribusi prediksi dibandingkan dengan
data aktual.
Penilaian:
• Preprocessing (20%): Apakah preprocessing dilakukan dengan baik? Termasuk penanganan missing values,
encoding, dan scaling.
• Implementasi Model (30%): Apakah model-machine learning diterapkan dengan benar?
Termasuk penggunaan Logistic Regression, Linear Regression, dan algoritma alternatif.
• Evaluasi Model (20%): Apakah metrik evaluasi digunakan dengan baik? Termasuk akurasi, confusion matrix,
MSE, dan R-squared.
• Visualisasi (20%): Apakah hasil visualisasi membantu dalam memahami performa model dan distribusi data?
• Dokumentasi & Kode Bersih (10%): Kode yang disusun rapi, dengan komentar yang jelas untuk menjelaskan
langkah-langkah.

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.

Anda mungkin juga menyukai