Modul RPD 1
Modul RPD 1
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
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
pd.isnull(df).sum()
df = df.drop(['column_name'], axis=1)
df['column_name'].fillna(int(df['column_name'].mean()), inplace=True)
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.
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()
4. DATA MANIPULATION
2. Renaming Columns
Renaming digunakan untuk mengubah nama kolom seperti pada
contoh di bawah ini. Hal ini akan Anda butuhkan apabila dari data Anda
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:
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.
5. DATA WRANGLING
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.
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.
a. Boxplot
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.
Code:
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.
Berikut ini contoh data yang tidak seimbang seperti status pinjaman.
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
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
Oleh Muhammad Andra Fahreza Oleh Naufal Syafiq Oleh Asmuliardi Muluk, M.T.