0% menganggap dokumen ini bermanfaat (0 suara)
26 tayangan50 halaman

End-To-End AI Using Python and Web Application

Diunggah oleh

ndrojaya
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)
26 tayangan50 halaman

End-To-End AI Using Python and Web Application

Diunggah oleh

ndrojaya
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/ 50

Kuliah Tamu

Rabu, 13 November 2024

End-to-End AI Using Python


and Web Application
Oleh Muhammad Nanda S. / Data Scientist PT. SML
Outline

Pengenalan Machine Learning

Backend Development dengan Flask

Machine Learning Web Application dengan Streamlit

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

Machine Learning is the study of


computer algorithms that improve
automatically through experience
– Tom Mitchel

13/11/2024 6
AI vs ML vs DL

Sumber Gambar: researchgate.net

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

Sumber Gambar: Wikipedia

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

3. Data 4. Data Splitting


Preprocessing • Train, Test, Validation
• Feature engineering, split
Scaling, Imputation

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

3. Data 4. Data Splitting 3. EDA 4. Data


Preprocessing • Train, Test, Validation •Univariate, Bivariate, Preprocessing
Multivariate Analysis, 5. Modeling
• Feature engineering, split Visualization
•Feature engineering,
Scaling, Imputation
Scaling, Imputation

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.

● API / Endpoint: Model ditempatkan di


server dan diakses oleh aplikasi melalui
Application Programming Interface (API).

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

Sumber Gambar: bernardmarr.com Sumber Gambar: researchgate.net

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

Verifikasi hasil inferensi di lokal dan API


Tips Optimalkan waktu inferensi
Deployment
User friendly

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:

Developer bisa menambahkan fitur yang


dibutuhkan tanpa harus mengikuti
struktur yang rumit.
● Cocok untuk API: Ideal untuk
pengembangan API atau aplikasi web
yang ringan.

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

Request line, berisikan Status line, berisikan versi HTTP


method/verb, path atau alamat yang digunakan, status code, &
yang diminta, dan versi HTTP yang reason phrase
digunakan. Header, mengandung informasi
Header, memuat informasi yang yang dilampirkan terkait response
dilampirkan terkait request seperti seperti format dokumen.
format dokumen. Contoh, Body (Opsional), memuat data yang
application/json atau text/html dikirimkan oleh server. Data dapat
Body (Opsional), mengandung data berupa HTML, JSON, gambar, dsb.
yang dibutuhkan oleh server

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

Initiate Flask Instances


Flask Routing

Run Flask app

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

Baca input data (user)

Proses data agar sesuai input ke model

Lakukan prediksi

Sesuaikan output untuk diberikan kepada user

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

File yang harus


tersedia (minimal)

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.

● Z-Score Normalization, teknik


penskalaan di mana nilai-nilai
dipusatkan di sekitar nilai rata-rata
dengan deviasi standar satuan.

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

Anda mungkin juga menyukai