0% menganggap dokumen ini bermanfaat (0 suara)
118 tayangan38 halaman

Module 2 - Data Preprocessing

Data Preprocessing

Diunggah oleh

Annisa Nuraini
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)
118 tayangan38 halaman

Module 2 - Data Preprocessing

Data Preprocessing

Diunggah oleh

Annisa Nuraini
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/ 38

DAFTAR ISI

DAFTAR ISI............................................................................................................................... 1
Tujuan & Deskripsi Pembelajaran.........................................................................................2
Data Preparation.................................................................................................................... 3
A. Mengekstrak dan Membaca Data menggunakan Library Pandas.......................3
B. Data Cleaning.................................................................................................................... 3
C. Data Transformation....................................................................................................... 4
1. Validasi Data dan Verifikasi............................................................................................ 5
2. Data Formatting................................................................................................................5
D. Data Merging.....................................................................................................................6
Exploratory Data Analysis.....................................................................................................8
A. Exploratory Data Analysis (EDA)..................................................................................8
Tahapan EDA.......................................................................................................................... 9
Categorical and Numerical Analysis............................................................................. 15
B. Automated EDA.............................................................................................................. 25
C. Reproducible Scientific Analysis..............................................................................26
Feature Engineering............................................................................................................ 31
A. Apa Itu Feature Engineering?......................................................................................31
B. Proses Feature Engineering........................................................................................ 32
C. Pentingnya Feature Engineering dalam Machine Learning............................... 33
D. Beberapa Tools Feature Engineering Terbaik........................................................ 34
EXERCISE............................................................................................................................... 37

1
Tujuan & Deskripsi Pembelajaran

Deskripsi:

1. Memberikan pemahaman kepada siswa cara melakukan transformasi data,


pembersihan data, penggabungan data, dan segala persiapan data dengan
Python.
2. Memberikan pemahaman kepada siswa tentang apa itu EDA, pentingnya
EDA, cara melakukan EDA, dan cara membuat EDA yang ampuh yang dapat
membantu siswa memahami data dengan lebih baik, serta persiapan
menuju tahap pemodelan.
3. Memberikan pemahaman kepada siswa tentang apa itu feature
engineering, pentingnya feature engineering, cara melakukan feature
engineering, cara melakukan pemilihan fitur dan kepentingan fitur, serta
cara membuat fitur berguna yang dapat digunakan untuk meningkatkan
performa model.

Adapun tujuan pembelajaran topik ini adalah sebagai berikut:

1. Peserta mampu melakukan persiapan data sebelum melakukan proses


selanjutnya.
2. Peserta mampu melakukan EDA dan mampu membuat fitur-fitur yang
berguna dalam proses pemodelan.
3. Peserta mampu melakukan feature engineering dan mampu membuat
fitur-fitur yang berguna dalam proses pemodelan, serta mampu
menguraikan wawasan (insight) dan menentukan pentingnya fitur dari
model yang dibuatnya.

2
1.1 Data Preparation

Sebelum menganalisis data, seorang Data Scientist diharuskan untuk


mengekstrak data ‘mentah’ dan membuat data tersebut menjadi ‘bersih’ dan
berarti.

A. Mengekstrak dan Membaca Data menggunakan Library


Pandas

Gunakan read_csv() untuk file berjenis csv untuk memanggil data. Cara
pemanggilan data ada pada Module 1 - Foundation for Data Science.

Contoh:

● Import library pandas (perhatikan huruf kapital saat penulisan!)

● Misalkan nama file yang dipanggil adalah “data” lalu akan dibuat data
frame dengan nama health_data.

● header=0 artinya header untuk nama variabel terdapat pada baris


pertama (catatan: 0 artinya baris pertama pada Python)

● sep=”,” artinya pada data.csv digunakan tanda “,” untuk memisahkan


nilai variabelnya (csv=comma separated values).

B. Data Cleaning

Biasanya data yang baru saja diimpor cenderung “kotor”, mulai dari banyak
nilai kosong, tipe data yang salah, dan lain sebagainya. Oleh karena itu, sebagai
Data Scientist data harus dibersihkan terlebih dahulu sebelum dianalisis.

Perhatikan contoh data berikut:

3
Terlihat bahwa terdapat nilai non-numerik (9 000 dan AF) dengan posisi
yang sama dengan missing value.

Solusinya, kita dapat menghapus baris dengan nilai yang hilang untuk
menyelesaikan masalah ini.

Jika kita menggunakan Library Pandas untuk memanggil dataset, maka


seluruh sel yang kosong otomatis akan dikonversi menjadi nilai “NaN”. Oleh
karena itu, menghapus sel yang berisi NaN memberikan kita data yang dapat
dianalisis.

Kita dapat menggunakan fungsi dropna() untuk menghapus seluruh nilai


NaN.

Catatan: axis=0 artinya kita akan menghapus seluruh nilai baris dengan
nilai NaN. Penanganan missing value akan dijelaskan pada penjelasan berikutnya.

C. Data Transformation

Transformasi data melibatkan perubahan bentuk data dari satu ke yang


lainnya sehingga memudahkan untuk dianalisis. Beberapa teknik yang digunakan,
antara lain normalization, scaling, atau encoding.

4
1. Validasi Data dan Verifikasi

Validasi data dan verifikasi memastikan data akurat dan konsisten


dibanding dengan sumber eksternal atau berdasarkan pengetahuan.

Dataset Titanic: Titanic survival prediction | Kaggle

Load dataset

Dari dataset tersebut, akan diperhatikan variabel ‘Sex’, ‘Age’, ‘SibSp’, ‘Parch’,
‘Fare’, ‘Embarked’ sebagai variabel/fitur independen dan variabel ‘Survived’
sebagai variabel target karena dalam dataset titanic penumpang atau
‘PassengerId’ tidak terdapat dari survival rate.

2. Data Formatting

Data formatting melibatkan proses konversi data menjadi format standar


atau struktur yang dapat dengan mudah diproses oleh algoritma atau model
tertentu dalam proses analisis.

Scaling

Scaling dilakukan untuk mentransformasi nilai dari suatu fitur menjadi


range yang spesifik. Hal itu digunakan untuk mempertahankan bentuk distribusi
asli selagi skala dari data diubah. Scaling sangat berguna jika fitur memiliki skala
yang sangat berbeda dan algoritma tertentu sensitif terhadap besarnya skala dari
fitur.

a. Min-Max Scaling

Min-Max Scaling digunakan mengubah skala menjadi range tertentu


biasanya bernilai di antara 0 dan 1. Hal tersebut menjaga distribusi asli dan
memastikan nilai minimum dipetakan ke 0 dan nilai maksimum dipetakan
ke 1.

5
b. Standarisasi (Z-Score Scaling)

Standarisasi akan mentransformasi nilai rata-rata menjadi 0 dan


nilai standar deviasi menjadi 1. Hal itu akan memusatkan data disekitar
rata-rata dan mengubah skalanya berdasarkan nilai standar deviasi.
Standarisasi membuat data lebih cocok untuk algoritma yang
mengasumsikan data harus berdistribusi Gaussian atau membutuhkan fitur
dengan rata-rata 0 dan variansi 1.

D. Data Merging

Berikut salah satu cara untuk menggabung beberapa data sekaligus


menggunakan library Pandas.

Untuk menggunakan dua DataFrame dapat digunakan syntax merge().

Seluruh pernyataan dalam () adalah parameter, kecuali right yang


merupakan pernyataan kunci (keyword arguments).

Parameter Nilai Keterangan

right Wajib ada

How 'left' Opsional. Nilai default ‘inner’.


'right' Bagaimana cara merge data,
'outer' seperti materi SQL
'inner' sebelumnya.
'cross'

on String List Opsional. Menentukan pada


level apa akan dilakukan
merging.

6
left_on String List Opsional. Menentukan pada
level apa merging dilakukan
pada DataFrame di sisi kiri.

right_on String List Opsional. Menentukan pada


level apa merging dilakukan
pada DataFrame di sisi kanan.

left_index True Opsional. Nilai default False.


False Apakah akan menggunakan
indeks dari DataFrame sisi kiri
sebagai kunci gabungan atau
tidak.

right_index True Opsional. Nilai default False.


False Apakah akan menggunakan
indeks dari DataFrame sisi
kanan sebagai kunci
gabungan atau tidak.

sort True Opsional. Nilai default False.


False Menentukan apakah akan
diurutkan DataFrame
berdasarkan kunci gabungan
atau tidak.

suffixes List Opsional. Nilai default '_x', '_y.


Menentukan list dari string
yang akan ditambahkan untuk
kolom yang overlap.

copy True Opsional. Nilai default True.


False Menentukan apakah akan
tetap tersalin atau tidak.

indicator True Opsional. Nilai default False.


False Menentukan apakah akan
String ditambahkan kolom pada
DataFrame dengan informasi
terkait informarsi setiap baris.

validate String Opsional. Mengecek apakah


diperlukan merging untuk tipe
yang spesifik.

7
Contoh sederhana:

1.2 Exploratory Data Analysis

A. Exploratory Data Analysis (EDA)

Exploratory Data Analysis (EDA) adalah sebuah proses yang digunakan oleh
seorang data scientist untuk menganalisa dan menyelidiki sebuah dataset untuk
melihat karakteristik utamanya. Setelah seorang data scientist memahami
dataset yang dimiliki, dia bisa menentukan cara-cara apa yang perlu dilakukan
untuk memanipulasi sumber data yang dimiliki, dan memudahkan data scientist

8
untuk menemukan pola, melihat anomali, menguji hipotesis, atau memeriksa
asumsi yang mereka miliki (IBM).

EDA utamanya digunakan untuk melihat insight - insight yang mungkin


tidak akan terlihat dalam proses modeling, dan akan memberikan pemahaman
yang lebih baik dari dataset tersebut. Umumnya, EDA akan menggunakan visual
charts untuk menggambarkan hidden pattern tersebut dengan lebih baik.

EDA sendiri merupakan bagian penting dalam framework data science,


khususnya data understanding. EDA dilakukan agar kita bisa melihat data
sebelum mengajukan asumsi tentang data tersebut. Kita bisa melihat kesalahan
yang mungkin ada dalam data tersebut dan juga menemukan
hubungan-hubungan atau pola menarik antara variabel. Kita juga bisa mendeteksi
outliers dalam data atau anomali. EDA juga bisa membantu seorang data scientist
untuk memastikan bahwa data yang dihasilkan valid dan dapat membantu
mencapai keputusan bisnis yang tepat.

Bacaan lebih lanjut:


● What is Exploratory Data Analysis ?
● Exploratory Data Analysis - IBM
● What is Exploratory Data Analysis?

Tahapan EDA

Banyak metode dan tools yang dapat kita gunakan untuk melakukan EDA.
Namun umumnya EDA akan melihat melakukan beberapa hal, dimulai dari load
dataset, melihat attributes, univariate/bivariate/multivariate analysis, melihat
missing value, melihat outliers, sebelum akhirnya melakukan feature engineering
dan melihat insights yang ada dari data tersebut.

9
1. Loading Dataset

Pertama-tama, kita harus load dataset yang dimiliki dan juga import
package Python yang akan digunakan:

2. Distinguish Attributes

Menggunakan python, kita bisa mempelajari karakteristik attributes


dasar/analisis deskriptif yang dimiliki setiap variabel.

● .head() untuk melihat gambaran awal data yang dimiliki, kolom apa saja
yang ada, dan bagaimana nilai dari kolom-kolom tersebut

● .info() untuk melihat informasi dasar seperti jumlah kolom, nama kolom,
jumlah baris, null data, dan juga data type dengan menggunakan df.info().
Dari data set titanic contohnya kita bisa melihat bahwa dataset tersebut
memiliki 12 kolom dan 891 baris. Menariknya, kita sudah bisa melihat bahwa
ada kolom yang memiliki missing values dan juga melihat kesesuaian
antara Dtype dengan kolom itu sendiri. Kita sudah bisa mulai processing
apa yang mungkin harus kita lakukan sebelum memasuki tahapan
modeling nantinya.

10
● .describe() untuk memeriksa statistik deskriptif dari kolom numerik yang
ada. Kita bisa mulai melihat pola yang ada dalam data tersebut dan juga
bisa melihat skewness yang ada.

● .describe(include=object) untuk melihat statistik deskriptif dari kolom


kategoris.

● value count untuk melihat persebaran data kategorik lebih lanjut, bisa
menggunakan df[nama_kolom].value_counts() atau langsung membuat
grafik.

11
3. Univariate Analysis

Menggunakan data visualization, kita bisa melihat deskripsi setiap variabel


yang ada, dan juga pola-pola dari sebuah variabel. Beberapa chart yang bisa
digunakan dalam proses univariate analysis menggunakan library yang ada dalam
python antara lain:

● Histogram
● Boxplot
● Distplot
● Violin plot
● Individual countplot
● dst.

Univariate artinya satu. Jadi di tahap ini kita hanya melihat variabel satu
persatu tanpa menghubungkan dengan variabel lainnya.

12
4. Bi-/Multivariate Analysis

Berbeda dengan univariate, bi-/multi-variate analysis akan melihat dua


atau lebih variabel dan mencoba melihat pola yang ada antara hubungan
data-data tersebut. Kita bisa menggunakan beberapa visualisasi data untuk
melihat hubungan yang ada antara data menggunakan chart seperti

● correlation plot
● Boxplot
● Scatterplot
● pairplot
● etc

Di tahap ini, kita mencoba melihat hubungan hubungan yang ada antara
dua atau lebih variabel, dan bagaimana sebuah variabel dapat mempengaruhi
variabel lainnya.

13
5. Detect and Handle Missing Value

Kita bisa melihat missing value yang ada dari tahapan statistik deskriptif,
dan juga bisa melihat langsung menggunakan .isnull()

Ada dua cara utama yang kita bisa lakukan setelah mengetahui data mana
yang kehilangan nilainya:

1. Menghapus missing values


2. Mengisi missing values

14
Perlakuan yang diambil ditentukan dari berbagai hal. Mulai dari jumlah data
yang hilang, tipe data yang hilang, dan nilai dari kolom tersebut. Misalnya null
value yang hilang hanya merupakan sebagian kecil dari data, sehingga dengan
menghapus baris tersebut tidak akan memberikan pengaruh besar.

Namun, menghapus data adalah hal yang tidak dianjurkan apabila dengan
menghapus data, kita malah menghilangkan kegunaan atau insight yang bisa
diambil dari dataset. Sehingga, cara alternatif yang dapat ditempuh adalah
mengisi data tersebut dengan rata-rata, modus, median, atau yang lain, sesuai
dengan persebaran dan tipe data.

6. Detecting and Handle Outlier

Di proses ini, kita akan melihat deviasi yang ada dari persebaran data yang
dapat disebabkan oleh error. Kita perlu memproses outlier. Outlier sendiri bisa
dilihat menggunakan boxplot.

Kita juga bisa mendeteksi outlier melalui Interquartile Range (IQR) dan
kemudian menghapus data outlier tersebut agar model yang kita hasilkan bisa
memiliki akurasi yang lebih tinggi.

Categorical and Numerical Analysis

1. Data Categorical (Kualitatif)

Tipe data kategori ini tidak memiliki nilai numerik dan sifatnya lebih
kepada kualitatif daripada kuantitatif. Dalam istilah statistik ia juga sering disebut
sebagai data nominal. Sesuai namanya, data tipe kategori merupakan bagian dari
beberapa kelompok. Misal, jika ada besar maka ada kecil, jika ada laki-laki maka
ada perempuan, jika ada benar maka ada salah, jika ada ringan maka ada sedang
kemudian berat.

15
2. Data Numerical (Kuantitatif)

Data numerik adalah tipe data yang hanya dinyatakan dalam bentuk
numerik dan tidak dinyatakan dengan penggunaan nama lain pada data. Variabel
kuantitatif datang dalam dua bentuk :
● Variabel Kontinu, dapat mengambil semua nilai apapun (dalam
tingkatan apapun) dalam rentang waktu tertentu. (misal nilai apapun
antara 3 dan 4).
● Variabel Diskrit, merupakan variabel yang tidak kontinu pada
rentang apapun dan hanya bisa merepresentasikan data dalam
bentuk bilangan bulat. (misalnya variabel yang mengambil nilai
integer antara 0 dan 100).

3. Statistika Deskriptif

Statistika Deskriptif bertujuan untuk mendeskripsikan data-data mentah


menggunakan statistik ringkasan, grafik, dan tabel. Salah satu tools dasar yang
digunakan adalah histogram/barchart untuk menggambarkan distribusi nilai
untuk beberapa variabel dalam sampel subjek. Muchson (2017:6) statistik
deskriptif dapat memberi informasi mengenai ukuran pemusatan data, ukuran
penyebaran data, kecenderungan suatu gugus, dan ukuran letak. Analisis statistik
deskriptif digunakan untuk memberikan gambaran mengenai distribusi dan
perilaku data sampel penelitian dengan melihat nilai minimum, nilai maximum,
rata – rata (mean), dan standar deviasi dari masing-masing variabel independen
dan variabel dependen.

16
4. Statistik Inferensial

Menggunakan sampel data yang kecil untuk kemudian menarik kesimpulan


tentang populasi yang lebih besar dari sampel itu berasal melalui uji hipotesis.
Selain itu, konsep-konsep statistik inferensial meliputi estimasi titik dan estimasi
interval.

Estimasi titik adalah menduga nilai tunggal parameter populasi. Sebagai


2
contoh, parameter μ diduga dengan statistik x̄, parameter σ diduga dengan
2
statistik 𝑆 . Sedangkan estimasi interval yaitu menduga nilai parameter populasi
dalam bentuk interval. Misalnya diduga dengan suatu interval 𝐴 ≤ µ ≤ 𝐵.

17
Uji rata-rata (mean) satu populasi digunakan untuk mengetahui bahwa
mean dari populasi tersebut sama dengan harga tertentu µ0. Dalam kehidupan
nyata tidak dimungkinkan untuk mengukur rata-rata (mean) dari seluruh
populasi, untuk itu diambil sampel dari populasi tersebut yang kemudian
dilakukan inferensi atau pengujian apakah nilai rata-rata yang dicurigai tersebut
dapat diterima atau tidak berdasarkan informasi dari sampel yang telah diambil.

Uji hipotesis merupakan suatu proses untuk menentukan apakah dugaan


tentang nilai parameter/karakteristik populasi didukung kuat oleh data sampel
atau tidak. Ada dua jenis hipotesis yaitu hipotesis penelitian, dan hipotesis
statistika. Hipotesis penelitian merupakan hipotesis tentang pernyataan dari
hasil penelitian yang akan dilakukan, sedangkan hipotesis statistik suatu
pernyataan tentang parameter populasi. 𝐻0 adalah hipotesis yang akan diuji
menggunakan suatu prosedur statistik, biasanya berupa suatu pernyataan tidak
adanya perbedaan karakteristik populasi. Lawan dari hipotesis ini (𝐻0) adalah
hipotesis alternatif (𝐻1 atau 𝐻𝑎 ). 𝐻1 digunakan untuk menunjukkan bahwa
pernyataan mendapat dukungan kuat dari data. 𝐻0 dianggap benar, kecuali data
mendukung dengan kuat penolakan terhadap 𝐻0.

Dalam pengujian suatu hipotesis sangat dimungkinkan terjadinya


kesalahan dalam pengambilan kesimpulan. Kesalahan dalam menolak 𝐻0, padahal
dalam kenyataannya 𝐻0 tersebut benar dalam statistik dikenal dengan kesalahan
tipe I atau biasa disimbolkan dengan α. Sedangkan peluang terkecil untuk
menolak 𝐻0 yang salah biasa disebut dengan p-value. Dalam pengambilan
keputusan dibutuhkan suatu daerah penolakan (daerah kritik), daerah penolakan
ini merupakan himpunan (daerah) harga-harga dimana 𝐻0 ditolak. Secara umum
daerah penolakan pada uji hipotesis yaitu 𝐻0 ditolak (𝐻1 diterima) jika nilai
p-value < α. Sebelum memutuskan apakah 𝐻0 ditolak atau tidak diperlukan
statistik penguji. Statistik penguji tersebut merupakan suatu statistik atau
variabel random yang digunakan untuk menentukan apakah 𝐻0 ditolak atau tidak
ditolak. Bila statistik penguji masuk dalam daerah penolakan maka 𝐻0 ditolak,
sebaliknya jika tidak maka 𝐻0 tidak ditolak.

18
Berikut macam-macam hipotesis:

1. Hipotesis Deskriptif: Hipotesis tentang nilai suatu variabel mandiri,


tidak membuat perbandingan atau hubungan. Contoh: Terdapat
rumusan masalah yang ingin mengetahui seberapa tinggi
produktivitas apel di Kota Batu. Maka, dapat ditulis hipotesis
sebagai berikut: produktivitas Apel di Kota Batu 25 ton/ha.
2. Hipotesis Komparatif: Pernyataan yang menunjukkan dugaan nilai
satu variabel atau lebih pada sampel yang berbeda. Contoh:
Terdapat rumusan masalah yang ingin mengetahui apakah terdapat
perbedaan produktivitas salak pondoh di Kabupaten Sleman dan
Kabupaten Kulon Progo. Maka, dapat ditulis hipotesis sebagai
berikut: Tidak terdapat perbedaan produktivitas salak pondoh di
Kabupaten Sleman dan Kabupaten Kulon Progo.

𝐻0: µ1 = µ1

𝐻1: µ1 ≠ µ1

3. Hipotesis Asosiatif: Pernyataan yang menunjukkan dugaan


hubungan antara dua variabel atau lebih. Contoh: Terdapat rumusan
masalah yang ingin mengetahui apakah ada hubungan antara harga
buah semangka dengan volume penjualan buah semangka. Maka,
dapat ditulis hipotesis sebagai berikut: Tidak ada hubungan antara
harga buah semangka dengan volume penjualan buah semangka.

𝐻0: ρ = 0

𝐻1: ρ ≠ 0

Contoh penulisan hipotesis jika diasumsikan kenaikan pemasukan


perusahaan X naik sebesar 30%. Maka hipotesisnya dapat ditulis, sebagai berikut:

𝐻0: 𝑃 = 0, 3

𝐻1: 𝑃 ≠ 0, 3

Dalam uji hipotesis ada yang namanya uji satu sisi dan uji dua sisi. Uji satu
sisi (one tail) digunakan jika parameter populasi dalam hipotesis dinyatakan lebih
besar (>) atau lebih kecil (<). Sedangkan uji dua sisi (two tail) digunakan jika
parameter populasi dalam hipotesis dinyatakan sama dengan (=).

Secara umum, berikut langkah-langkah dalam uji hipotesis :

1. Menentukan hipotesis 𝐻0 dan 𝐻1


a. 𝐻0: hipotesis observasi (yang akan diuji)

19
b. 𝐻1: hipotesis alternatif

Catatan: beberapa kemungkinan rumusan hipotesis menggunakan


tanda matematis, sebagai berikut:

𝐻0: = ≤ ≥

𝐻1: ≠ < >

2. Menentukan tingkat signifikansi (α)

Biasanya bernilai 1%, 5%, dan 10%. Untuk uji dua sisi digunakan α/2
dan untuk uji satu sisi digunakan α.

3. Menentukan dan hitung Statistik Penguji


4. Menentukan daerah kritik berdasarkan tingkat signifikansi
5. Ambil kesimpulan.

Referensi Uji Hipotesis:

Uji Hipotesis Rata-Rata

Satu Populasi Uji Hipotesis Rata-Rata Satu Populasi

Dua Populasi Uji Hipotesis Rata-Rata Dua Populasi

Uji Hipotesis Proporsi

Satu Populasi Uji Hipotesis Proporsi Satu Populasi

Dua Populasi Uji Hipotesis Proporsi Dua Populasi

Uji Hipotesis Ragam

Satu Populasi Uji Hipotesis Ragam Satu Populasi

Dua Populasi Uji Hipotesis Ragam Dua Populasi

5. Populasi

Populasi adalah sejumlah sesuatu yang kita amati, seperti: manusia,


peristiwa, hewan, dan lain-lain. Ini memiliki beberapa parameter seperti mean,
median, modus, standar deviasi, dan lain-lain. Populasi merupakan totalitas dari
semua objek yang hendak diteliti. Contoh dari populasi adalah seluruh
masyarakat Bogor, seluruh siswa di satu sekolah.

6. Sampel

Sampel adalah bagian acak dari populasi. Sampel digunakan ketika


populasinya cukup besar sehingga sulit untuk menganalisis seluruh rangkaian.

20
Dalam sampel, kita tidak memiliki parameter, tetapi kita memiliki memiliki
statistik. Contoh dari sampel adalah beberapa orang yang terpilih pada
masing-masing provinsi.

7. Mean, Median, dan Modus

Mean

Mean adalah titik di mana distribusi berada dalam keseimbangan. Titik


tumpu atau titik keseimbangan dihitung sebagai mean atau mean aritmatika.

𝑥1+𝑥2+...+𝑥𝑛 ∑𝑥𝑖
𝑖
𝑀𝑒𝑎𝑛 = µ = 𝑛
= 𝑛

Menggunakan python:

Median

21
Median merupakan ukuran central tendency yang sering digunakan.
Median adalah titik tengah distribusi dimana jumlah nilai yang berada di atas
median sama seperti di bawahnya. Titik tengah adalah nilai tengah yang diukur
dari nilai terendah hingga nilai tertinggi. Median juga dapat dianggap sebagai
persentil ke-50.

Jika sampel bernilai ganjil

Jika nilai sampel yang ganjil (n=1,3,5,7,...2n+1), maka setelah data


𝑛+1
diurutkan, pilih nilai pada posisi (
2
).

Jika sampel bernilai genap

Jika nilai sampel yang ganjil (n=2,4,6, …, 2n), maka setelah data
diurutkan:

𝑛
● Cari nilai pada posisi ( )
2

𝑛+1
● Cari nilai pada posisi ( )
2

● Hitung nilai rata-rata dari kedua nilai tersebut.

Menggunakan python, urutkan terlebih dahulu data yang dimiliki baru


dapat dicari nilai mediannya:

Modus

22
Modus adalah nilai yang paling sering muncul di dataset. Jika terdapat
beberapa nilai dengan frekuensi paling sering muncul sama, maka dataset bisa
mempunyai lebih dari 1 modus. Kemudian, jika frekuensi kemunculan semua nilai
pada dataset sama maka tidak ada modus.

8. Variasi & Standar Deviasi

Variasi

Memiliki definisi sebagai perbedaan kuadrat rata-rata nilai dengan nilai


rata-rata (mean). Definisi matematika dari variasi adalah jumlah deviasi kuadrat
(jarak) setiap skor dari rata-rata dibagi dengan jumlah skor dalam kumpulan data.
Kita mengkuadratkan skor deviasi karena jumlah deviasi mentah selalu 0.

𝑁
2
∑ (𝑥𝑖−µ)
2 𝑖=1
𝐹𝑜𝑟𝑚𝑢𝑙𝑎 : σ = 𝑁

Dengan:

𝑥𝑖 : data ke-i pada dataset

µ : rata-rata populasi

Menggunakan python:

Standar Deviasi

Adalah akar kuadrat dari variasi. Ini merupakan statistik yang berguna dan

23
dapat diinterpretasikan karena mengambil akar kuadrat dari variasi (mengingat
bahwa variasi adalah perbedaan kuadrat rata-rata) menempatkan deviasi standar
kembali ke unit asli dari ukuran yang kita gunakan.

Menggunakan python:

9. Distribusi Data

Distribusi Normal

Distribusi normal adalah distribusi yang paling penting dan paling banyak
digunakan dalam statistik. Kadang disebut sebagai “kurva lonceng” atau “kurva
Gaussian”.

Z-Scores

Skor-z adalah versi standar dari skor mentah (x) yang memberikan
informasi tentang lokasi relatif skor tersebut dalam distribusinya.

24
10. Distribusi Normal dan Standar Deviasi

Standar deviasi adalah ukuran dari variabilitas yang sangat berguna ketika
distribusi normal atau mendekati normal. Karena proporsi dari distribusi normal,
maka nilai standar deviasi dari mean dapat dihitung. Untuk distribusi normal:

● Sekitar 68% dari data berada dalam satu standar deviasi dari mean.
● Sekitar 95% dari data berada dalam dua standar deviasi dari
rata-rata.
● Lebih dari 99% data berada dalam tiga simpangan baku rata-rata.

25
B. Automated EDA
Proses EDA, juga bisa dilakukan secara otomatis, dengan beberapa library
Python, seperti:
● dtale
● pandas profiling
● sweetviz
● autoviz
● Dataprep
Cara penggunaan setiap library berbeda, dan akan menghasilkan EDA yang
berbeda-beda. Dua artikel dibawah ini menjelaskan bagaimana kita bisa
menggunakan Automated EDA untuk mempercepat proses EDA.
Top Python Libraries to Automate Exploratory Data Analysis in 2021
4 TOOLS FOR AUTOMATIC EXPLORATORY DATA ANALYSIS (EDA) IN
PYTHON. | by Ibekwe kingsley | Machine learning Mastery | Medium

C. Reproducible Scientific Analysis

Apa itu cara reproducible scientific analysis?

Dalam beberapa dekade terakhir, banyak ilmuwan memikirkan bagaimana


karya ilmiah di berbagai bidang dapat direproduksi (reproducibility). Sebuah
karya ilmiah dikatakan dapat direproduksi jika seluruh kode dan data yang
digunakan untuk menghasilkan angka dan gambar dalam suatu penelitian
tersedia dan dapat digunakan untuk mendapatkan hasil yang sama.

Terdapat tiga aspek dalam reproduksi karya ilmiah, antara lain:

1. Reproduksi Metode

Reproduksi metode adalah kemampuan untuk


mengimplementasikan prosedur eksperimen/komputasi dengan
semirip mungkin, dengan data dan tools yang sama, untuk

26
mendapatkan hasil yang sama.

2. Reproduksi Hasil

Reproduksi hasil adalah kemampuan untuk mendapatkan


hasil yang sama melalui riset independen menggunakan metode
yang semirip mungkin dengan riset awal.

3. Reproduksi Inferensial

Reproduksi inferensial adalah kemampuan untuk menarik


kesimpulan dari replikasi atau analisis ulang suatu riset.

Dalam lingkup Data Science, reproducible scientific analysis diidentifikasi


sebagai pertimbangan yang penting dalam perkembangan prosesnya. Hal ini
dilatarbelakangi oleh adanya potensi hasil yang salah dalam beberapa
pendekatan yang diakibatkan oleh kurangnya pengetahuan mengenai
proses/metode yang sedang dilakukan.

Analisis ilmiah dalam proses Data Science dapat membantu seorang Data
Scientist untuk memahami suatu proses pengerjaan data yang sudah dilakukan
sebelumnya. Analisis ilmiah dalam proses Data Science dapat didapatkan melalui
open source coding environment seperti Python menggunakan tools seperti
Jupyter Notebook.

Penyusunan analisis ilmiah pada Python menggunakan LaTeX. Beberapa


fitur yang dapat dimunculkan melalui LaTeX antara lain:

1. Persamaan matematika

Beberapa fungsi yang bisa digunakan antara lain:

● Gunakan \ untuk spasi kecil


● Gunakan \frac{value1}{value2} untuk pembagian
● Gunakan ^{} untuk pangkat
● Gunakan _{} untuk indeks
● Gunakan \sqrt{n}{value} untuk akar

Berikut adalah contoh penggunaannya:

27
Output:

2. Huruf Romawi dan Yunani

Berikut adalah contoh penggunaannya:

Output:

3. Set dan logic

Berikut adalah contoh penggunaannya:

Output:

28
4. Tanda kurung

Berikut adalah contoh penggunaannya:

Output:

5. Matriks

Berikut adalah contoh penggunaannya:

29
Output:

6. Limit Fungsi

Berikut adalah contoh penggunaannya:

30
Output:

7. Fungsi sum dan product

Berikut adalah contoh penggunaannya:

Output:

31
1.3 Feature Engineering

A. Apa Itu Feature Engineering?


Feature engineering techniques untuk machine learning adalah topik
mendasar dalam machine learning, tetapi sering diabaikan.
Feature engineering adalah proses pemilihan, manipulasi, dan transformasi
data mentah menjadi fitur yang dapat digunakan. Agar machine learning bekerja
dengan baik pada tugas-tugas baru, mungkin perlu merancang dan melatih fitur
yang lebih baik. Seperti yang diketahui, "fitur" adalah input terukur apa pun yang
dapat digunakan dalam model prediktif — bisa berupa warna objek atau suara
suara seseorang. Feature engineering, secara sederhana, adalah tindakan
mengubah pengamatan yang bersifat mentah menjadi fitur yang diinginkan
menggunakan pendekatan statistik atau machine learning.
Ini membantu untuk merepresentasikan masalah mendasar ke model
prediktif dengan cara yang lebih baik, yang sebagai hasilnya, meningkatkan
akurasi model untuk data yang tidak terlihat. Model prediktif berisi variabel
prediktor dan variabel hasil, dan sementara proses feature engineering memilih
variabel prediktor yang paling berguna untuk model tersebut.
Secara umum, semua algoritma machine learning mengambil data input
untuk menghasilkan output. Data input tetap dalam bentuk tabel yang terdiri dari
baris (instance atau pengamatan) dan kolom (variabel atau atribut), dan atribut ini
sering dikenal sebagai fitur. Misalnya, sebuah gambar adalah contoh dalam
computer vision, tetapi garis pada gambar dapat menjadi fiturnya. Demikian pula,
di NLP, sebuah dokumen bisa menjadi observasi, dan jumlah kata bisa menjadi
fiturnya. Jadi, kita dapat mengatakan fitur adalah atribut yang mempengaruhi
suatu masalah atau berguna untuk masalah tersebut.

32
B. Proses Feature Engineering
Adapun proses yang dilalui feature engineering:

1. Feature Creation

Feature Creation adalah menemukan variabel yang paling berguna untuk


digunakan dalam model prediktif. Prosesnya subyektif, dan membutuhkan
kreativitas dan intervensi manusia. Fitur baru dibuat dengan menggabungkan
fitur yang ada menggunakan penjumlahan, pengurangan, dan rasio, dan fitur baru
ini memiliki fleksibilitas yang tinggi.

2. Transformation

Langkah transformasi feature engineering melibatkan penyesuaian


variabel prediktor untuk meningkatkan akurasi dan kinerja model. Misalnya, ini
memastikan bahwa modelnya fleksibel untuk menerima masukan dari berbagai
data; itu memastikan bahwa semua variabel berada pada skala yang sama,
membuat model lebih mudah dipahami. Ini meningkatkan akurasi model dan
memastikan bahwa semua fitur berada dalam kisaran yang dapat diterima untuk
menghindari kesalahan komputasi.

3. Feature Extraction

Ekstraksi fitur adalah proses feature engineering otomatis yang


menghasilkan variabel baru dengan mengekstraknya dari data mentah. Tujuan
utama dari langkah ini adalah untuk mengurangi volume data sehingga dapat
dengan mudah digunakan dan dikelola untuk pemodelan data. Metode ekstraksi
fitur meliputi analisis kluster, analitik teks, algoritma deteksi tepi, dan analisis
komponen utama (PCA).

4. Feature Selection

Saat mengembangkan model machine learning, hanya beberapa variabel


dalam kumpulan data yang berguna untuk membangun model, dan fitur lainnya
redundan atau tidak relevan. Jika kami memasukkan set data dengan semua fitur
yang redundan dan tidak relevan ini, hal itu dapat berdampak negatif dan
mengurangi kinerja dan akurasi model secara keseluruhan. Oleh karena itu sangat
penting untuk mengidentifikasi dan memilih fitur yang paling sesuai dari data dan
menghapus fitur yang tidak relevan atau kurang penting.

"Feature Selection adalah cara memilih subset fitur yang paling relevan
dari kumpulan fitur asli dengan menghapus fitur yang redundan, tidak relevan,
atau berisik."

33
C. Pentingnya Feature Engineering dalam Machine Learning
Dalam machine learning, kinerja model bergantung pada pra-pemrosesan
data dan penanganan data. Tetapi jika kita membuat model tanpa
pra-pemrosesan atau penanganan data, maka itu mungkin tidak memberikan
akurasi yang baik. Padahal, jika kita menerapkan feature engineering pada model
yang sama, maka akurasi model tersebut akan meningkat.

Di bawah ini adalah beberapa poin yang menjelaskan perlunya feature


engineering:

1. Fitur yang lebih baik berarti fleksibilitas

Dalam machine learning, kita selalu berusaha memilih model yang


optimal untuk mendapatkan hasil yang baik. Namun, terkadang setelah
memilih model yang salah, tetap saja kita bisa mendapatkan prediksi yang
lebih baik, dan ini karena fitur yang lebih baik.

Fleksibilitas dalam fitur akan memungkinkan kita memilih model


yang tidak terlalu rumit. Karena model yang kurang kompleks lebih cepat
dijalankan, lebih mudah dipahami dan dipelihara.

2. Fitur yang lebih baik berarti model yang lebih sederhana

Jika kita memasukkan fitur yang direkayasa dengan baik ke model


kita, bahkan setelah memilih parameter yang salah (tidak terlalu optimal),
kita dapat memperoleh hasil yang baik. Setelah feature engineering, tidak
perlu bersusah payah untuk memilih model yang tepat dengan parameter

34
yang paling optimal. Jika kita memiliki fitur yang bagus, kita dapat
merepresentasikan data lengkap dengan lebih baik dan menggunakannya
untuk mengkarakterisasi masalah yang diberikan dengan sebaik-baiknya.

3. Fitur yang lebih baik berarti hasil yang lebih baik

Seperti yang sudah dibahas, dalam machine learning, sebagai data


yang akan kita berikan akan mendapatkan output yang sama. Jadi, untuk
mendapatkan hasil yang lebih baik, kita harus menggunakan fitur yang
lebih baik.

D. Beberapa Tools Feature Engineering Terbaik


Ada banyak tools yang akan membantu dalam mengotomatiskan seluruh
proses feature engineering dan menghasilkan kumpulan fitur yang besar dalam
waktu singkat untuk tugas klasifikasi dan regresi.

1. FeatureTools

FeatureTools adalah framework untuk melakukan feature


engineering otomatis. Hal ini termasuk unggul dalam mengubah kumpulan
data temporal dan relasional menjadi matriks fitur untuk machine learning.
Featuretools terintegrasi dengan machine learning pipeline-building tools
yang sudah kita miliki. Dalam sepersekian waktu yang diperlukan untuk
melakukannya secara manual, dapat memuat dalam pandas dataframes
dan secara otomatis membuat fitur yang signifikan.

2. AutoFeat

AutoFeat membantu melakukan Model Prediksi Linier dengan


Automated Feature Engineering dan Selection. AutoFeat memungkinkan

35
kita memilih unit variabel input untuk menghindari pembuatan fitur yang
tidak masuk akal secara fisik.

3. TsFresh

Tsfresh adalah package Python. Ini menghitung sejumlah besar


karakteristik deret waktu, atau fitur, secara otomatis. Selain itu, paket
tersebut mencakup metode untuk menilai kekuatan penjelas dan
signifikansi sifat tersebut dalam tugas regresi dan klasifikasi.

36
EXERCISE

Berikut adalah langkah - langkah untuk mengerjakan exercise:


1. Buka link Google Colab menggunakan Google Chrome
2. Klik ‘Copy to Drive’
3. Kerjakan exercise sesuai instruksi yang tertera

Google Colab dapat diakses pada:


Exercise Module 2 Data Science & AI

37

Anda mungkin juga menyukai