DATA PREPARATION


 1. Data Cleaning

Data cleaning atau Pembersihan data adalah proses memperbaiki atau menghapus data yang salah, rusak, formatnya salah, duplikat, atau tidak lengkap dalam kumpulan data. Data cleaning merupakan tahapan yang perlu dilakukan sebelum analisis data karena biasanya data mentah mengandung informasi yang tidak akurat, tidak tersusun rapi, atau tidak lengkap.

Manfaat dari data cleaning :
  1. Analisis data yang lebih akurat : Melalui data cleaning, data yang bersih dapat mengurangi risiko munculnya misinformasi akibat anomali atau data yang kotor.
  2. Mendorong pengambilan keputusan yang lebih baik : Analisis data yang akurat juga dapat mendorong berhasilnya kebijakan yang tepat sasaran dan terhindar dari risiko bisnis.
  3. Menghemat pengeluaran : Data yang bersih dan analisis yang akurat mengurangi potensi perlunya mengulang pekerjaan akibat data yang error. Hal ini membuat perusahaan dapat menghemat waktu dan sumber daya.
Cara Melakukan Data Cleaning

Berikut adalah beberapa prosedur yang perlu di perhatikan ketika sedang melakukan data cleaning.
  1. Perhatikan format data
  2. Buang data-data duplikat
  3. Hapus data-data yang tidak konsisten
  4. Perhatikan outlier
  5. Atasi data yang tidak mempunyai nilai.
Tools Data Cleaning

Berikut adalah beberapa tools yang umum dipakai untuk data cleaning pada data science :

  1. Microsoft Excel : Software Spreadsheet seperti Microsoft Excel adalah tools yang dapat digunakan untuk melakukan data cleaning, dapat melakukan penyaringan dan pengelompokan data, serta membuang duplikat.
  2. R : R adalah bahasa pemrograman yang cocok untuk analisis statistik dan pembersihan data. Ada beberapa paket yang memiliki fungsi khusus untuk mengenali dan membersihkan data yang tidak rapi.
  3. Python : Python merupakan bahasa pemrograman yang sangat fleksibel, terutama dalam konteks pembersihan data. Ada beberapa pustaka Python yang bisa digunakan untuk mengolah data, seperti Pandas, NumPy, dan SciPy.
  4. Postgre SQL : Structured Query Language (SQL), khususnya melalui PostgreSQL, dapat menjadi tools untuk kamu melakukan data cleaning, terutama dataset yang besar dan tersimpan ke dalam cloud.
Contoh Data Cleaning dengan menggunakan Python

1. Penanganan Data Hilang

2. Penanganan Duplikat Data

 2. Data Collection

Pengumpulan data merupakan langkah menghimpun, mengukur, dan menganalisis informasi yang akurat guna keperluan penelitian, menggunakan metode yang telah teruji dan tervalidasi. Dalam istilah yang lebih mudah dipahami, pengumpulan data adalah proses menggali informasi untuk tujuan tertentu, seperti menjawab pertanyaan penelitian, mendukung pengambilan keputusan bisnis, atau meningkatkan produk dan layanan.

Metode Pengumpulan Data

Pengumpulan data adalah langkah dimana data dikumpulkan dari berbagai sumber yang berbeda untuk keperluan analisis guna menghasilkan informasi atau wawasan. Di bidang ilmu data, pengumpulan data merupakan tahap yang sangat krusial karena kualitas dan jumlah data yang terkumpul dapat memengaruhi akurasi dan relevansi dari informasi atau wawasan yang dihasilkan.

Sumber Data

Berdasarkan tipe sumber data, sumber data terbagi menjadi 2, yaitu :

1. Sumber data primer

Sumber data primer bersumber dari data utama yang dikumpulkan sendiri langsung oleh peneliti menyesuaikan kebutuhan penelitiannya. Sumber data primer dapat diperoleh dengan melakukan wawancara, observasi, survey, atau kuisioner.

2. Sumber data sekunder

Sumber data sekunder bersumber dari data yang dikumpulkan oleh orang lain dan dapat digunakan oleh peneliti  lain untuk melakukan penelitian mereka sendiri. Sumber data ini dapat diperoleh dari data penelitian orang lain, open data, buku, dll.

Metode Pengumpulan Data

Pengumpulan data dapat dilakuakn secara manual maupun secara real time. Pengumpulan secara real time memerlukan bantuan tools dan teknologi tertentu. Berikut metode pengumpulan data secara manual :
  • Kuisioner : Metode kuisioner yaitu dengan cara memberikan beberapa pertanyaan kepada responden yang biasanya disajikan dalam bentuk formulir.
  • Interview : merupakan metode pengumpulan data dengan memberikan pertanyaan langsung dengan melakukan percakapan dengan responden.
  • Observasi : mengumpulkan data dengan memantau, merekam, mengamati, perilaku atau aktivitas dari suatu sample.
  • Web Scraping : adalah teknik untuk mendapatkan data yang tidak terstruktur seperti teks, foto, informasi produk, dan lain-lain, dari suatu website atua sumber informasi online lainnya. Metode web scraping memerlukan beberapa perangkat lunak atau kode pemrograman seperty Python, Javascript, atau website penyedia layanan web scraping.
Berikut metode pengumpulan data secara real time :
  • Sensor dan Perangkat IoT : Sensor berguna untuk mengumpulkan data-data operational seperti suhu, cahaya, pergerakan, dan lain-lain. Untuk selanjutnya data tersebut diolah dan dihasilkan action melaui perngakat-perangkat IoT.
  • Data Streams : Data stream merupakan metode yang digunakan untuk mengumpulkan data yang terus-menerus mengalir. Aliran data tersebut di dapat dari beberapa sumber seperti perangkat IoT, GPS, social media post, data transaksi penjualan, dan lain-lain.
Format File

Terdapat beberapa format file yang biasa digunakan untuk data colletion diantaranya :
  • CSV (Comma Separated Values)
  • XML (Extensible Markup Language)
  • JSON (Javascript Object Nation)
  • Exce
  • SQL (Structured Query Language)
  • Teks
Tools Data Collection
  • Google Form, Google Sheet
  • Python
  • Scrapy
Dataset

Dataset merupakan istilah yang tidak formal yang mengacu pada kumpulan data. Secara umum, dataset terdiri dari lebih dari satu variabel dan berkaitan dengan topik tertentu. Pengertian dataset adalah kumpulan data yang berasal dari informasi masa lalu dan siap untuk diolah menjadi informasi baru. Dataset memiliki 2 jenis yaitu :
  • Private Dataset : merupakan dataset yang dapat diambil dari sebuah organisasi yang akan dilakukan sebagai objek penelitian, seperti data bank, rumah sakit, sekoalh, universitas, perusahaan, dan lain sebagainya.
  • Public Dataset : adalah dataset yang bisa diambil dari repository publik dan dibuka untuk umum.

3. Data Transform

Transformasi data merujuk pada proses mengubah data dari satu bentuk atau struktur ke bentuk atau struktur lainnya. Ini melibatkan serangkaian operasi yang diterapkan pada data untuk memanipulasi, membersihkan, atau mengubah formatnya agar lebih mudah dipahami, diolah, atau dianalisis. Tujuan dari transformasi data bisa bermacam-macam, seperti memperbaiki kesalahan, menyederhanakan data, menggabungkan data dari beberapa sumber, atau menyesuaikan skala data agar sesuai dengan kebutuhan analisis tertentu.

Methods :
A. Smoothing, merujuk pada teknik untuk mengurangi fluktuasi atau noise dalam data dengan cara membuat data lebih "halus" atau lebih mudah dikenali pola-pola umumnya. Berikut beberapa metode smoothing yang umum digunakan.
  • Moving Average : Metode ini melibatkan perhitungan nilai rata-rata dari serangkaian titik data yang berdekatan. Nilai rata-rata tersebut kemudian digunakan sebagai representasi titik data yang "halus". Moving average membantu mengurangi fluktuasi yang terjadi dalam data acak.

Pada gambar diatas merupakan contoh smoothing menggunakan metode moving average terhadap data penjualan setiap bulan. Proses smoothing yaitu melibatkan pengambilan rata-rata dari nilai-nilai data dalam jendela yang bergerak melalui rangkaian data. jendela yang digunakan diatas yaitu 3 bulan. Setiap nilai dalam data akan digantikan oleh rata-rata dari nilai-nilai dalam jendela tersebut. Metode ini membantu menghilangkan fluktuasi kecil atau noise dari data sehingga membuat tren atau pola yang lebih jelas.
  • Exponential Smoothing : Metode ini memberikan bobot lebih besar pada data yang lebih baru dari pada data yang lebih lama, sehingga perubahan yang terjadi dalam data lebih responsif terhadap perubahan baru. Ini berguna ketika memiliki tren atau pola yang berubah seiring waktu.

Pada contoh diatas, dilakukan exponential smoothing terhadap data penjualan bulanan. Exponential smoothing merupakan metode smoothing yang digunakan untuk mengurangi fluktuasi dalam data time series dengan memberikan bobot yang lebih tinggi pada observasi yang lebih baru. Pada setiap titik waktu, nilai smoothed dihitung sebagai kombinasi tertentu antara nilai observasi terkini dengan nilai smoothed sebelumnya. Parameter α (alpha) menentukan seberapa besar bobot yang diberikan pada observasi terkini, semakin besar nilai α, semakin besar bobot yang diberikan pada observasi terkini. Saat α mendekati 1, metode ini memberikan bobot yang sangat tinggi pada observasi terkini, sehingga data yang dihasilkan menjadi lebih responsif terhadap perubahan tertentu.
  • Kernel Smoothing : Metode ini menggunakan fungsi kernel untuk menghitung rata-rata tertimbang dari titik data di sekitar titik yang ingin dilakukan smoothing. Bobot diberikan kepada titik data berdasarkan seberapa jauh jaraknya dari titik yang akan dilakukan smoothing.

Gambar diatas merukan contoh Kernel Smoothing terhadap data penjualan setiap bulannya. Kernel smoothing adalah metode smoothing yang menggunakan fungsi kernel untuk  memperhalus data. Pada setiap titik data, fungsi kernel diterapkan untuk menimbang nilai-nilai data di sekitarnya. Nilai bobot yang dihasilkan oleh fungsi kernel menentukan seberapa besar pengaruh setiap titik data terhadap nilai smoothed di titik tersebut. KDE (kernel density estimation) adalah salah satu teknik kernel smoothing yang digunakan untuk mengestimasi fungsi densitas probabilitas dari data observasi yang diberikan. 
  • Spline Smoothing : Metode ini menggunakan kurva spline untuk menyesuaikan data yang diluruskan diantara titik data yang ada. Ini menghasilkan kurva halus yang melewati titik data yang ada dengan cara yang paling "halus".

Pada contoh diatas, dilakukan spline smoothing terhadap data penjualan bulanan menggunakan fungsi 'UnivariateSpline' dari modul 'scipy.interpolate'. Spline smoothing membantu mengurangi fluktuasi dalam data dengan menghasilkan kurva yang lebih halus. Pada plot hasil smoothing, kurva merah akan lebih halus dibandingkan dengan kurva biru, karema fluktuasi dalam data telah dikurangi.

B. Aggregation, aggregation adalah proses penggabungan beberapa nilai menjadi satu nilai tunggal berdasarakan suatu fungsi atau aturan tertentu. Ini adalah teknik yang umum digunakan dalam analisis data untuk merangkum informasi dari dataset yang lebih besar menjadi bentuk yang lebih terkelompok atau lebih terperinci, tergantung pada kebutuhan analisis. Berikut adalah contoh sederhana penggunaan aggregation dalam analisis data menggunakan Google Colab :

Dalam contoh diatas, kita menggunakan fungsi 'groupby' dari lebrary pandas untuk melakukan aggregation berdasarkan kolom Tahun dan Bulan. Kemudian, kita menggunakan fungsi agregasi seperti 'sum' dan 'mean' untuk merangkum data penjualan per tahun dan per bulan. Hasil aggregasi tersebut kemudia di representasikan untuk dianalisis lebih lanjut.

C. Normalization : Normalization adalah proses mengubah atau menyesuaikan rentang nilai dari suatu dataset sehingga nilainya berada dalam rentang yang spesifik atau standar. Tujuan normalization adalah untuk menghasilkan data yang konsisten dalam skala yang sama, yang memungkinkan perbandingan yang lebih akurat antara berbagai fitur atau variabel dalam dataset. 
Contoh, kita memiliki dataset berisi dua fitur yaitu tinggi bedan dan berat badan. Tinggi badan mungkin memiliki rentang nilai antara 150 cm hingga 200cm, sementara berat badan memiliki rentang nilai antara 50 kg hingga 100 kg. Dalam kasus ini, kita dapat menggunakan normalization untuk menyesuaikan kedua fitur tersebut sehingga rentang nilainya menjadi reagam, misalnya 0 hingga 1.
Berikut adalah contoh penerapan normalization pada dataset menggunakan lebrary scikit-learn di Google Colab.
Dalam contoh diatas, kita menggunakan MinMaxScaler dari scikit-learn untuk melakukan normaslisasi data. Fitur tinggi badan dan berat badan dari dataset diubah sehingga nilainya berada dalam rentang antara 0 dan 1.

D. Discretization, adalah proses konversi variabel kontinu menjadi variabel diskrit atau kategori. Tujuan utama dari discretization adalah untuk menyederhanakan data denagn mengelompokan nilai-nilai yang kontinu ke dalam interval atau kategori yang diskrit. Contoh penerapan discretization adalah pada data yang memiliki variabel kontine seperti usia, pendapatan, atau suhu, yang ingin kita konversi menjadi kategori interval. Misalnya, kita memiliki data tentang usia seseorang dalma tahun, dan kita ingin mengelompokan usia tersebut ke dalam beberapa kategori seperti "anak-anak", "remaja", "dewasa muda", "dewas", dan "lansia". Berikut contoh penerapan discretization mengguanakn library pandas di Google Colab.

Dalam contoh diatas, kita menggunakan fungsi 'discretize_age' untuk mengelompokan usia menjadi beberapa kategori berdasarkan rentang nilai yang ditentukan. Kemudian, kita menerapakan fungsi tersebut ke kolom usia dari dataframe menggunakan metode 'apply'. Hasilnya adalah DataFrame baru yang berisi data usia yang sudah didiscretization menjadi kategori-kategori yang telah ditentukan.

4. Data Reduction

Data reduction adalah proses mengurangi volume data yang tidak relevan atau redundan dalam sebuah dataset, dengan tetap mempertahankan informasi yang penting atau signifikan. Tujuan dari data reduction adalah untuk meningkatkan efisiensi pengolahan data, mengurangi waktu komputasi, menghemat penyimpanan dan meningkatkan kualitas analisis.

Contoh penerapan data reduction adalah pada data yang sangat besar atau kompleks, seperti dalam analisis big data atau data mining. Ketika kita memiliki dataset yang sangat besar, seringkali terdapat banyak fitur atau kolom yang tidak relevan atau redundan, serta baris atau observasi yang tidka penting. Dalam hal inim kita dapat menggunakan teknik data reduction untuk mengurangi ukuran dataset tanpa kehilangan informasi yang penting.

Salah satu teknik data reduction yang umum digunakan adalah feature selection atau seleksi fitur, dimana kita memilih subset fitur yang paling informatif atau relevan dari keseluruhan fitur dalam dataset. Contoh penerapannya adalah sebagai berikut :

Dalam contoh diatas, kita menggunakan dataset iris yang merupakan dataset bawaan dari library scikit-learn. kemudian, kita menerapkan seleksi fitur menggunakan metode chi-square untuk memilih dua fitur terbaik dari dataset. Hasilnya adalah subset fitur yang lebih kecil namun masih mempertahankan informasi yang penting dari dataset iris. Hal ini membantu dalam mengurangi dimensi dataset, sehingga mengurangi kompleksitas dan waktu komputasi dalam proses analisis data.

Referensi :
https://revou.co/kosakata/data-cleaning
https://dibimbing.id/blog/detail/data-cleaning-arti-manfaat-dan-cara-melakukannya
https://www.questionpro.com/blog/data-collection/
https://medium.com/@fitrikurniawati3021/data-collection-41289fafc9b0


Komentar

Postingan Populer