✅ 14. Machine Learning & AI dengan Python
📌 Tujuan:
- Memahami dasar Machine Learning menggunakan scikit-learn.
- Mempelajari Computer Vision menggunakan OpenCV untuk pengolahan gambar.
- Mempelajari Natural Language Processing (NLP) untuk pengolahan teks.
📌 Durasi: 2-3 bulan (tergantung kedalaman materi yang ingin dikuasai).
1️⃣ Dasar Machine Learning (scikit-learn)
📌 Apa itu Machine Learning?
Machine Learning (ML) adalah cabang AI yang memungkinkan komputer belajar dari data untuk membuat prediksi atau keputusan tanpa diprogram secara eksplisit.
📌 Library utama yang digunakan:
✅ scikit-learn → Untuk model Machine Learning dasar (klasifikasi, regresi, clustering).
✅ pandas & numpy → Untuk manipulasi data.
✅ matplotlib & seaborn → Untuk visualisasi data.
🔹 Instalasi Library
pip install scikit-learn pandas numpy matplotlib seaborn
🔹 Contoh Machine Learning: Prediksi Harga Rumah (Regresi)
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression
from sklearn.metrics import mean_absolute_error
# Data Sederhana (Harga Rumah)
data = {
'Luas (m2)': [30, 50, 80, 100, 150, 200],
'Harga (jt)': [300, 500, 800, 1000, 1500, 2000]
}
df = pd.DataFrame(data)
# Memisahkan fitur dan target
X = df[['Luas (m2)']]
y = df['Harga (jt)']
# Membagi data menjadi training dan testing
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
# Melatih model Linear Regression
model = LinearRegression()
model.fit(X_train, y_train)
# Memprediksi harga rumah
y_pred = model.predict(X_test)
# Menampilkan hasil
plt.scatter(X, y, color='blue', label='Data Asli')
plt.plot(X, model.predict(X), color='red', label='Prediksi')
plt.xlabel("Luas (m2)")
plt.ylabel("Harga (jt)")
plt.legend()
plt.show()
# Evaluasi model
print("Mean Absolute Error:", mean_absolute_error(y_test, y_pred))
📌 Penjelasan:
✅ Linear Regression digunakan untuk memprediksi harga rumah berdasarkan luasnya.
✅ train_test_split() membagi data menjadi training (80%) dan testing (20%).
✅ mean_absolute_error() digunakan untuk mengukur akurasi model.
🔥 Selanjutnya: Coba model lain seperti Decision Tree atau Random Forest!
2️⃣ Computer Vision (OpenCV)
📌 Apa itu Computer Vision?
- Computer Vision memungkinkan komputer mengenali dan memahami gambar/video.
- Digunakan untuk deteksi objek, pengenalan wajah, OCR (Optical Character Recognition), dan lain-lain.
📌 Library utama yang digunakan:
✅ OpenCV → Untuk manipulasi gambar & video.
✅ Pillow → Untuk manipulasi gambar sederhana.
🔹 Instalasi Library
pip install opencv-python pillow
🔹 Contoh: Menampilkan dan Mengubah Gambar dengan OpenCV
import cv2
# Membaca gambar
image = cv2.imread("gambar.jpg")
# Menampilkan gambar
cv2.imshow("Gambar Asli", image)
cv2.waitKey(0) # Menunggu input sebelum menutup gambar
cv2.destroyAllWindows()
📌 Penjelasan:
✅ cv2.imread() membaca gambar dari file.
✅ cv2.imshow() menampilkan gambar di jendela baru.
✅ cv2.waitKey(0) menunggu input sebelum menutup gambar.
🔹 Contoh: Deteksi Wajah dengan OpenCV
import cv2
# Load model deteksi wajah dari OpenCV
face_cascade = cv2.CascadeClassifier(cv2.data.haarcascades + 'haarcascade_frontalface_default.xml')
# Membaca gambar
image = cv2.imread("wajah.jpg")
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
# Mendeteksi wajah
faces = face_cascade.detectMultiScale(gray, scaleFactor=1.1, minNeighbors=5, minSize=(30, 30))
# Menggambar kotak di sekitar wajah
for (x, y, w, h) in faces:
cv2.rectangle(image, (x, y), (x+w, y+h), (0, 255, 0), 2)
# Menampilkan hasil
cv2.imshow("Deteksi Wajah", image)
cv2.waitKey(0)
cv2.destroyAllWindows()
📌 Penjelasan:
✅ OpenCV memiliki model deteksi wajah bawaan!
✅ detectMultiScale() digunakan untuk menemukan wajah dalam gambar.
✅ Menggambar kotak hijau di sekitar wajah yang terdeteksi.
🔥 Selanjutnya: Coba deteksi wajah dari video atau kamera langsung!
3️⃣ NLP (Natural Language Processing)
📌 Apa itu NLP?
Natural Language Processing (NLP) adalah bidang AI yang berfokus pada pemrosesan dan analisis teks.
📌 Library utama yang digunakan:
✅ nltk → Natural Language Toolkit untuk pemrosesan teks.
✅ spaCy → NLP tingkat lanjut & lebih cepat dibanding nltk.
🔹 Instalasi Library
pip install nltk spacy
🔹 Contoh: Tokenisasi & Penghapusan Stopwords dengan NLTK
import nltk
from nltk.tokenize import word_tokenize
from nltk.corpus import stopwords
# Unduh dataset stopwords
nltk.download('punkt')
nltk.download('stopwords')
# Teks contoh
text = "Saya ingin belajar Machine Learning dengan Python!"
# Tokenisasi kata
tokens = word_tokenize(text)
print("Tokenisasi:", tokens)
# Menghapus stopwords
filtered_tokens = [word for word in tokens if word.lower() not in stopwords.words('indonesian')]
print("Setelah Stopwords Dihapus:", filtered_tokens)
📌 Penjelasan:
✅ Tokenisasi → Memisahkan teks menjadi kata-kata terpisah.
✅ Stopwords → Kata-kata umum seperti "dan", "ke", "dari" yang dihapus agar tidak mengganggu analisis.
🔹 Contoh: Analisis Sentimen Sederhana
from textblob import TextBlob
# Instalasi Library
# pip install textblob
# Contoh teks
text = "Saya sangat senang dengan produk ini, kualitasnya bagus!"
# Analisis sentimen
blob = TextBlob(text)
print("Sentimen:", blob.sentiment.polarity)
📌 Penjelasan:
✅ TextBlob.sentiment.polarity → Mengembalikan nilai antara -1 (negatif) hingga 1 (positif).
🔥 Selanjutnya: Gunakan model NLP berbasis AI seperti BERT atau GPT untuk analisis lebih kompleks!
📌 Kesimpulan
✅ Machine Learning → Gunakan scikit-learn untuk model prediksi sederhana.
✅ Computer Vision → Gunakan OpenCV untuk deteksi wajah & pengolahan gambar.
✅ NLP → Gunakan NLTK atau spaCy untuk pemrosesan teks.
🚀 Selanjutnya: Integrasikan AI ke dalam aplikasi web atau chatbot AI untuk marketplace!
Mau lanjut ke Deep Learning dengan TensorFlow/PyTorch? 🔥
Tidak ada komentar:
Posting Komentar