• Tidak ada hasil yang ditemukan

Data Science Bootcamp Introduction

N/A
N/A
Protected

Academic year: 2022

Membagikan "Data Science Bootcamp Introduction"

Copied!
80
0
0

Teks penuh

(1)

Data Science | Bootcamp

Introduction

(2)

Introduction

DAT A

OIL

IS THE NEW

[Oil] has to be changed into gas, plastic, chemicals, etc. to create a valuable entity

that drives profitable activity; so, data must be broken down and analyzed for it

to have value.

- Clive Robert Humby

(3)

Introduction

dimana Data Science bisa berguna?

Self-Driving Car

Self-Driving Car ini memanfaatkan berbagai macam teknologi canggih seperti: pendeteksian dan pengenalan objek (rambu lalu lintas, kendaraan, manusia, dsb.), estimasi jarak, voice-assistant dan sistem cerdas untuk mengendalikan pergerakan mobil

(4)

Introduction

dimana Data Science bisa berguna?

Churn Prediction merupakan tindakan preventif yang dilakukan untuk mempertahankan pelanggan agar tetap

berlangganan pada suatu layanan jasa maupun produk Hal ini bertujuan untuk mengembangkan bisnis dengan

cara menjaga hubungan baik dengan pelanggan

Churn Prediction

(5)

Introduction

dimana Data Science bisa berguna?

Machine Translation mungkin adalah teknologi yang paling familiar karena penerapannya yang mudah ditemui dan aksesnya-pun terjangkau, contoh saja Google Translate yang telah mendukung lebih dari 100

bahasa di dunia

Machine Translation

(6)

Introduction

jenis Data ada bermacam-macam

Gambar

255 255 … 255 255 255 … 255 255 255 … 255 255 255 … 255 255 255 … 255

Piksel

0 128 255

(7)

Introduction

(8)

Introduction

jenis Data ada bermacam-macam

Indonesia adalah sebuah

negara

Teks

Indonesia adalah sebuah negara

0.25 0.25 0.25 0.25

Vektorisasi

=

vektor

bobot

(9)

Introduction

jenis Data ada bermacam-macam

Suara frekuensi

osilasi perdetik

amplitudo tinggi/rendahnya

suara

tabel / dataframe

(10)

Introduction

jenis Data ada bermacam-macam

Data Tabular / DataFrame

data kategorikal

data nominal

class code

Economy 3

Business 2 First Class 1

data ordinal

(11)

Introduction

Disciplines in

Data Science

(12)

Introduction

Workflow pada Data Science

Business Understanding

1 Data

Acquisition

2 Data

Preprocessing

3

• Memahami permasalahan

• Mencari opsi solusi

• Menentukan data yang diperlukan

• Mengumpulkan data

• Eksplorasi data untuk menentukan variabel yang penting

• Membersihkan data dari informasi yang tidak diperlukan, outlier (pencilan)

• Feature Engineering, yaitu memanipulasi data agar dapat diperoleh fitur/variabel yang lebih informatif, konversi data dari kategorikal menjadi nominal, dan sebagainya.

(13)

Introduction

Workflow pada Data Science

Model Building

4 Model

Evaluation

5 Model

Deployment

6

Model Performance

Monitoring

7

• Membuat atau Memilih model yang sesuai dengan jenis kasus

• Melatih model dengan data hasil preprocessing

• Mengevaluasi performansi model dengan metrics tertentu, misalkan akurasi

• Mengimplementasika n model pada sistem

• Mengawasi performa model ketika diterapkan pada kasus nyata

(14)

Introduction

Workflow pada Data Science

Business Understanding

1 Data

Acquisition

2 Data

Preprocessing

3

Model Building

4 Model

Evaluation

5 Model

Deployment

6

Model Performance

Monitoring

7

harapan kenyataan

memilih nilai hyperparameter

terbaik yang dilakukan oleh suatu algoritma Hyperparameter

Tuning

(15)

Introduction

Tools pada Data Science

Bahasa Pemrograman

Database

Visualisasi Data

(16)

Introduction

Tools pada Data Science

Data Modelling &

Preprocessing Model Deployment

Modelling Framework

(17)

Artificial Intelligence

Lalu, apakah

AI = Data Science?

(18)

Artificial Intelligence

AI artificial intelligence

kecerdasan buatan

sistem komputer yang dapat melakukan pekerjaan yang biasanya memerlukan tenaga manusia atau kecerdasan manusia

kecerdasan tersebut dapat diperoleh dari aturan yang ditanamkan pada

sistem maupun hasil pembelajaran terhadap suatu pola pada data

(19)

Artificial Intelligence

AI

Computer Vision

Speech Processing Internet of Things

Robotics Machine Learning

Natural Language Processing

(20)

Artificial Intelligence

konsep dari machine learning (ML) meniru cara kerja otak manusia karenanya sistem yang dikembangkan perlu mempelajari data historis

(data masa lampau) untuk mengenali pola atau aturan sebelum dilakukan pengujian, tujuannya agar model ML dapat melakukan

pekerjaan dengan benar

machine

learning ?

(21)

Artificial Intelligence

inputan

hasil

inputan

hasil

(22)

Artificial Intelligence

Tipe Machine Learning

Supervised Learning

Regression: memprediksi target yang bernilai kontinyu

Classification: memprediksi target yang bernilai diskrit (kategorikal)

soal + jawaban

Pembelajaran yang dilakukan menggunakan data fitur (independent variable) dan data target (dependent variable)

▪ Linear Regression

▪ Support Vector Machine (Regression)

▪ Decision Tree (Regression)

▪ K-Nearest Neighbor (Regression)

▪ Logistic Regression

▪ Support Vector Machine (Classifier)

▪ Multi-Layer Perceptron (Classifier)

▪ Decision Tree (Classifier)

▪ Random Forest (Classifier)

▪ K-Nearest Neighbor (Classifier)

(23)

Artificial Intelligence

Tipe Machine Learning

Supervised Learning

jumlah_kaki makanan warna

4 rumput putih

4 daging coklat

kelas

sapi singa soal latihan

jawaban

jumlah_kaki makanan warna

4 rumput putih

kelas

? soal ujian

jawaban

(24)

Artificial Intelligence

Tipe Machine Learning

Unsupervised Learning

Clustering: mengelompokan data berdasarkan pola pada data fitur

Dimensionality Reduction: mengurangi ukuran dimensi data dengan cara mencari fitur yang terbaik

soal

Pembelajaran yang dilakukan menggunakan data fitur (independent variable) saja

▪ K-Means

▪ DBSCAN

▪ Gaussian Mixture Model (GMM)

▪ Principal Component Analysis (PCA)

▪ Singular Value Decomposition (SVD)

▪ Linear Discriminant Analysis (LDA)

(25)

Artificial Intelligence

Tipe Machine Learning

Unsupervised Learning

Clustering

(26)

Artificial Intelligence

Tipe Machine Learning

Unsupervised Learning

Dimensionality Reduction

(27)

Artificial Intelligence

Tipe Machine Learning

Semi-Supervised Learning

Proses Pembelajaran

1. pada tahap pertama model dilatih (training) menggunakan data yang terdiri dari fitur dan target (data A),

2. model hasil training digunakan untuk memprediksi target berdasarkan pada fitur dari data B,

3. hasil prediksi tersebut digabungkan dengan fitur data B dan dianggap sebagai data target / jawaban,

4. pada tahap kedua data A dan data B digabungkan menjadi satu dataset, dan digunakan lagi untuk melatih model.

soal + jawaban

(data A) soal

(data B)

(28)

Artificial Intelligence

(29)

Artificial Intelligence

pada dasarnya deep learning hanyalah istilah yang merujuk pada pengaplikasian Deep Neural Network (DNN) terhadap kasus tertentu sama seperti ML, model DL juga perlu dilatih menggunakan data historis

(data masa lampau), pembedanya adalah tahap ekstraksi ciri dapat dilakukan secara otomatis tanpa campur tangan developer

deep

learning ?

(30)

Artificial Intelligence

deep learning seringnya diimplementasikan pada kasus yang berhubungan dengan Computer Vision maupun Natural Language Processing karena kemampuannya yang dapat meng-ekstraksi banyak

informasi secara mandiri

Chatbot Object Recognition Speech-to-Text

(31)

Artificial Intelligence

sedangkan machine learning lebih sering diaplikasikan pada kasus Data Mining (penambangan data) yang bertujuan untuk menemukan pola dari

suatu data yang dapat mengarahkan pada informasi tertentu

Stock Forecasting Fraud Detection

Recommender System

(32)

Artificial Intelligence

contoh

Deep Learning

Lip-Reading

Recognition

(33)

Artificial Intelligence

contoh

Deep Learning

Object Segmentation

(34)

Artificial Intelligence

contoh

Deep Learning

Object Recognition & Segmentation

(35)

Data

Acquisition

(36)

Data Acquisition

dalam pengumpulan data terdapat beberapa cara yang dapat dilakukan

Survey membuat formulir (google form), kuesioner, dan wawancara pada beberapa narasumber

Bank Data

visualdata.io

(37)

Data

Preprocessing

(38)

Data Preprocessing

setelah diperoleh data yang diperlukan, tentunya data perlu diperiksa berdasarkan beberapa aspek

Missing Values Data Duplikat

Tipe Data Skala Data

Proporsi Data Data Encoding Data Outlier

(39)

Data Preprocessing

WHAT’S MISSING?

pemeriksaan missing value dapat dilakukan menggunakan library pandas

Missing Values

untuk apa dilakukan pemeriksaan missing values?

sebagian besar algoritma ML akan memunculkan error apabila terdapat data yang hilang

contoh algoritma ML yang adaptif terhadap data yang hilang adalah K-Nearest Neighbor (K-NN)

(nilai yang hilang yang disimbolkan dengan null atau NaN –not a number)

(40)

Data Preprocessing

Missing Values

terus gimana kalau ditemukan missing values?

metode untuk menangani data yang hilang disebut dengan data imputation, yaitu mengisi data yang hilang dengan suatu nilai namun, apabila persentase data yang hilang melebih 50%, maka fitur tersebut boleh tidak digunakan

teknik data

numerik

data kategorikal nilai rata-rata

(mean)

nilai yang sering muncul

(modus)

nilai tertentu

(manual)

(41)

Data Preprocessing

pemeriksaan data duplikat dapat dilakukan menggunakan library pandas

Data Duplikat

untuk apa dilakukan pemeriksaan data duplikat?

data duplikat yang jumlahnya sedikit bukanlah masalah, tetapi jika jumlahnya banyak akan mempengaruhi performa ML

karena model yang dihasilkan cenderung menganggap data tersebut lebih penting daripada data yang lainnya (istilah kerennya: bias)

(42)

Data Preprocessing

Data Duplikat

terus gimana kalau ditemukan data duplikat?

mudah! hapus saja data yang duplikat dan sisakan salah satunya

(43)

Data Preprocessing

pemeriksaan tipe data dapat dilakukan menggunakan library pandas

Tipe Data

untuk apa dilakukan pemeriksaan tipe data?

seperti contoh di sebelah kiri, “price” atau harga seharusnya berupa angka, tapi di sini dianggap sebagai object

otomatis nilai-nilai yang terdapat di dalam fitur tersebut tidak dapat diolah secara matematis

(note: string = object; pada pandas dataframe)

(44)

Data Preprocessing

Tipe Data

terus gimana kalau ditemukan data duplikat?

konversi tipe datanya menjadi integer

hal ini juga dapat dilakukan apabila terdapat kasus yang sama pada fitur yang lainnya

(45)

Data Preprocessing

pemeriksaan skala data

dapat dilakukan

menggunakan library pandas

Skala Data

untuk apa dilakukan pemeriksaan skala data?

rentang nilai antar-data sangat berpengaruh terhadap performansi model, semakin besar nilainya maka akan dianggap semakin berbobot (penting) sehingga, perlu dilakukan penyamaan skala data terhadap masing-masing fitur

(46)

Data Preprocessing

Skala Data

terus gimana kalau skala datanya tidak sama?

untuk menangani permasalahan ini terdapat dua pendekatan yang dapat dilakukan:

(47)

Data Preprocessing

Skala Data

values 90 85 35 70 45 100

normalization 0.8461 0.7692

0 0.5384 0.1538

1

(48)

Data Preprocessing

Skala Data

values 90 85 35 70 45 100

standardization 0.8086 0.5976 -1.5117 -0.0351 -1.0899 1.2305

(49)

Data Preprocessing

pemeriksaan data outlier

dapat dilakukan

menggunakan library pandas

Data Outlier

untuk apa dilakukan pemeriksaan data outlier?

outlier atau pencilan merupakan sampel data yang nilainya berbeda jauh dengan nilai pada sampel data lainnya, nilai unik ini dapat muncul karena kesalahan dalam pengumpulan data maupun memang terdapat anomali pada kasus yang sedang diobservasi sehingga terdapat outlier

hal ini dapat mengganggu analisis statistika apabila dibiarkan begitu saja, oleh karena itu perlu dihilangkan

(50)

Data Preprocessing

pemeriksaan proporsi data

dapat dilakukan

menggunakan library pandas

Proporsi Data

untuk apa dilakukan pemeriksaan proporsi data?

dataset (khsususnya kasus classification) yang memiliki jumlah kelas yang tidak seimbang akan menjadikan model kurang adaptif terhadap data baru, dan cenderung bias terhadap kelas yang jumlah sampelnya lebih banyak

(51)

Data Preprocessing

Proporsi Data

terus gimana kalau proporsi datanya tidak seimbang?

untuk menangani permasalahan ini dapat dilakukan metode sampling:

• over-sampling (menambah data)

• under-sampling (mengurangi data)

(52)

Data Preprocessing

Proporsi Data

• over-sampling (menambah data)

salah satu metode yang dapat digunakan adalah SMOTE (Synthetic Minority Oversampling Technique) yang cara kerjanya menciptakan data sintetik (buatan) berdasarkan data yang sudah ada

data asli

data sintetik diciptakan berdasarkan pada sejumlah tetangga terdekat, tepatnya data diciptakan pada lintasan dari sejumlah data tersebut

jumlah data yang dijadikan acuan dapat diatur, pada contoh di samping terdapat empat sampel

proses over-sampling

data hasil over-sampling

(53)

Data Preprocessing

Proporsi Data

• under-sampling (mengurangi data)

metode yang umum digunakan adalah Random Under-sampling, beberapa data pada kelas major (jumlah terbanyak) akan dihapus secara acak hingga jumlahnya sama dengan data pada kelas minor (jumlah paling sedikit)

data asli

beberapa data dihapus secara acak

proses under-sampling

data hasil under-sampling

(54)

Data Preprocessing

data encoding dapat dilakukan menggunakan library pandas maupun sklearn

Data Encoding

untuk apa dilakukan data encoding?

data encoding merupakan tahapan penerjemahan kategori/kelas menjadi angka agar komputer dapat memahami data yang akan diolah

hal ini dapat dilakukan ketika menangani kasus klasifikasi menggunakan metode: Label Encoding atau One-Hot Encoding

(55)

Data Preprocessing

Data Encoding

• label-encoding

mengubah nama kategori menjadi angka, dengan aturan penomoran sesuai dengan urutan abjad dari nama kategori yang dimiliki

kategori kucing

anjing harimau

kucing singa

kategori 2 0 1 2 3

(56)

Data Preprocessing

Data Encoding

• one-hot encoding

mengubah nama kategori menjadi angka, dengan aturan binary

kategori kucing

anjing harimau

kucing singa

kategori_kucing 1

kategori_anjing 0

kategori_harimau 0

kategori_singa 0

0 0 1 0

1 0 0 0

0 1 0 0

0 0 0 1

(57)

Model

Training

(58)

Model Training

sebelum dapat digunakan, model perlu dilatih terlebih dahulu

menggunakan data historis agar model tersebut dapat menangkap pola yang ada pada data

tentunya tahap ini dapat dilakukan menggunakan bahasa pemrograman Python karena telah tersedia berbagai macam library pendukung untuk

Machine Learning seperti: scikit-learn

sebelum melakukan training model, perlu dilakukan pembagian data,

yaitu data training dan data testing, umumnya proporsi dalam

pembagian ini adalah 80:20 untuk data training dan data testing

(59)

Model Training

Pipeline

melatih suatu model menggunakan Pipeline dapat mempermudah

developer karena berbagai tahapan pengolahan data seperti label-

encoding, normalisasi hingga training model-nya dapat dilakukan dalam

satu langkah

(60)

Model Training

Cross Validation

model yang diinginkan adalah model yang bersifat generalized, artinya meskipun diujikan dengan data yang tidak dikenali (tidak ada di dalam data training) tetap dapat memberikan hasil prediksi yang tepat

untuk dapat memperoleh model tersebut, dapat disiasati dengan pembagian (splitting) data untuk data training dan data testing

nantinya data testing akan digunakan untuk mem-validasi model yang

telah dilatih

(61)

Model

Evaluation

(62)

Model Evaluation

model yang telah dilatih perlu dievaluasi terlebih dahulu sebelum diaplikasikan pada kasus nyata, terdapat beberapa pilihan metrics yang

dapat digunakan bergantung pada jenis kasusnya

Precision Recall

Mean Squared Error (MSE) Mean Absolute Error (MAE)

F1-Score Accuracy

Classification

Regression

R-Squared

(63)

Model Evaluation

Confusion Matrix dari confusion matrix dapat diperoleh beberapa nilai (metrics) yang dapat digunakan untuk mengevaluasi performansi model yang telah dilatih

pada contoh di samping terdapat dua macam kelas:

YES (positive) dan NO (negative)

▪ jika prediction YES dan actual YES, maka TRUE-POSITIVE

▪ jika prediction YES dan actual NO, maka FALSE-POSITIVE

▪ jika prediction NO dan actual NO, maka TRUE-NEGATIVE

▪ jika prediction NO dan actual YES, maka FALSE- NEGATIVE

prediction YES NO ac

tu al

YES

NO

prediction YES NO ac

tu al

YES TP FN NO FP TN

(64)

Model Evaluation

Confusion Matrix dari confusion matrix dapat diperoleh beberapa nilai (metrics) yang dapat digunakan untuk mengevaluasi performansi model yang telah dilatih, nilai yang diperoleh berada di rentang 0 – 1 (0%-100%), semakin besar maka semakin baik

1. Precision

kalkulasi terhadap jumlah TRUE-POSITIVE terhadap jumlah total prediction

prediction YES NO ac

tu al

YES 10 3

NO 1 9

(65)

Model Evaluation

Confusion Matrix contoh:

prediction YES NO ac

tu al

YES 10 3

NO 1 9

(66)

Model Evaluation

Confusion Matrix dari confusion matrix dapat diperoleh beberapa nilai (metrics) yang dapat digunakan untuk mengevaluasi performansi model yang telah dilatih

2. Recall

kalkulasi terhadap jumlah TRUE-POSITIVE terhadap jumlah total actual

prediction YES NO ac

tu al

YES 10 3

NO 1 9

(67)

Model Evaluation

Confusion Matrix contoh:

prediction YES NO ac

tu al

YES 10 3

NO 1 9

(68)

Model Evaluation

Confusion Matrix dari confusion matrix dapat diperoleh beberapa nilai (metrics) yang dapat digunakan untuk mengevaluasi performansi model yang telah dilatih

3. F1-Score

kalkulasi terhadap nilai precision dan recall untuk memperoleh nilai yang terbobot/seimbang

prediction YES NO ac

tu al

YES 10 3

NO 1 9

(69)

Model Evaluation

Confusion Matrix contoh:

prediction YES NO ac

tu al

YES 10 3

NO 1 9

(70)

Model Evaluation

Confusion Matrix dari confusion matrix dapat diperoleh beberapa nilai (metrics) yang dapat digunakan untuk mengevaluasi performansi model yang telah dilatih

4. Accuracy

kalkulasi terhadap keseluruhan nilai yang ada di dalam confusion matrix

prediction YES NO ac

tu al

YES 10 3

NO 1 9

(71)

Model Evaluation

Confusion Matrix contoh:

prediction YES NO ac

tu al

YES 10 3

NO 1 9

(72)

Model Evaluation

lalu, kapan pakai metric apa?

Accuracy

dapat dipilih apabila proporsi data antara kelas A dengan kelas yang lainnya seimbang atau selisihnya tidak terlampau jauh, misalkan:

Kelas A = 10 Kelas B = 8

(73)

Model Evaluation

sedangkan pada data yang proporsinya tidak seimbang (imbalanced data) dapat dipilih antara Precision, Recall, atau F1-Score

pemilihan metrics dapat dilakukan berdasarkan kasus yang sedang ditangani

prediction YES NO ac

tu al

YES 1 1

NO 1 1

Deteksi COVID-19 pada kasus ini dapat menggunakan Recall

karena Recall menyatakan tingkat ketepatan berdasarkan data actual-nya

misal:

ada 1 pasien yang kenyataannya terjangkit COVID-19, akan tetapi pasien ini dianggap TIDAK terjangkit oleh model yang telah dibuat, jika seperti ini akan membahayakan keadaan sekitar pasien

(74)

Model Evaluation

prediction

STRANGER NOT STRANGER

ac tu al

STRANGER 1 1

NOT

STRANGER 1 1

Deteksi Orang Asing pada kasus ini dapat menggunakan Precision

karena Precision menyatakan tingkat ketepatan berdasarkan data prediction-nya

misal:

ada 1 orang yang kenyataannya bukan orang asing (NOT_STRANGER), akan tetapi dianggap sebagai orang asing (STRANGER) oleh model yang telah dibuat, jika seperti ini maka orang tersebut mungkin saja tidak bisa masuk ke ruangannya

(75)

Model Evaluation

F1-Score

metric F1-Score biasanya digunakan apabila ingin mendapatkan nilai evaluasi yang berimbang

nilai tersebut dapat diperoleh dari Precision dan Recall

(76)

Model Evaluation

Mean-Squared Error (MSE)

digunakan untuk menghitung selisih antara nilai actual terhadap nilai prediction yang kemudian dikuadratkan

MSE bersifat sensitif terhadap outlier (pencilan)

(77)

Model Evaluation

Mean-Absolute Error (MAE)

digunakan untuk menghitung selisih antara nilai actual terhadap nilai prediction yang kemudian dikuadratkan

MAE tidak sensitif terhadap outlier (pencilan)

(78)

Model Evaluation

digunakan untuk menghitung selisih antara nilai prediction terhadap nilai rata-rata dan nilai actual terhadap nilai rata- rata

R-Squared umumnya diumpamakan sebagai Accuracy

(79)

Model Evaluation

lalu, kapan pakai metric apa?

(80)

https://linktr.ee/pythonkodehive

Exercise

Referensi

Dokumen terkait

Hal ini terlihat dari tingkat partisipasi petani anggota Gapoktan “Sari Tani” yang tinggi dalam mengikuti semua tahapan kegiatan mulai dari sosialisasi dan

Pendidikan agama anak balita di keluarga BS belum terlaksana sepenuhnya, karena kurangnya contoh teladan dari kedua orang tua dan keluarganya (kakek dan

bahwa dengan ditetapkannya ketentuan mengenai pakaian dinas Pegawai Negeri Sipil di lingkungan Kementerian Dalam Negeri dan Pemerintah Daerah, perlu dilakukan

Dari penjelasan tersebut dapat disimpulkan bahwa hasil akhir dari disiplin kerja yang baik adalah produktivitas yang tinggi, semakin baik disiplin kerja karyawan dalam bekerja

Penelitian ini hendak melihat pengaruh dari (1) ukuran jemaat, (2) keterlibatan anggota jemaat dalam kelompok kecil, (3) partisipasi aktif anggota jemaat dalam

Manfaat lain yang didapat dari pilates adalah peserta menjadi lebih kuat, ramping, memiliki stamina yang lebih baik dan lebih mudah melakukan aktivitas fisik

Pada saat low season, Hotel Jentra Dagen kerap mendapatkan permintaan dari tamu hotel yang hendak mencari penginapan yaitu untuk dapat memberikan potongan harga atau discount

Berdasarkan paparan hasil analisis makros- kopis dan mikroskopis dapat ditunjukkan bahwa salep Platelet Rich Plasma yang dihasilkan dari limbah darah sapi memiliki kemampuan yang