Anda di halaman 1dari 54

#2

Pengenalan Machine
Learning ___
Workshop: Python Dasar #2, Machine Learning
dan Computer Vision #2
Salam Kenal ___
Nama : Ajang Rahmat
Kesibukan : Author KelasRobot.com
: Mahasiswa Informatika UNSIA
Asal : Sumedang, Jawa Barat
Hobi : Microcontroller
: Internet of Things
: Artificial Intelligence

Slide
No. 2
Outline ___
● Pengenalan Machine Learning
● Python Dasar #2
● Machine Learning
● Computer Vision #2
● Diskusi Goal Proyek AI

Slide
No. 3
Pengenalan Machine
Learning ___
Sumber Gambar:
https://www.meteoprog.com/ind/weath
Prakiraan Cuaca ___ er/Dzakarta/month/may/

Slide
No. 5
Spam Filtering ___

Slide
No. 6
Sumber Gambar:
https://support.apple.com/en-us/HT208
Face Unlock___ 109

Slide
No. 7
Sumber Gambar:
https://www.tesla.com/autopilot
Autopilot Tesla___

Slide
No. 8
Machine Learning Itu
Apa? ___
Machine Learning ___
Masih bagian / sub bidang Artificial Intelligence.
Mempelajari algoritma dan model statistik yang memungkinkan
komputer untuk belajar dan melakukan tugas-tugas tertentu
tanpa pemrograman eksplisit.

Slide
No. 10
Machine Learning VS Traditional
Programming ___
Sumber Gambar:
https://efxa.org/2021/04/17/tradition
al-programming-and-machine-learni
ng/

Slide
No. 11
Sumber Gambar :
https://medium.com/@pytyagi/work-
Machine Learning Flow ___ flow-in-machine-learning-project-32
7eddb946b4

Slide
No. 12
Machine Learning Algorithm ___

Sumber Gambar:
https://dqlab.id/variasi-jenis-algorit
ma-machine-learning-sudah-tahu

Slide
No. 13
Kategori Machine Learning ___

Slide
No. 14
Supervised Machine Learning? ___

Pembelajaran yang ada supervisornya.


Supervisor bisa kita anggap sebagai label yang terdapat pada tiap
data. Label adalah tag yang di tambahkan pada Machine Learning
Model.
Contoh: gambar apel kita kasih tag “apel”.
Supervised Machine Learning memprediksi pola dimana pola tersebut
sudah ada contoh data yang lengkap.
Slide
No. 15
Supervised Machine Learning? ___

Slide
No. 16
Supervised ML (Type Problem Suited) ___

1. CLASSIFICATION
Mengurutkan data berdasarkan Kategori.
2. REGRESSION
Identifikasi nilai asli (mata uang, tinggi badan, dll)

Slide
No. 17
Contoh Algoritma Supervised ML ___

1. Linear Regression
2. Decision Tree
3. Support Machine Vector
4. K-Nearest Neighbor
5. Naive Bayes
dll…

Slide
No. 18
Unsupervised Machine Learning? ___
Jika pada Supervised Leaning menggunakan label, pada Unsupervised

Learning tidak menggunakan label.

Unsupervised Learning menggunakan kesamaan dari data2 yang

dimiliki, kemudian di kelompok-kelompokan (Clustering).

Jumlah cluster bisa tidak terbatas (Unlimited). Jika ada data baru yang

mau di prediksi, maka akan dikelompokan dengan data yang sama

atau mirip-mirip.

Slide
No. 19
Unsupervised Machine Learning? ___

Slide
No. 20
Unsupervised ML (Type Problem Suited)_ ___

1. CLUSTERING
Identifikasi kesamaan ke dalam kelompok-kelompok.
2. ANOMALY DETECTION
Identifikasi Anomali (Keganjilan, Keanehan) dalam data.

Slide
No. 21
Contoh Algoritma Unsupervised ML ___

1. K-Means Clustering
2. Principal Component Analysis
3. Apriori (Association Analysis)
dll….

Slide
No. 22
Pengenalan
Algoritma K-NN ___
Algoritma K-NN ___

K-NN (K-Nearest Neighbor) adalah algoritma Supervised Learning


paling sederhana dan populer digunakan untuk klasifikasi data.
Berdasarkan tetangga terdekat.
1. Sederhana
2. Mudah untuk di implementasikan
3. Bisa untuk Classification dan Regression

Slide
No. 24
Breakdown Algoritma K-NN ___

K-NN termasuk kedalam Supervised Machine Learning.


Bayangkan mesin adalah seorang anak, dan kita adalah supervisornya
(orang tua, guru).
Dan kita ingin anak kita belajar seperti apa warna biru.
Maka kita tunjukan object warna biru, dan kasih tau ke dia kalo ini
warna biru.

Slide
No. 25
Cara Kerja Algoritma K-NN ___

Misal ada rumah yang posisi-nya perbatasan antara Sumedang -


Bandung, kita ingin menentukan rumah tersebut masuk ke Sumedang
atau Bandung???
Dengan K-NN kita bisa pilih misal 3 rumah tetangga terdekat (K-3)
dari rumah tersebut. Ternyata 2 dari 3 rumah tetangga terdekat
tersebut berada di Sumedang, 1 berada di bandung.
Rumah tersebut berada di Sumedang.
Slide
No. 26
Cara Kerja Algoritma K-NN ___

Sumber Gambar:
https://medium.com/@annisash
ofuran19/k-nearest-neighborsmeng
gunakan-python-56dbd0d 12647

Slide
No. 27
Mulai Ngoding
Machine Learning ___
Persiapan Software ___
1. Google Colab
https://colab.research.google.com/
2. Thonny IDE
Download: https://thonny.org/

Slide
No. 29
Import Package ___
import numpy as np
from sklearn.model_selection import train_test_split
from sklearn.neighbors import KNeighborsClassifier
from sklearn.metrics import accuracy_score

Slide
No. 30
Contoh Data Nilai Siswa ( DATASET ) ___
data_siswa = np.array([[70, 80, 75, 85, 1],
[90, 85, 95, 80, 1],
[65, 75, 70, 60, 0],
[85, 80, 90, 75, 0],
[60, 70, 65, 55, 1]])
kelulusan = np.array(['Lulus', 'Lulus', 'Tidak Lulus',
'Lulus', 'Tidak Lulus'])

Slide
No. 31
Bagi data_train data_test ___
X_train, X_test, y_train, y_test =
train_test_split(data_siswa, kelulusan, test_size=0.2,
random_state=42)

Slide
No. 32
Membuat Object KNN Classifier ___
knn = KNeighborsClassifier(n_neighbors=3)

Slide
No. 33
Melatih model dengan data train ___
knn.fit(X_train, y_train)

Slide
No. 34
Memprediksi dengan data Test ___
y_pred = knn.predict(X_test)

Slide
No. 35
Menghitung Akurasi ___
accuracy = accuracy_score(y_test, y_pred)
print("Akurasi:", accuracy)

Slide
No. 36
Coba Sistem Nya ___
nilai_siswa = []
for i in range(4):
nilai = float(input(f"Masukkan nilai ke-{i+1}: "))
nilai_siswa.append(nilai)

ekstrakurikuler = int(input("Masukkan informasi


ekstrakurikuler (0 = Tidak ada, 1 = Ada): "))
nilai_siswa.append(ekstrakurikuler)

prediksi_kelulusan = knn.predict([nilai_siswa])

print("Prediksi Kelulusan: ", prediksi_kelulusan[0])

Slide
No. 37
Export Model ___
import joblib
joblib.dump(knn, 'model_knn.pkl')

Slide
No. 38
Import Model ___
model = joblib.load('model_knn.pkl')

nilai_siswa = []
for i in range(4):
nilai = float(input(f"Masukkan nilai ke-{i+1}: "))
nilai_siswa.append(nilai)

ekstrakurikuler = int(input("Masukkan informasi


ekstrakurikuler (0 = Tidak ada, 1 = Ada): "))
nilai_siswa.append(ekstrakurikuler)

prediksi_kelulusan = model.predict([nilai_siswa])
print("Prediksi Kelulusan: ", prediksi_kelulusan[0])
Slide
No. 39
Tantangan ___
Perbaharui koding projectnya, tambahkan:
1. Dapatkan Dataset CSV dari https://www.kaggle.com/
2. Import Dataset menggunakan package Pandas
3. Normalisasi terlebih dahulu data nya
4. Visualisasikan menggunakan package Matplotlib
5. Training dan Uji Hasil Modelnya

Slide
No. 40
Computer Vision #2
___
Object Tracking ___

Sumber Gambar:
https://www.maxongroup.co.uk/max
on/view/application/Intelligent-robot
s-for-research-and-soccer Slide
No. 42
Install Package opencv-python ___
Klik menu Tools, lalu pilih Manage package… cari
opencv-python

Slide
No. 43
Klik Install

Slide
No. 44
Import, Range Warna, Video Stream ___
import cv2
import numpy as np

# Menentukan range warna kuning dalam HSV


lower_yellow = np.array([20, 100, 100])
upper_yellow = np.array([40, 255, 255])

# Inisialisasi video stream


cap = cv2.VideoCapture(0)

Slide
No. 45
Membaca Frame ___
while True:

# Membaca frame dari video stream


ret, frame = cap.read()
if not ret:
break

Slide
No. 46
BGR2HSV, Threshold, Noise Cleaner ___
# Mengubah frame menjadi format HSV
hsv = cv2.cvtColor(frame, cv2.COLOR_BGR2HSV)

# Menerapkan thresholding untuk mendapatkan hanya objek dengan warna kuning


mask = cv2.inRange(hsv, lower_yellow, upper_yellow)

# Melakukan operasi morfologi (erosi dan dilasi) untuk membersihkan noise


mask = cv2.erode(mask, None, iterations=2)
mask = cv2.dilate(mask, None, iterations=2)

Di dalam
while True

Slide
No. 47
Mencari Countours ___
# Mencari kontur dari objek yang terdeteksi
contours, _ = cv2.findContours(mask.copy(), cv2.RETR_EXTERNAL,
cv2.CHAIN_APPROX_SIMPLE)

Di dalam
while True

Slide
No. 48
Localization ___
# Menggambar kotak dan titik tengah pada objek yang terdeteksi
for contour in contours:
if cv2.contourArea(contour) > 100:
(x, y, w, h) = cv2.boundingRect(contour)
cv2.rectangle(frame, (x, y), (x + w, y + h), (0, 255, 255), 2)

Di dalam
while True

Slide
No. 49
Menampilkan Frame ___
# Menampilkan frame yang telah diolah
cv2.imshow('Yellow Ball Tracking', frame)

# Menghentikan program jika tombol 'q' ditekan


if cv2.waitKey(1) & 0xFF == ord('q'):
break

Di dalam
while True

Slide
No. 50
Release Frame, Close Windows ___
# Membersihkan variabel dan menutup video stream
cap.release()
cv2.destroyAllWindows()

Slide
No. 51
Jarak Objek, Lokasi Objek ___
# Diameter bola kuning dalam piksel
ball_diameter = 50
# Jarak antara bola kuning dan kamera (misalnya dalam cm)
distance = 100

#di dalam while True


cx = x + w // 2
cy = y + h // 2
cv2.circle(frame, (cx, cy), 5, (0, 255, 255), -1)
cv2.putText(frame, f'({cx}, {cy})', (cx + 10, cy - 10),
cv2.FONT_HERSHEY_SIMPLEX, 0.5, (0, 255, 255), 2)

# Menghitung jarak berdasarkan ukuran objek dan persamaan jarak


pixel_size = max(w, h)
estimated_distance = (ball_diameter * distance) / pixel_size
cv2.putText(frame, f'Distance: {estimated_distance} cm', (10, 30),
cv2.FONT_HERSHEY_SIMPLEX, 0.7, (0, 255, 255), 2)

Slide
No. 52
Tantangan ___
Perbaharui koding projectnya, tambahkan:
1. Menampilkan jarak tiap objek
2. Bisa deteksi lebih dari 1 warna

Slide
No. 53
Mutualan Yuk :)

Facebook : https://www.facebook.com/ajangrahmat

Instagram : https://www.instagram.com/ajangrahmat

Youtube : https://www.youtube.com/@programmersehat

Anda mungkin juga menyukai