0% menganggap dokumen ini bermanfaat (0 suara)
8 tayangan18 halaman

Modul RPD 1

Diunggah oleh

M Luthfi El Ghazru
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)
8 tayangan18 halaman

Modul RPD 1

Diunggah oleh

M Luthfi El Ghazru
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/ 18

KEMENTERIAN PENDIDIKAN, KEBUDAYAAN, RISET, DAN TEKNOLOGI

UNIVERSITAS ANDALAS
FAKULTAS TEKNIK
DEPARTEMEN TEKNIK INDUSTRI
LABORATORIUM SISTEM INFORMASI DAN KOMPUTASI

Modul 3 - PBL RPD


Transformasi & Pengolahan Data

1. EXPLORATORY DATA ANALYSIS

Exploratory Data Analysis adalah satu rangkuman yang akan


memberikan kesimpulan dari suatu informasi untuk melakukan analisis yang
lebih mendalam lagi. EDA dilakukan untuk mengetahui informasi apa yang
diberikan oleh data yang dimiliki. Hal tersebut dapat membantu bagaimana
dalam memanipulasi data untuk mendapatkan jawaban yang diharapkan
dan mempermudah analyst dalam menemukan pola, anomaly data, dan
mengecek asusmsi yang sudah didefinisikan.

EDA menjadi penting karena tanpa melakukan EDA terdapat


kemungkinan kehilangan banyak informasi penting yang terdapat di dalam
dataset dan keputusan yang tidak tepat dalam analisis selanjutnya. Selain
itu, EDA akan menghemat waktu pengerjaan proyek Data science karena
apabila melakukan data modelling tanpa menerapkan EDA, besar
kemungkinan model yang akan kita lakukan memiliki performa yang kurang
baik. Karena model yang dibuat tanpa memahami kondisi data yang dimiliki.

Bagaimana cara melakukan Exploratory Data Analysis?


a. Inisiasi data
b. Data Cleansing
c. Visualisasi

2. INISIASI DATA & MEMBACA DATASET


Berikut merupakan cara membaca dataset menggunakan library
pandas pada python.

Laboratorium Sistem Informasi dan Komputasi


Gedung Departemen Teknik Industri, Limau Manis Padang - 25163
lsikftunand | www.lsikftunand.wordpress.com
KEMENTERIAN PENDIDIKAN, KEBUDAYAAN, RISET, DAN TEKNOLOGI
UNIVERSITAS ANDALAS
FAKULTAS TEKNIK
DEPARTEMEN TEKNIK INDUSTRI
LABORATORIUM SISTEM INFORMASI DAN KOMPUTASI

Symbol Meaning
pd.read_csv(filename) Membaca data dari csv file
pd..read_table(filename) Membaca data dalam file teks yang
dipisahkan tiap kolom
pd.read_excel(filename) Membaca data dari excel file
pd.read_sql(query, Membaca dari sebuah database sql
connection object)
pd.read_json(json_string) Read from a json formatted string,
url, or file
pd.read_html(url) Parse an html url, string, or file, and
extract table to a list of dataframes
pd.read_clipboard() Take the contents of your clipboard
and pass it to read_table
pd.dataframe(dict) From a dict, create dataframe with
the keys as column names and the
values as the data

3. DATA CLEANSING

Data cleansing adalah proses mendeteksi dan mengoreksi data yang


tidak akurat atau data yang aneh dari kumpulan data, tabel, atau database
untuk mengidentifikasi bagian data yang tidak lengkap, tidak benar, tidak
akurat atau tidak relevan, untuk kemudian dimodifikasi, diganti, atau dihapus
sesuai kebutuhan.
Terdapat berbagai macam data yang sering dijumpai, ada data yang
telah bersih dan siap untuk diolah, namun ada pula data yang kotor dengan
indikasi terdapat data yang hilang, value data yang tidak sesuai dengan tipe
data, dan data yang ganda atau duplikasi. Keberadaan data yang masih
kotor akan membawa impact yang besar untuk hasil analisa Anda, dan tidak
jarang akan menyebabkan kesalahan interpretasi hasil ketika melakukan
agregasi.

Laboratorium Sistem Informasi dan Komputasi


Gedung Departemen Teknik Industri, Limau Manis Padang - 25163
lsikftunand | www.lsikftunand.wordpress.com
KEMENTERIAN PENDIDIKAN, KEBUDAYAAN, RISET, DAN TEKNOLOGI
UNIVERSITAS ANDALAS
FAKULTAS TEKNIK
DEPARTEMEN TEKNIK INDUSTRI
LABORATORIUM SISTEM INFORMASI DAN KOMPUTASI

Gambar 1. Penyebab Data Kotor

Gambar tersebut menjelaskan mengenai proses di mana data


cleaning akan mempengaruhi serangkaian proses dari analisis data.
Beberapa faktor yang menjadi pemicu suatu data dikatakan kotor adalah
adanya kesalahan manusia maupun cara pengumpulan suatu data.
Kesalahan-kesalahan ini meliputi kesalahan input data seperti adanya
missing data, data yang terduplikasi termuat informasi yang sama lebih dari
satu kali, pattern yang tidak sama dalam 1 data, dan adanya kesalahan
ejaan.

Data cleaning adalah step yang paling banyak menyita waktu


seseorang dalam mengolah suatu data. Oleh karena itu apabila data
cleansing tidak dilakukan dengan baik, maka dapat terjadi
kesalahpahaman(misunderstanding) dalam menginterpretasikan suatu data.
Permasalahan umum dalam data cleansing adalah sebagai berikut.

1. Missing Value
Missing value merupakan kejadian yang umum terjadi ketika
mengolah data, dikarenakan data yang tidak tersedia sehingga terdapat
beberapa data yang hilang. Missing value dapat dideteksi dengan
munculnya nilai NaN (Not Available) atau blank space pada suatu tabel.
Contohnya dapat dilihat pada table berikut.
Tabel 1. Contoh Tabel Missing Value

Laboratorium Sistem Informasi dan Komputasi


Gedung Departemen Teknik Industri, Limau Manis Padang - 25163
lsikftunand | www.lsikftunand.wordpress.com
KEMENTERIAN PENDIDIKAN, KEBUDAYAAN, RISET, DAN TEKNOLOGI
UNIVERSITAS ANDALAS
FAKULTAS TEKNIK
DEPARTEMEN TEKNIK INDUSTRI
LABORATORIUM SISTEM INFORMASI DAN KOMPUTASI

Dataset di atas hanya menampilkan 5 data teratas dan dapat dilihat


bahwapada kolom Cabin terdapat NaN value, sehingga kita perlu
mengetahuiseberapa besar nilai yang hilang tersebut. Cara menampilkan
missing value pada table dapat menggunakan sintax berikut.

pd.isnull(df).sum()

Setelah mengetahui data yang hilang, langkah selanjutnya adalah


memahami kondisi data yang dimiliki terlebih dahulu, apakah adanya null
value disebabkan kesalahan input atau memang sengaja dikosongkan
akibat dari kondisi yang tidak terpenuhi. Handling missing value merupakan
step yang penting, terutama jika source data yang terbatas. Berikut
merupakan beberapa cara yang dapat dilakukan dalam mengatasi missing
value.

a. Menghilangkan atau menghapus data yang hilang. Solusi ini


digunakan jika memang data yang missing tidak memungkinkan
untuk diisi dengan value lain, atau terlalu banyak data kosong di
dalamnya. Perlu terlebih dahulu diketahui persentase dari data
missing tersebut, jika terlalu banyak mengganti data yang kosong
dengan value lain akan menyebabkan hasil misleading. Sintaxnya
adalah sebagai berikut.

df = df.drop(['column_name'], axis=1)

Laboratorium Sistem Informasi dan Komputasi


Gedung Departemen Teknik Industri, Limau Manis Padang - 25163
lsikftunand | www.lsikftunand.wordpress.com
KEMENTERIAN PENDIDIKAN, KEBUDAYAAN, RISET, DAN TEKNOLOGI
UNIVERSITAS ANDALAS
FAKULTAS TEKNIK
DEPARTEMEN TEKNIK INDUSTRI
LABORATORIUM SISTEM INFORMASI DAN KOMPUTASI

b. Melakukan inputting value dengan data yang menyerupai seperti


minimum value, maximum value, mean, atau modus. Ada
syarat-syarat tertentu ketika Anda menangani missing value dengan
nilai-nilai ini. Pertama pahami dulu kondisi data Anda, apakah data
tersebut merupakan data kategori atau bukan. Jika data tersebut
adalah data kategori, Anda dapat menggunakan modus untuk
mengisi bagian yang miss. Namun jika data tersebut kontinu, Anda
bisa menggunakan minimum value, maximum value, mean atau
median. Syntaxnya adalah sebagai berikut.

df['column_name'].fillna(int(df['column_name'].mean()), inplace=True)

c. Melakukan manual inputting value dengan data yang sebenarnya


(cara ini membutuhkan high effort untuk mencari data yang hilang
tersebut).

d. Menentukan custom value berdasarkan asumsi bisnis yang terjadi.

2. Duplicated Data
Duplikasi data (duplicate) terjadi ketika terdapat nilai atau ID yang
berulang pada suatu data. Selain itu, suatu data dikatakan duplikat apabila
terdapat informasi yang sama dalam setiap kolom pada data tersebut.
Permasalahan duplikasi ini perlu dilakukan data cleansing, karena akan
menyebabkan double perhitungan ketika dilakukan suatu analisis lebih
mendalam.

Langkah pertama yang dilakukan yaitu mengecek apakah terdapat


duplikasi pada data, biasanya dapat diindikasikan dengan munculnya value
yang sama pada semua kolom. Jika dalam data Anda terdapat kolom yang

Laboratorium Sistem Informasi dan Komputasi


Gedung Departemen Teknik Industri, Limau Manis Padang - 25163
lsikftunand | www.lsikftunand.wordpress.com
KEMENTERIAN PENDIDIKAN, KEBUDAYAAN, RISET, DAN TEKNOLOGI
UNIVERSITAS ANDALAS
FAKULTAS TEKNIK
DEPARTEMEN TEKNIK INDUSTRI
LABORATORIUM SISTEM INFORMASI DAN KOMPUTASI

dengan informasi yang unique atau tidak boleh double seperti passenger id.
Cara untuk melakukan pengecekan duplikasi data dapat menggunakan
syntax berikut.
df[df.column_name.duplicated(keep=False)].sort_values('column_name')
Permasalahan duplikasi dapat diselesaikan dengan menghapus row
yang sama, sehingga hanya tersisa unique value yang akan dianalisa.
Untuk menghilangkan duplikasi data dapat dilakukan menggunakan syntax
berikut.
df = df.drop_duplicates(subset=['column_name']).reset_index()

3. Standardize and Normalize Data


Standardisasi merupakan suatu proses merubah skala data menjadi
bentuk standar yang memiliki μ = 0 dan 𝛔 = 1, sehingga kita dapat
membandingkan features yang memiliki skala dan unit berbeda. Ada
kalanya dalam data yang kita miliki, satu kolom dengan kolom lainya
memiliki skala nilai yang jauh berbeda. Perbedaan ini bisa jadi menggiring
opini bahwa salah satu kolom lebih superior dari kolom lainnya karena
memiliki nilai yang besar. Oleh karena itu, pengaturan skala akan sangat
membantu. Formula standardisasi adalah sebagai berikut:
𝑋𝐼−
Z=
# Standardisasi data parch
df['Parch_stand'] = (df.Parch – df.Parch.mean()) / (df.Parch.std())

Berbeda dengan standarisasi, normalisasi merupakan suatu proses


merubah skala nilai menjadi berdistribusi normal (Z: 0 ≤ z ≤ 1), di mana
menggunakan formulasi sebagai berikut:
𝑥−𝑚𝑖𝑛⁡(𝑥)
Z= (𝑥) −𝑚𝑖𝑛⁡(𝑥)

# Normalisasi data parch


df['Parch_norm'] = (df.Parch – df.Parch.mean()) / (df.Parch.max() –
df.Parch.min())

Laboratorium Sistem Informasi dan Komputasi


Gedung Departemen Teknik Industri, Limau Manis Padang - 25163
lsikftunand | www.lsikftunand.wordpress.com
KEMENTERIAN PENDIDIKAN, KEBUDAYAAN, RISET, DAN TEKNOLOGI
UNIVERSITAS ANDALAS
FAKULTAS TEKNIK
DEPARTEMEN TEKNIK INDUSTRI
LABORATORIUM SISTEM INFORMASI DAN KOMPUTASI

4. DATA MANIPULATION

Data manipulation adalah suatu proses memanipulasi atau mengubah


dataagar mudah diorganisir dan mudah untuk dibaca/dipahami. Data
manipulation akan sangat membantu dalam proses analisis data. Ada
beberapa contoh penerapan data manipulation yang akan dijelaskan
sebagai berikut.

1. Checking And Changing Data Type


Function dtypes dan astype() pada Pandas dapat digunakan untuk
mengecek dan mengubah data type. Hal ini dapat memudahkan dalam
menganalisa suatu data. Banyak sekali permasalahan analisis yang
terhalang karena tipe data yang berbeda. Contohnya, ketika terdapat data
ranking yang biasanya dalam bentuk angka atau alfabet dan harus diganti
dalam bentuk numerik saat menganalisa dengan data yang lain.
Atau, terdapat data numerik yang sebenarnya adalah data yang
menunjukkan ID seseorang. Apabila dilakukan pengecekan, terkadang
dijumpai kondisi di mana data ID ini bertipe data integer, akan tetapi
berdasarkan definisinya seharusnya tipe data ini adalah string di mana tidak
bisa dilakukan analisa statistik walaupun bentuknya numerik.

# Mengecek data type


df.Parch.dtypes

# Mengubah data type


df['Parch_string'] = df['Parch'].astype(str)

2. Renaming Columns
Renaming digunakan untuk mengubah nama kolom seperti pada
contoh di bawah ini. Hal ini akan Anda butuhkan apabila dari data Anda

Laboratorium Sistem Informasi dan Komputasi


Gedung Departemen Teknik Industri, Limau Manis Padang - 25163
lsikftunand | www.lsikftunand.wordpress.com
KEMENTERIAN PENDIDIKAN, KEBUDAYAAN, RISET, DAN TEKNOLOGI
UNIVERSITAS ANDALAS
FAKULTAS TEKNIK
DEPARTEMEN TEKNIK INDUSTRI
LABORATORIUM SISTEM INFORMASI DAN KOMPUTASI

ternyata nama-nama kolom sulit dipahami konteksnya atau terlalu


panjang/pendek. Di bawah ini merupakan code untuk mengubah nama
kolom dalam DataFrame:

df = df.rename(columns={'Pclass': 'PassengerClass', 'Sex': 'Gender',


'SibSp': 'Num_Sibling', 'Parch': 'Num_Parent'})

3. Removing Data
Tidak semua data digunakan dalam analisa. Semakin banyak data yang
digunakan akan semakin mempersulit kita dalam menganalisa, sehingga
kita perlu untuk menghapus beberapa data yang tidak kita gunakan. Untuk
mereduksi data, Anda dapat menggunakan perintah drop seperti berikut:

df = df.drop(['Unnamed: 0', 'index', 'Ticket'], axis=1)

4. Filtering Data
Sama halnya dengan removing data, filtering data juga digunakan
agar hasil analisa kita dapat mengerucut ke objective atau tujuan analisis
tersebut. Kita dapat memanfaatkan fungsi-fungsi Data Frame pada Pandas
untuk memfilter data apa yang ingin diambil. Pada contoh di bawah ini, kita
memfilter data male only dan balita menjadi suatu dataframe baru. Kita juga
dapat memanfaatkan .iloc[] untuk mengambil row berdasarkan index yang
telah disetting.

male = df[df['Gender'] == 'male']


balita = df[df['Age'] <= 5]
df.iloc[0:2]

Laboratorium Sistem Informasi dan Komputasi


Gedung Departemen Teknik Industri, Limau Manis Padang - 25163
lsikftunand | www.lsikftunand.wordpress.com
KEMENTERIAN PENDIDIKAN, KEBUDAYAAN, RISET, DAN TEKNOLOGI
UNIVERSITAS ANDALAS
FAKULTAS TEKNIK
DEPARTEMEN TEKNIK INDUSTRI
LABORATORIUM SISTEM INFORMASI DAN KOMPUTASI

5. DATA WRANGLING

Data wrangling merupakan istilah untuk kesatuan proses pengolahan


suatu data mulai dari mengumpulkan data, memilih data, kemudian
mengubah data untuk menghasilkan analisis yang dapat menjawab
permasalahan.

1. Merging Data
Merging merupakan proses penggabungan dua atau lebih tabel
menjadi satu tabel agar memudahkan dalam mengolah suatu data. Di materi
sebelumnya, Anda telah belajar join table pada SQL. Konsep dari merging
ini sama dengan sebelumnya. Penggabungan 2 data dilakukan dengan
mencari kata kunci yang sama dari kedua data tersebut. Kita memiliki 2
tabel, yaitu tabel survived dan tabel age dimana PassengerId sebagai
primary key
survived = df[['PassengerId','Survived']]
age = df[['PassengerId','Age']]
df_new = survived.merge(age, how='left', on='PassengerId')

2. Grouping Data
Grouping dapat digunakan untuk agregasi dan mengelompokkan
berdasarkan kolom tertentu. Grouping ini banyak digunakan dalam proses
filtering data. Contoh penerapannya dapat dilihat pada syntax code di
bawah.

df_groupby(by=['Survived', 'Gender'], dropna=False).count()[['PassengerId']]

Laboratorium Sistem Informasi dan Komputasi


Gedung Departemen Teknik Industri, Limau Manis Padang - 25163
lsikftunand | www.lsikftunand.wordpress.com
KEMENTERIAN PENDIDIKAN, KEBUDAYAAN, RISET, DAN TEKNOLOGI
UNIVERSITAS ANDALAS
FAKULTAS TEKNIK
DEPARTEMEN TEKNIK INDUSTRI
LABORATORIUM SISTEM INFORMASI DAN KOMPUTASI

3. Transform Data
Data transformation merupakan suatu proses merubah format,
struktur, atau nilai dari suatu data. Terdapat berbagai macam data
transformation, seperti mengubah tipe data, mengubah data menjadi bentuk
yang standar atau normal, dan sebagainya.

4. Data Correlation
Data correlation digunakan untuk mengetahui seberapa besar
hubungan antara 2 variabel, apakah dua variabel tersebut memiliki
hubungan yang saling berkaitan atau tidak. Terdapat dua nilai dalam
korelasi, yaitu nilai positif (mempengaruhi) dan negatif (tidak
mempengaruhi). Perlu ditandai bahwa sebelum melakukan korelasi,
sebaiknya data diubah menjadi bentuk standar agar tidak terjadi perbedaan
skala.

df.correlation = df[['Age', 'Survived']]


df_correlation.corr()

Laboratorium Sistem Informasi dan Komputasi


Gedung Departemen Teknik Industri, Limau Manis Padang - 25163
lsikftunand | www.lsikftunand.wordpress.com
KEMENTERIAN PENDIDIKAN, KEBUDAYAAN, RISET, DAN TEKNOLOGI
UNIVERSITAS ANDALAS
FAKULTAS TEKNIK
DEPARTEMEN TEKNIK INDUSTRI
LABORATORIUM SISTEM INFORMASI DAN KOMPUTASI

6. HOW TO HANDLE OUTLIERS

Outlier merupakan suatu observasi pada kumpulan data yang memiliki


pola yang berbeda dari observasi-observasi lainnya pada kumpulan data
tersebut. Penyebab munculnya outlier antara lain:
● Adanya kesalahan prosedur dalam menginputkan data
● Kesalahan dalam pengukuran atau analisis
● Adanya keadaan khusus

Outlier dapat ditemukan secara univariat maupun multivariat. Outlier


univariat adalah outlier yang ada dalam satu variabel, sedangkan outlier
multivariat adalah outlier yang ada dalam dua atau lebih variabel.

Berikut merupakan beberapa cara mendeteksi outlier:

a. Boxplot

Laboratorium Sistem Informasi dan Komputasi


Gedung Departemen Teknik Industri, Limau Manis Padang - 25163
lsikftunand | www.lsikftunand.wordpress.com
KEMENTERIAN PENDIDIKAN, KEBUDAYAAN, RISET, DAN TEKNOLOGI
UNIVERSITAS ANDALAS
FAKULTAS TEKNIK
DEPARTEMEN TEKNIK INDUSTRI
LABORATORIUM SISTEM INFORMASI DAN KOMPUTASI

Output:

Pada gambar diatas, terdapat titik data yang jauh dari boxplot
sehingga terindikasi data tersebut dikatakan outlier.

b. Z-score
Langkah yang dilakukan untuk mendeteksi outlier dengan z-score
adalah menghitung z-score menggunakan rumus (Xi-mean)/std, kemudian
tentukan nilai ambang batas 3 dan tandai titik data yang nilai absolut z-score
lebih dari ambang batas sebagai outlier.

Laboratorium Sistem Informasi dan Komputasi


Gedung Departemen Teknik Industri, Limau Manis Padang - 25163
lsikftunand | www.lsikftunand.wordpress.com
KEMENTERIAN PENDIDIKAN, KEBUDAYAAN, RISET, DAN TEKNOLOGI
UNIVERSITAS ANDALAS
FAKULTAS TEKNIK
DEPARTEMEN TEKNIK INDUSTRI
LABORATORIUM SISTEM INFORMASI DAN KOMPUTASI

Code:

c. Interquartile Range (IQR)


Langkah deteksi outlier dengan IQR adalah sebagai berikut:

● Urutkan kumpulan data dalam urutan naik


● Hitung kuartil ke-1 dan ke-3 (Q1, Q3)
● Hitung IQR = Q3 – Q1
● Hitung batas bawah = (Q1 – 1.5*IQR) dan batas atas = (Q3 +
1.5*IQR)
● Periksa tiap nilai dalam data, lalu tandai data yang berada di bawah
batas bawah maupun di batas atas sebagai outliers

Laboratorium Sistem Informasi dan Komputasi


Gedung Departemen Teknik Industri, Limau Manis Padang - 25163
lsikftunand | www.lsikftunand.wordpress.com
KEMENTERIAN PENDIDIKAN, KEBUDAYAAN, RISET, DAN TEKNOLOGI
UNIVERSITAS ANDALAS
FAKULTAS TEKNIK
DEPARTEMEN TEKNIK INDUSTRI
LABORATORIUM SISTEM INFORMASI DAN KOMPUTASI

Contoh code:

Solusi
a. Menghapus outlier
Outliers yang terdeteksi akan dihapus dari dataset dan tidak diikutkan dalam
Analisa. Berikut merupakan contoh code python menghapus outlier pada
kolom lead.

b. Mengganti dengan nilai pada batas tertentu


Dalam Teknik ini, outlier dibatasi pada nilai tertentu di atas nilai persentil
ke-90 atau di bawah nilai persentil ke-10. Berikut ini merupakan contoh code
python:

Laboratorium Sistem Informasi dan Komputasi


Gedung Departemen Teknik Industri, Limau Manis Padang - 25163
lsikftunand | www.lsikftunand.wordpress.com
KEMENTERIAN PENDIDIKAN, KEBUDAYAAN, RISET, DAN TEKNOLOGI
UNIVERSITAS ANDALAS
FAKULTAS TEKNIK
DEPARTEMEN TEKNIK INDUSTRI
LABORATORIUM SISTEM INFORMASI DAN KOMPUTASI

c. Mengganti dengan nilai median


Karena nilai rata-rata sangat dipengaruhi oleh outlier, disarankan untuk
mengganti outlier dengan nilai median dibandingkan nilai rata-rata. Berikut
ini merupakan contoh code python.

7. HOW TO HANDLE IMBALANCED DATA

Data yang tidak seimbang merupakan masalah yang harus dihadapi


dalam melakukan sebuah pemodelan. Masalah ini sering muncul dalam
pemodelan klasifikasi, dimana target value tidak sama atau proporsi kelas
yang tidak sama.

Berikut ini contoh data yang tidak seimbang seperti status pinjaman.

Laboratorium Sistem Informasi dan Komputasi


Gedung Departemen Teknik Industri, Limau Manis Padang - 25163
lsikftunand | www.lsikftunand.wordpress.com
KEMENTERIAN PENDIDIKAN, KEBUDAYAAN, RISET, DAN TEKNOLOGI
UNIVERSITAS ANDALAS
FAKULTAS TEKNIK
DEPARTEMEN TEKNIK INDUSTRI
LABORATORIUM SISTEM INFORMASI DAN KOMPUTASI

Sebagian besar algoritma machine learning tidak bekerja dengan baik


dengan dataset tidak seimbang. Imbalance pada data yang digunakan akan
menghasilkan model yang tidak cocok. Cara mengatasi imbalance data
dengan cara berikut:

a. Undersampling
Undersampling menyeimbangkan dataset dengan mengurangi ukuran
kelas mayoritas. Metode ini digunakan Ketika jumlah data mencukupi.
Kelebihan cara ini adalah meningkatkan waktu pemrosesan dan
meminimalisir masalah penyimpanan dengan mengurangi data training
Ketika dataset yang digunakan sangat besar. Kekurangan cara ini adalah
membuang informasi yang mungkin penting dalam pengelompokkan. Selain
itu, sampel yang diambil secara acak bisa merupakan sample bias, tidak
mempresentasikan populasi sehingga akurasi yang diperoleh tidak akan
baik.

b. Oversampling
Oversampling digunakan Ketika jumlah data tidak mencukupi.
Oversampling adalah mencoba menyeimbangkan dataset dengan
meningkatkan ukuran sampel minoritas dengan mereplikasi secara acak

Laboratorium Sistem Informasi dan Komputasi


Gedung Departemen Teknik Industri, Limau Manis Padang - 25163
lsikftunand | www.lsikftunand.wordpress.com
KEMENTERIAN PENDIDIKAN, KEBUDAYAAN, RISET, DAN TEKNOLOGI
UNIVERSITAS ANDALAS
FAKULTAS TEKNIK
DEPARTEMEN TEKNIK INDUSTRI
LABORATORIUM SISTEM INFORMASI DAN KOMPUTASI

untuk menyajikan representasi yang lebih tinggi dari kelas minoritas dalam
sampel.

c. Metode SMOTE
SMOTE merupakan pengembangan dari metode oversampling
dimana Teknik ini mensintesis sampel baru dari kelas minoritas untuk
menyeimbangkan dataset dengan cara sampling ulang sampel kelas
minoritas. Perbedaan dengan metode oversampling adalah Ketika metode
oversampling memperbanyak pengamatan secara acak maka metode
SMOTE memperbanyak jumlah data kelas minoritas agar setara dengan
kelas minoritas. Berikut merupakan contoh code python penggunaan
metode SMOTE dengan memanggil package imblearn

Dibuat Diperiksa Disetujui

Tanggal 19 Februari 2024 Tanggal 19 Februari 2024 Tanggal 19 Februari 2024

Oleh Muhammad Andra Fahreza Oleh Naufal Syafiq Oleh Asmuliardi Muluk, M.T.

Jabatan Koordinator Praktikum Jabatan Koordinator Asisten Jabatan Kepala Laboratorium

Tanda Tanda Tanda


Tangan Tangan Tangan

Laboratorium Sistem Informasi dan Komputasi


Gedung Departemen Teknik Industri, Limau Manis Padang - 25163
lsikftunand | www.lsikftunand.wordpress.com
KEMENTERIAN PENDIDIKAN, KEBUDAYAAN, RISET, DAN TEKNOLOGI
UNIVERSITAS ANDALAS
FAKULTAS TEKNIK
DEPARTEMEN TEKNIK INDUSTRI
LABORATORIUM SISTEM INFORMASI DAN KOMPUTASI

Laboratorium Sistem Informasi dan Komputasi


Gedung Departemen Teknik Industri, Limau Manis Padang - 25163
lsikftunand | www.lsikftunand.wordpress.com

Anda mungkin juga menyukai