Data Prepocessing (Data Cleansing) bulan lalu, yakni Juni 2020. Show
Langkah yang akan dilakukan adalah,
Library yang DigunakanPada analisis kali ini, akan digunakan beberapa package yang membantu kita dalam melakukan analisis data,
Data yang DigunakanUntuk Dataset yang digunakan sudah disediakan dalam format csv, silahkan baca melalui fungsi pandas di python Untuk detil datanya adalah sebagai berikut:
Import Library dan DatasetBerdasarkan penjelasan mengenai library dan dataset yang akan digunakan, sekarang hal pertama yang akan kita lakukan adalah melakukan import library dan dataset ke dalam workspace kita. Setelah dataset di-import ke dalam workspace, tampilkan jumlah kolom dan baris dari data set dengan menggunakan .shape dan print 5 baris teratas dengan menggunakan head() dan carilah ada berapa nilai customerID yang bersifat unique dengan menggunakan .unique import pandas as pd Notes : 1. pd.options.display.max_columns = 50 digunakan untuk mempermudah penampilan row data 2. Simpan dataset ke dalam variabel df_load
Memfilter ID Number Pelanggan Format TertentuMencari format ID Number (Phone Number) Pelanggan
Gunakan fungsi Notes : Buat kolom bantuan baru dengan nama `valid_id` Hasil yang diharapkan adalah sebagai berikut.
Memfilter Duplikasi ID Number PelangganMemastikan bahwa tidak ada Id Number pelanggan yang duplikat. Biasanya duplikasi ID number ini tipenya:
Gunakan hasil dari
pengolahan di tahap sebelumnya Berikut adalah hasil jumlah Customer ID :Hasil jumlah ID Customer yang sudah dihilangkan duplikasinya (distinct) adalah 6993
KesimpulanValiditas dari ID Number pelanggan sangat diperlukan untuk memastikan bahwa data yang kita ambil sudah benar. Berdasarkan hasil tersbut, terdapat perbedaan jumlah nomor ID dari data pertama kali di load sampai dengan hasil akhir. Jumlah row data ketika pertama kali di load ada sebanyak 7113 rows dan 22 coloumns dengan 7017 jumlah ID yang Unique. Kemudian setelah di cek validitas dari ID pelanggan, maka tersisa 6993 rows data Mengatasi Missing Values dengan Penghapusan RowsSelanjutnya kita akan menghapus Rows dari data-data yang tidak terdeteksi apakah dia churn atau tidak. Di asumsikan data modeller hanya mau menerima data yang benar ada flag churn nya atau tidak. Gunakan Berikut adalah hasil yang diharapkan :
Mengatasi Missing Values dengan Pengisian Nilai tertentuSelain dengan mengapus rows dari data, menangani missing values bisa menggunakan nilai tertentu. Diasumsikan data modeller meminta pengisian missing values dengan kriteria berikut:
Tentukan :
KesimpulanSetelah kita analisis lebih lanjut, ternyata masih ada Missing Values dari data yang kita sudah validkan Id Number pelanggannya. Missing values terdapat pada kolom Mendeteksi adanya Outlier (Boxplot)Mendeteksi Pencilan dari suatu Nilai (Outlier) salah satunya bisa melihat plot dari data tersebut menggunakan Box Plot. Boxplot merupakan ringkasan distribusi sampel yang disajikan secara grafis yang bisa menggambarkan bentuk distribusi data (skewness), ukuran tendensi sentral dan ukuran penyebaran (keragaman) data pengamatan. Gunakan package Berikut hasil yang diharapkan setelah program dijalankan.
Mengatasi OutlierSetelah kita mengetahui variable mana saja yang terdapat pencilan (Outlier), selanjutnya kita akan atasi Outlier dengan menggunakan metode interquartile range (IQR). Untuk detil jelasnya, bisa dilihat di ilustrasi di bawah ini: Gunakan hasil dari pengolahan di tahap sebelumnya
KesimpulanDari ketiga boxplot dengan variable 'tenure','MonthlyCharges' & 'TotalCharges' terlihat jelas bahwasannya ada outlier. Hal ini bisa di identifikasi dari adanya titik titik yang berada jauh dari gambar boxplotnya. Kemudian kalo kita liat persebaran datanya dari kolom max nya juga ada nilai yang sangat tinggi sekali. Kemudian nilai outlier tersebut ditangani dengan cara merubah nilainya ke nilai Maximum & Minimum dari interquartile range (IQR). Setelah di tangani outliernya, dan dilihat perseberan data nya, terlihat sudah tidak ada lagi nilai yang outlier. Mendeteksi Nilai yang tidak StandarMendeteksi apakah ada nilai-nilai dari variable kategorik yang tidak standard. Hal ini biasanya terjadi dikarenakan kesalahan input data. Perbedaan istilah menjadi salah satu faktor yang sering terjadi, untuk itu dibutuhkan standarisasi dari data yang sudah terinput. Gunakan fungsi Adapun potongan dari hasil yang diharapkan adalah sebagai berikut
Menstandarisasi Variable KategorikSetelah kita mengeteahui variable mana saja yang ada nilai tidak standar, maka kita standarkan dengan pola terbanyak nya, dengan syarat tanpa mengubah maknanya. Contoh : Iya -> Yes Kemudian
liat kembali unique values dari masing-masing variable yang sudah di ubah. Gunakan fungsi
KesimpulanKetika kita amati lebih jauh dari jumlah unique value dari masing-masing variable kategorik, terlihat jelas bahwa ada beberapa variable yang tidak standar. Variable itu adalah :
Setelah kita standarkan nilainya, dan kita amati kembali bentuk datanya, sudah terstandar dengan baik untuk unique value nya. Apa kegunaan info () yang merupakan built in function milik sebuah Pandas Dataframe?info() info() digunakan untuk menampilkan informasi detail tentang dataframe, seperti jumlah baris data, nama-nama kolom berserta jumlah data dan tipe datanya, dan sebagainya.
Apa itu ILOC pada Python?Iloc merupakan kependekan dari index location. Sama seperti loc, digunakan untuk menyeleksi data pada lokasi tertentu saja.
Apa kegunaan Pandas?Salah satu tools yang mungkin paling sering digunakan oleh data scientist adalah Pandas. Dalam bahasa pemrograman Python, Pandas adalah alat yang sangat berguna sebagai library yang mengatur tata letak data sehingga mudah dicari secara intuitif.
Apa itu Dataframe pada Pandas?Data frame merupakan tabel/data tabular dengan array dua dimensi yaitu baris dan kolom. Struktur data ini merupakan cara paling standar untuk menyimpan data. Setiap kolom pada data frame merupakan objek dari Series, dan baris terdiri dari elemen yang ada pada Series.
|