End-To-End AI Using Python and Web Application
End-To-End AI Using Python and Web Application
Hands-On
13/11/2024 2
Pengenalan
Machine Learning
3
Machine Learning Dalam Keseharian
13/11/2024 4
Machine Learning di bidang Manufaktur
Reliability
Optimasi
13/11/2024 5
Apa itu Machine Learning (ML)?
Field of study that gives computers
the ability to learn without being
explicitly programmed
– Arthur Samuel
13/11/2024 6
AI vs ML vs DL
13/11/2024 7
Tipe – Tipe Machine Learning
Classification
Supervised
Learning
Regression
Machine Learning
Clustering
Recommendation
Unsupervised System
Learning Dimensionality
Reduction
Association Rules
Reinforcement
Policy Optimization
Learning
13/11/2024 8
Apakah bisa
dikolaborasikan?
13/11/2024 9
Multi Output
Object Detection
13/11/2024 10
Subtask / Preprocessing
13/11/2024 11
Bagaimana Membuat Model Machine
Learning?
1. Data Wrangling 2. EDA
• Data gathering, • Univariate, Bivariate,
inspection Multivariate Analysis,
Visualization
5. Modeling 6. Evaluation
13/11/2024 12
Bagaimana Membuat Model Machine
Learning yang lebih baik?
1. Data Wrangling 2. EDA
• Data gathering, • Univariate, Bivariate,
inspection Multivariate Analysis, 1. Data Wrangling 2. Data Splitting
Visualization 0. Set-Up •Data gathering, •Train, Test, Validation
Environment inspection split
6. Evaluation 7. Deployment
5. Modeling 6. Evaluation
13/11/2024 13
Library untuk Machine Learning
13/11/2024 14
Metode Deployment
● Embedded: Model disematkan langsung
ke aplikasi (web atau mobile) dan
dijalankan di sisi klien.
13/11/2024 15
Embedded vs API/Endpoint
Embedded API / Endpoint
Kelebihan: Kelebihan:
Latensi Rendah Fleksibilitas
Offline (tidak perlu koneksi Skalabilitas
internet) Maintenance
Kekurangan: Kekurangan:
× Resource terbatas × Latensi jaringan
× Optimasi model × Keamanan & privasi data
× Maintenance × Cost
13/11/2024 16
Contoh Implementasi
Embedded: IoT Device, Edge Device API / Endpoint: Web Service App
13/11/2024 17
Sebelum Deployment…
Uji model di lokal (jupyter
notebook) dengan benar
- Pastikan model yang akan
digunakan benar
- Save & load model serta objek
lain yang dibutuhkan
- Lakukan alur proses yang sama
saat membuat model
- Minimalkan hardcoding
13/11/2024 18
Amankan Credential
Buat dokumentasi
13/11/2024 19
13/11/2024 20
Backend
Development
dengan Flask
21
Mengapa Flask?
● Simplel dan Mudah Dipelajari: Flask
tidak memiliki terlalu banyak fitur
bawaan, sehingga lebih sederhana.
● Fleksibel dan Mudah Dikustomisasi:
13/11/2024 22
Apa Itu API?
• API (Application Programming Interface) adalah jembatan yang
memungkinkan aplikasi berkomunikasi satu sama lain.
• API menyediakan endpoint yang dapat diakses oleh aplikasi lain untuk
mengambil atau mengirim data.
• Dalam konteks Flask, API digunakan untuk membangun aplikasi backend
yang bisa menerima dan merespons permintaan dari klien.
13/11/2024 23
Komunikasi Client-Server
HTTP Requests HTTP Responses
13/11/2024 24
Contoh Komunikasi Client-Server
HTTP Requests
HTTP Responses
13/11/2024 25
Cara Komunikasi Client-Server dengan Python
13/11/2024 26
Server Flask Sederhana
Import library
13/11/2024 27
Server Flask Sederhana Run Flask
Sample Output
13/11/2024 28
Flask Routing
• Dekorator route() untuk memberi
tahu Flask URL apa yang harus
memicu fungsi kita
13/11/2024 29
Flask HTTP Method
• Flask HTTP Method membuat kita bisa menentukan metode HTTP
apa yang diperbolehkan dalam routes dan apa yang kita ingin
lakukan dengan metode tersebut
• GET : untuk meminta data dari server.
• POST : untuk mengirimkan data yang akan diproses ke server.
• PUT : Permintaan untuk mengubah data di server.
• DEL : Permintaan untuk menghapus data pada server di lokasi tertentu.
13/11/2024 30
Cara Mengirimkan Data Melalui Endpoint
- Via Path Parameters
- Parameter yang disisipkan langsung dalam URL dengan
format /endpoint/<parameter>.
- Via Query Parameters
- Parameter tambahan yang ditambahkan di URL
setelah tanda ? untuk menyampaikan informasi
ringan atau filter. Contoh:
/endpoint/data?filter=name&sort=asc
- Via Body
- Data utama yang dikirim dalam permintaan HTTP,
biasanya dalam format JSON untuk metode POST.
- Digunakan untuk mengirim data besar, misalnya
objek JSON atau file.
13/11/2024 31
5 Langkah Mudah Membuat API ML dengan
Flask
Load objek
Lakukan prediksi
13/11/2024 32
Machine Learning
Web Application
dengan Streamlit
33
Mengapa Streamlit?
• Kode Minimal
• Free Server &
Deployment cepat
• Visualisasi Interaktif
• Mudah Dibagikan
13/11/2024 34
Deployment pada Streamlit Cloud
13/11/2024 35
Deployment pada Streamlit Cloud
13/11/2024 36
Deployment pada Streamlit Cloud
13/11/2024 37
Contoh ML Web App dengan Streamlit
13/11/2024 38
Hands-On
(Preparation)
39
System Requirements & Tools
System Requirements: Tools:
• Python 3.10 atau lebih • VS Code (Wajib)
• Ram min. 8 GB • Google Colab + Terminal
• Min. Free disk space 2 GB (Opsional)
• Git • Postman (Opsional)
• Docker (Opsional)
intip.in/E2EMLGL
13/11/2024 40
Set-Up Environment
13/11/2024 41
File .env
13/11/2024 42
Use Case: Iris Flower
Info Dataset
Sample Data
Sumber: archive.ics.uci.edu
13/11/2024 43
Flow Development
13/11/2024 44
Feature Engineering
● Transformasi fitur yang ada
menjadi fitur baru yang relevan
untuk meningkatkan performa
model ML.
● Contoh: Ekstraksi waktu,
Ekstraksi fitur dari domain
knowledge
45
Feature Scaling
● Min-Max Scaling, teknik
penskalaan di mana nilai-nilai
digeser dan diskalakan ulang antara
0 dan 1.
46
Web App Final
47
Peserta setelah kuliah tamu..
13/11/2024 48
Discussion
Session / QnA
13/11/2024 49
Feedback & Contact
• linkedin.com/in/muhammadnanda
• [email protected]
13/11/2024 50