# data[].attributes.headline
Bagaimana mendokumentasikan proses data understanding dalam proyek AI

# data[].attributes.subject
Bagaimana mendokumentasikan proses data understanding dalam proyek AI

# data[].attributes.body
Dokumentasi proses Data Understanding dalam proyek AI merupakan langkah penting untuk memastikan bahwa setiap bagian dari pengolahan data dapat dilacak dan dipahami oleh semua anggota tim. Berikut adalah elemen-elemen kunci yang harus didokumentasikan dalam tahapan ini, termasuk catatan tentang sumber data, preprocessing, dan Exploratory Data Analysis (EDA):

1. Sumber Data

- Asal Data: Catat sumber data secara rinci, termasuk apakah data diperoleh dari API, database internal, file CSV, atau sumber eksternal lainnya. Misalnya:

- Nama dataset.

- Sumber data (misalnya, sumber publik, internal, atau berbayar).

- Tanggal pengunduhan atau akuisisi.

- URL atau jalur file.

- Deskripsi Data: Gambarkan dataset yang digunakan (jumlah kolom, jumlah baris, tipe data, dsb).

- Lisensi dan Keterbatasan Penggunaan: Jika data berasal dari pihak ketiga, catat lisensi penggunaan atau batasan legal (jika ada).

2. Preprocessing Data

Dokumentasikan setiap langkah pemrosesan data sebelum masuk ke model AI. Beberapa poin yang harus dicatat antara lain:

- Pembersihan Data:

- Penanganan nilai hilang (null atau NaN) dan bagaimana mereka diatasi (misalnya: imputasi, penghapusan, dsb.).

- Penghapusan data duplikat.

- Transformasi Data:

- Normalisasi atau standarisasi fitur (misalnya: min-max scaling atau Z-score normalization).

- One-hot encoding untuk kategori variabel.

- Feature engineering (misalnya, pembuatan fitur baru, transformasi waktu/durasi).

- Pengurangan Dimensi: Jika ada reduksi dimensi seperti PCA, jelaskan alasannya dan efeknya terhadap data.

- Data Balancing: Jika dataset tidak seimbang, dokumentasikan metode balancing (oversampling, undersampling, SMOTE, dsb.).

3. EDA (Exploratory Data Analysis)

Dalam tahapan EDA, buat catatan mengenai analisis awal terhadap data. Biasanya, ini mencakup langkah-langkah berikut:

- Deskripsi Statistik:

- Deskripsi statistik dasar (rata-rata, median, modus, standar deviasi, dll.) untuk setiap fitur.

- Distribusi data dan outliers.

- Visualisasi Data:

- Visualisasi hubungan antar fitur (scatter plot, heatmap korelasi, histogram, box plot, dsb.).

- Visualisasi tren atau pola dalam data (misalnya tren waktu atau kategoris).

- Analisis Korelasi:

- Catatan mengenai fitur yang berkorelasi tinggi dan bagaimana korelasi ini dapat mempengaruhi model (multikolinearitas).

- Hipotesis Awal: Berdasarkan analisis EDA, dokumentasikan setiap hipotesis awal mengenai fitur atau tren yang dapat mempengaruhi model.

4. Masalah yang Ditemukan

- Catat setiap masalah yang muncul selama proses understanding, seperti:

- Ketidakkonsistenan dalam data (misalnya, unit yang berbeda di kolom yang sama).

- Data yang tidak lengkap atau kotor.

- Variabel dengan variabilitas yang sangat rendah (konstan) atau variabilitas yang sangat tinggi (misalnya outliers).

- Solusi yang diterapkan untuk masalah-masalah tersebut.

5. Alasan Keputusan

- Pastikan untuk mendokumentasikan alasan di balik keputusan yang diambil selama preprocessing dan EDA. Misalnya:

- Mengapa outliers dihapus atau diabaikan.

- Mengapa variabel tertentu dipilih atau dihapus dari model.

- Alasan menggunakan transformasi tertentu (misalnya log transformasi).

Sumber : https://miro.medium.com/v2/resize:fit:1400/1*TqevydqCPsI5cBQa4Ucpcg.png Dan Chatgpt.com

# data[].attributes.headline
Apa saja langkah-langkah pembersihan data yang dilakukan?
Identifikasi proses yang dilakukan untuk menangani missing values, duplikasi, dan inkonsistensi dalam data.

# data[].attributes.subject
Apa saja langkah-langkah pembersihan data yang dilakukan?
Identifikasi proses yang dilakukan untuk menangani missing values, duplikasi, dan inkonsistensi dalam data.

# data[].attributes.body
Memahami Data

Sebelum melakukan data cleaning, penting untuk memahami data yang akan diolah terlebih dahulu. Hal ini dilakukan untuk mengidentifikasi jenis data yang ada dalam dataset, serta untuk melihat apakah ada kesalahan data yang perlu diperbaiki. Berikut adalah beberapa hal yang dapat dilakukan untuk memahami data:

1. Mengidentifikasi jenis data dalam dataset:

Data numerik: data yang terdiri dari angka.

Data kategorikal: data yang terdiri dari kategori atau label.

Data teks: data yang terdiri dari karakter atau kata-kata.

Data datetime: data yang terdiri dari tanggal dan waktu.

2. Melihat preview dataset:

Melihat 5 atau 10 baris pertama dataset menggunakan function head().

Melihat 5 atau 10 baris terakhir dataset menggunakan function tail().

Melihat ukuran dataset menggunakan function shape().

3. Mencari anomali yang ada di data:

Mengidentifikasi nilai yang hilang (missing values).

Mengidentifikasi data duplikat.

Melihat statistik deskriptif dataset menggunakan function describe().

Dengan memahami jenis data dan anomali yag ada di dalam dataset, kita dapat mengidentifikasi masalah yang perlu diatasi dalam tahapan selanjutnya, yaitu membersihkan data.

Mengatasi Missing Values

Missing values atau nilai yang hilang adalah salah satu masalah umum dalam dataset. Hal ini dapat terjadi karena beberapa alasan, seperti data yang tidak diinput dengan lengkap atau data yang tidak dapat diambil. Untuk mengatasi masalah ini, kita dapat melakukan beberapa cara, antara lain:

1. Mengidentifikasi missing values:

Melihat jumlah missing values dalam setiap kolom menggunakan function isna() dan sum().

Melihat jumlah missing values dalam setiap baris menggunakan function isna().sum(axis=1).

2. Cara menangani missing values:

Menghapus baris atau kolom yang mengandung missing values menggunakan function dropna().

Mengisi missing values dengan nilai tertentu menggunakan function fillna().

Mengisi missing values dengan nilai statistik seperti mean atau median menggunakan function fillna().

3. Contoh penggunaan function untuk mengatasi missing values:

Menghapus kolom yang mengandung missing values: df.dropna(axis=1).

Mengisi missing values dengan nilai tertentu: df.fillna(0).

Mengisi missing values dengan nilai statistik: df.fillna(df.mean()).

Dengan membuat data menjadi lebih konsisten, kita dapat memastikan bahwa data yang digunakan untuk analisis lebih mudah dibaca dan diproses.

Memiliki Data yang Konsisten

Selain mengatasi missing values, data cleaning juga meliputi membuat data menjadi lebih konsisten. Hal ini dapat dilakukan dengan beberapa cara, antara lain:

1. Normalisasi data:

Memastikan bahwa data dalam satu kolom memiliki format yang seragam.

Contoh: Mengubah semua teks menjadi huruf kecil atau huruf besar.

2. Membuang whitespace:

Menghapus spasi yang tidak perlu pada data.

Contoh: Menghapus spasi di awal atau akhir teks.

3. Contoh penggunaan function untuk normalisasi data:

Mengubah semua teks menjadi huruf kecil: df['kolom'].str.lower().

Mengubah semua teks menjadi huruf besar: df['kolom'].str.upper().

Menghapus spasi di awal atau akhir teks: df['kolom'].str.strip().

Menghilangkan Data Duplikat

Data duplikat dapat mengganggu analisis data dan menghasilkan informasi yang salah. Oleh karena itu, penting untuk menghilangkan data duplikat dalam dataset. Langkah-langkah yang dapat dilakukan untuk menghilangkan data duplikat adalah sebagai berikut:

1. Mengidentifikasi data duplikat:

Melihat jumlah data duplikat dalam dataset menggunakan function duplicated() dan sum().

Melihat data duplikat dalam dataset menggunakan function loc[duplicated()].

2. Menghapus data duplikat:

Menghapus baris yang duplikat menggunakan function drop_duplicates().

Memastikan data yang tersisa unik dan terurut menggunakan function sort_values().

3. Contoh penggunaan function untuk menghapus data duplikat:

Menghapus baris yang duplikat: df.drop_duplicates(inplace=True).

Memastikan data yang tersisa unik dan terurut: df.sort_values('kolom', inplace=True).

Membersihkan Data Teks

Data teks sering kali mengandung karakter-karakter yang tidak perlu seperti tanda baca, spasi berlebihan, atau kata-kata yang tidak penting. Hal ini dapat mempengaruhi kualitas analisis data yang dilakukan. Oleh karena itu, perlu dilakukan proses pembersihan data teks. Langkah-langkah yang dapat dilakukan untuk membersihkan data teks adalah sebagai berikut:

1. Menghapus tanda baca:

Menghapus tanda baca menggunakan function str.replace() dengan regex.

Contoh: Menghapus tanda baca koma dan titik: df['kolom'].str.replace('[.,]','')

2. Menghapus kata-kata yang tidak penting:

Menghapus kata-kata yang tidak penting menggunakan function str.replace() dengan regex.

Contoh: Menghapus kata "the", "a", "an" dalam sebuah teks: df['kolom'].str.replace(r'\b(?:the|a|an)\b','').

3. Contoh penggunaan function untuk membersihkan data teks:

Menghapus tanda baca: df['kolom'].str.replace('[.,]','').

Menghapus kata-kata yang tidak penting: df['kolom'].str.replace(r'\b(?:the|a|an)\b','').

Menangani Data yang Salah

Data yang salah atau outliers dapat mempengaruhi kualitas analisis data yang dilakukan. Oleh karena itu, perlu dilakukan proses untuk mengidentifikasi dan menangani data yang salah. Langkah-langkah yang dapat dilakukan adalah sebagai berikut:

1. Mengidentifikasi data yang salah:

Identifikasi data yang dianggap sebagai outliers dapat dilakukan dengan metode visualisasi seperti boxplot, histogram, atau scatter plot.

Contoh: Mengidentifikasi data yang dianggap sebagai outliers menggunakan boxplot: sns.boxplot(x=df['kolom']).

2. Menangani data yang salah:

Ada beberapa cara untuk menangani data yang salah, seperti menghapus data yang dianggap sebagai outliers, mengubah nilai yang salah menjadi nilai rata-rata atau median, atau menggunakan metode penggantian nilai yang lebih kompleks seperti linear regression.

Contoh: Menghapus data yang dianggap sebagai outliers: df = df[(df['kolom'] >= Q1 - 1.5IQR) & (df['kolom'] <= Q3 + 1.5IQR)].

3. Contoh penggunaan function untuk menangani data yang salah:

Mengidentifikasi data yang salah menggunakan boxplot: sns.boxplot(x=df['kolom']).

Menghapus data yang dianggap sebagai outliers: df = df[(df['kolom'] >= Q1 - 1.5IQR) & (df['kolom'] <= Q3 + 1.5IQR)].

Memisahkan Data ke dalam Kolom yang Tepat

Dalam melakukan data cleaning, sering sekali kita temui terdapat data dalam satu kolom yang perlu dipisahkan menjadi beberapa kolom yang tepat. Hal ini penting dilakukan agar data dapat diolah dengan lebih mudah dan akurat. Berikut adalah langkah-langkah yang dapat dilakukan untuk memisahkan data ke dalam kolom yang tepat:

1. Mengidentifikasi data yang perlu dipisahkan:

Identifikasi data yang perlu dipisahkan dapat dilakukan dengan melihat data secara keseluruhan atau dengan melakukan exploratory data analysis (EDA).

Contoh: Data alamat yang terdapat dalam satu kolom dan perlu dipisahkan menjadi beberapa kolom seperti alamat, kota, provinsi, dan kode pos.

2. Memisahkan data menjadi kolom yang tepat:

Setelah data yang perlu dipisahkan diidentifikasi, langkah selanjutnya adalah memisahkan data tersebut menjadi kolom yang tepat.

Hal ini dapat dilakukan dengan menggunakan metode split atau menggunakan regular expression (regex).

Contoh: Memisahkan data alamat menjadi beberapa kolom seperti alamat, kota, provinsi, dan kode pos menggunakan metode split.

3. Contoh penggunaan function untuk memisahkan data ke dalam kolom yang tepat:

Memisahkan data alamat menjadi beberapa kolom menggunakan metode split: df[['alamat', 'kota', 'provinsi', 'kode_pos']] = df['alamat'].str.split(',', expand=True).

Sumber : https://belajardata.substack.com?utm_source=navbar&utm_medium=web

# data[].attributes.headline
Bagaimana data didokumentasikan untuk memudahkan replikasi dan interpretasi di masa depan?

# data[].attributes.subject
Bagaimana data didokumentasikan untuk memudahkan replikasi dan interpretasi di masa depan?

# data[].attributes.body
Dokumentasi data yang baik sangat penting untuk memudahkan replikasi dan interpretasi di masa depan. Tanpa dokumentasi yang tepat, data bisa sulit dipahami dan digunakan kembali oleh peneliti lain atau bahkan oleh peneliti yang sama di waktu yang berbeda. Berikut adalah beberapa cara untuk mendokumentasikan data dengan baik:

1. Data Dictionary (Kamus Data):

Kamus data adalah dokumen yang menjelaskan setiap variabel dalam dataset, termasuk nama variabel, tipe data, deskripsi variabel, unit pengukuran, dan nilai yang mungkin. Ini membantu pengguna data untuk memahami isi dataset tanpa harus menebak-nebak.

Contoh:

Variabel Age: Tipe = Integer, Deskripsi = Umur peserta dalam tahun, Unit = Tahun

Variabel Income: Tipe = Float, Deskripsi = Pendapatan tahunan, Unit = Dolar AS

2. Metadata:

Metadata adalah informasi yang memberikan konteks tambahan tentang dataset, seperti kapan dan bagaimana data dikumpulkan, alat atau perangkat lunak apa yang digunakan, dan sumber data. Metadata juga mencakup penjelasan tentang format data dan struktur file.

Contoh:

Tanggal pengumpulan: 01 Januari 2024

Sumber data: Survei Kepuasan Pelanggan

Format: CSV

3. Versioning (Versi Data):

Dokumentasi data harus menyertakan penjelasan tentang versi dataset. Setiap perubahan atau pembaruan pada dataset harus dicatat sehingga pengguna tahu versi mana yang digunakan dan perbedaan antarversi.

Contoh:

Versi 1.0: Dataset asli tanpa pembersihan.

Versi 2.0: Dataset yang sudah dibersihkan dengan variabel tambahan.

4. Protokol Pembersihan Data:

Pembersihan data adalah proses menangani data yang hilang, duplikat, atau tidak konsisten. Proses ini harus didokumentasikan dengan jelas untuk memastikan bahwa data dapat diolah dengan cara yang sama di masa depan.

Contoh:

Data hilang pada kolom Income diisi dengan rata-rata pendapatan.

Duplikasi pada entri pelanggan dihapus berdasarkan kolom CustomerID.

5. Kode dan Skrip Analisis:

Jika dataset digunakan bersama kode atau skrip analisis, skrip tersebut juga harus didokumentasikan. Penjelasan singkat tentang apa yang dilakukan setiap bagian kode akan mempermudah replikasi analisis di masa mendatang.

Contoh:

DataCleaning.py: Skrip ini membersihkan data dengan menghapus entri duplikat dan mengisi data yang hilang.

6. Protokol Penyimpanan Data:

Dokumentasi harus mencakup bagaimana data disimpan, termasuk lokasi, format, dan langkah-langkah untuk memastikan keamanan data. Ini membantu memastikan bahwa data dapat diakses dan digunakan di masa depan.

Contoh:

Dataset disimpan di cloud server dengan nama file customer_data_2024.csv.

Sumber : The FAIR Guiding Principles for Scientific Data Management and Stewardship

Link : https://www.nature.com/articles/sdata201618

# data[].attributes.headline
Bagaimana data di-preprocess untuk mempersiapkannya untuk analisis lebih lanjut?

# data[].attributes.subject
Bagaimana data di-preprocess untuk mempersiapkannya untuk analisis lebih lanjut?

# data[].attributes.body
Sebutkan langkah-langkah preprocessing seperti normalisasi, encoding, handling outliers, atau scaling data.

Proses preprocessing data adalah langkah penting dalam analisis data atau proyek machine learning. Tujuannya adalah untuk mempersiapkan data mentah agar dapat digunakan oleh algoritma, mengurangi noise, menangani data yang tidak lengkap, dan memastikan data dalam format yang konsisten dan mudah dipahami oleh model.

Berikut adalah langkah-langkah umum dalam preprocessing data:

1. Memahami dan Mengeksplorasi Data

Memuat Dataset: Memuat data dari sumber seperti file CSV, database, atau API.

Eksplorasi Awal: Mengeksplorasi dataset dengan menganalisis struktur data, distribusi variabel, dan tipe data untuk memahami bagaimana data harus diolah.

Contoh: Menggunakan fungsi seperti head(), describe(), atau info() pada Python Pandas untuk mendapatkan informasi dasar.

2. Menangani Missing Data (Data yang Hilang)

Menghapus Missing Data: Jika data yang hilang sangat sedikit dan tidak signifikan, bisa dihapus.

Metode: dropna() dalam Pandas.

Mengisi Missing Data (Imputation): Jika penghapusan data hilang akan menyebabkan hilangnya informasi penting, data dapat diisi menggunakan berbagai metode:

Mean/Median/Mode Imputation: Mengisi nilai yang hilang dengan rata-rata, median, atau mode.

Interpolation: Memprediksi nilai yang hilang berdasarkan pola data sekitarnya.

Forward/Backward Fill: Mengisi nilai hilang dengan nilai sebelumnya atau sesudahnya.

3. Encoding Data Kategorikal

Algoritma machine learning tidak dapat memproses data kategorikal secara langsung, sehingga data tersebut perlu diubah menjadi bentuk numerik.

Label Encoding: Mengubah kategori menjadi label numerik.

Contoh: Low, Medium, High menjadi 0, 1, 2.

One-Hot Encoding: Mengubah setiap kategori menjadi kolom biner terpisah (0 atau 1).

Contoh: Jika ada tiga kategori, maka akan ada tiga kolom dengan nilai 1 untuk kategori yang sesuai, dan 0 untuk yang lain.

Metode: pd.get_dummies() dalam Pandas atau OneHotEncoder dari Scikit-learn.

4. Feature Scaling (Scaling Data)

Beberapa algoritma machine learning sensitif terhadap skala data (misalnya, regresi linear, SVM, k-means). Scaling membuat semua fitur berada pada skala yang sama.

Normalization (Min-Max Scaling): Mengubah nilai menjadi skala antara 0 dan 1. Digunakan jika distribusi data tidak normal.

Formula: X′=X−XminXmax−XminX' = \frac{X - X_{min}}{X_{max} - X_{min}}X′=Xmax​−Xmin​X−Xmin​​

Metode: MinMaxScaler dari Scikit-learn.

Standardization (Z-Score Scaling): Mengubah nilai agar memiliki mean 0 dan standard deviation 1, cocok untuk data dengan distribusi normal.

Formula: Z=X−μσZ = \frac{X - \mu}{\sigma}Z=σX−μ​

Metode: StandardScaler dari Scikit-learn.

5. Handling Outliers (Penanganan Outlier)

Outlier dapat mempengaruhi performa model, terutama pada algoritma yang sensitif seperti regresi linear atau SVM.

Identifikasi Outlier: Outlier dapat diidentifikasi menggunakan visualisasi (boxplot, scatterplot) atau metode statistik (z-score, IQR).

Z-Score Method: Nilai z-score di luar rentang -3 dan 3 biasanya dianggap outlier.

Interquartile Range (IQR): Mengidentifikasi outlier menggunakan rentang kuartil (Q1, Q3). Outlier adalah nilai di luar Q1−1.5∗IQR,Q3+1.5∗IQRQ1 - 1.5*IQR, Q3 + 1.5*IQRQ1−1.5∗IQR,Q3+1.5∗IQR.

Penanganan Outlier:

Menghapus outlier jika itu merupakan noise yang ekstrem.

Menggunakan teknik capping/flooring untuk membatasi nilai maksimum/minimum yang diizinkan.

Mengubah outlier menjadi nilai yang lebih representatif, seperti menggunakan winsorization untuk mengganti nilai outlier dengan nilai tertentu di ujung distribusi.

6. Data Transformation (Transformasi Data)

Log Transformation: Mengubah data menjadi logaritma untuk menangani distribusi yang sangat skewed.

Contoh: Transformasi log digunakan pada distribusi pendapatan yang cenderung skewed.

Square Root atau Cube Root Transformation: Digunakan untuk mengurangi skewness, khususnya pada data yang memiliki rentang yang besar.

Box-Cox Transformation: Teknik yang lebih fleksibel untuk membuat distribusi data mendekati distribusi normal.

7. Feature Engineering (Rekayasa Fitur)

Membuat Fitur Baru: Kadang data mentah tidak menyediakan semua informasi penting. Proses ini mencakup membuat fitur baru dari data yang sudah ada untuk menangkap lebih banyak informasi.

Contoh: Dari fitur tanggal, bisa dibuat fitur baru seperti hari, bulan, tahun, atau hari kerja vs akhir pekan.

Menggabungkan atau Memisahkan Fitur: Jika ada fitur yang gabungan, seperti nama lengkap atau alamat, bisa dipisahkan menjadi beberapa fitur terpisah yang lebih bermakna.

8. Data Reduction (Reduksi Dimensi)

PCA (Principal Component Analysis): Teknik untuk mereduksi dimensi dataset dengan mempertahankan variansi yang paling penting. Berguna ketika dataset memiliki banyak fitur yang redundant.

Feature Selection: Memilih fitur yang paling relevan untuk model dengan teknik seperti Correlation Analysis, Chi-Square Test, atau Feature Importance dari model berbasis tree (misalnya Random Forest).

9. Data Balancing

Jika kelas dalam dataset tidak seimbang (misalnya, lebih banyak kelas mayoritas daripada kelas minoritas), ini dapat menyebabkan bias dalam model.

Oversampling (SMOTE): Menggandakan data dari kelas minoritas untuk mencapai keseimbangan.

Undersampling: Mengurangi data dari kelas mayoritas.

Cost-sensitive learning: Menambahkan penalti untuk kesalahan pada kelas minoritas agar model lebih sensitif terhadap kelas minoritas.

10. Splitting Data (Membagi Dataset)

Train-Test Split: Dataset biasanya dibagi menjadi training set (untuk melatih model) dan test set (untuk menguji model). Rasio umum adalah 80/20 atau 70/30.

Metode: train_test_split() dari Scikit-learn.

Cross-Validation: Teknik untuk mengevaluasi model dengan membagi dataset menjadi beberapa bagian untuk validasi, biasanya dengan metode k-fold cross-validation.

Sumber: Chat GPT4.0

# data[].attributes.headline
Bagaimana deskripsi statistik data sebelum dan sesudah pembersihan dilakukan?Dokumentasikan hasil exploratory data analysis (EDA), seperti distribusi data, korelasi antar variabel, dan insight penting yang ditemukan

# data[].attributes.subject
Bagaimana deskripsi statistik data sebelum dan sesudah pembersihan dilakukan?Dokumentasikan hasil exploratory data analysis (EDA), seperti distribusi data, korelasi antar variabel, dan insight penting yang ditemukan

# data[].attributes.body
1. Deskripsi Statistik Data Sebelum Pembersihan

Sebelum melakukan pembersihan, lakukan analisis deskriptif untuk mendapatkan gambaran awal mengenai data:

a. Ringkasan Statistik

Mean (Rata-rata): Nilai rata-rata dari setiap variabel numerik.

Median: Nilai tengah dari setiap variabel numerik.

Mode: Nilai yang paling sering muncul.

Standard Deviation (Standar Deviasi): Mengukur variasi atau penyebaran data.

Min-Max: Rentang nilai dari setiap variabel.

b. Distribusi Data:

Histogram: Visualisasi distribusi untuk variabel numerik. Dapat digunakan untuk mengidentifikasi skewness (kemiringan) dan outlier (nilai pencilan).

Box Plot: Menunjukkan sebaran data dan mendeteksi outlier.

c. Korelasi Antar Variabel:

Heatmap: Menggunakan correlation matrix untuk melihat hubungan antara variabel. Nilai antara -1 dan 1 menunjukkan kekuatan dan arah hubungan.

d. Insight Penting:

Temukan pola atau tren dalam data, seperti variabel yang memiliki hubungan kuat atau adanya outlier yang signifikan.

2. Deskripsi Statistik Data Setelah Pembersihan

Setelah pembersihan, lakukan analisis serupa untuk melihat perubahan yang terjadi.

a. Ringkasan Statistik:

Bandingkan mean, median, mode, dan standar deviasi dari data yang sudah dibersihkan dengan data yang belum dibersihkan.

Perhatikan apakah ada perubahan signifikan dalam nilai-nilai tersebut.

b. Distribusi Data:

Tampilkan histogram dan box plot dari data yang sudah dibersihkan. Periksa apakah outlier telah teratasi dan distribusi menjadi lebih normal.

c. Korelasi Antar Variabel:

Bandingkan heatmap sebelum dan sesudah pembersihan untuk melihat apakah hubungan antar variabel berubah.

d. Insight Penting:

Catat perubahan atau pola baru yang muncul setelah pembersihan, seperti variabel yang sebelumnya tidak penting menjadi signifikan.

Contoh Dokumentasi Hasil EDA

Sebelum Pembersihan

Rata-rata Umur: 35 tahun

Median Pendapatan: $50,000

Skewness Pendapatan: Positif (terdistribusi tidak normal)

Korelasi antara Usia dan Pendapatan: 0.6 (hubungan positif)

Outlier ditemukan: 5% data dengan pendapatan lebih dari $200,000

Setelah Pembersihan

Rata-rata Umur: 34 tahun (sedikit menurun)

Median Pendapatan: $48,000 (penurunan setelah menghapus outlier)

Skewness Pendapatan: Menjadi lebih normal

Korelasi antara Usia dan Pendapatan: 0.5 (penurunan korelasi)

Outlier: Tidak ada outlier yang signifikan

Sumber: Chat GPT 4.0

# data[].attributes.headline
Apa saja transformasi atau fitur engineering yang diterapkan pada data?

# data[].attributes.subject
Apa saja transformasi atau fitur engineering yang diterapkan pada data?

# data[].attributes.body
Transformasi dan rekayasa fitur (feature engineering) adalah proses penting dalam pengolahan data untuk meningkatkan kinerja model machine learning. Berikut adalah beberapa teknik transformasi dan rekayasa fitur yang umum digunakan beserta penjelasannya:

1. Penambahan Kolom Baru

Fitur Interaksi: Membuat kolom baru yang merupakan hasil dari interaksi antara dua atau lebih fitur. Misalnya, jika ada fitur harga dan kuantitas, kita bisa membuat kolom total_penjualan

Fitur Kategorikal Biner: Dari fitur kategorikal, kita dapat membuat kolom biner yang menunjukkan kehadiran atau ketidakhadiran kategori tertentu (misalnya, kolom is_high_income untuk penghasilan tinggi).

2. Penggabungan Fitur

Aggregation: Menggabungkan beberapa fitur menjadi satu dengan menggunakan fungsi agregasi, seperti rata-rata, jumlah, atau maksimum. Misalnya, jika kita memiliki fitur yang menunjukkan penjualan bulanan, kita dapat menggabungkannya menjadi total_penjualan_tahunan.

Concatenation: Menggabungkan dua atau lebih kolom menjadi satu kolom baru. Misalnya, menggabungkan kolom nama_depan dan nama_belakang menjadi kolom nama_lengkap.

3. Transformasi Data

Log Transformasi: Mengubah fitur numerik dengan fungsi logaritma untuk mengurangi skewness (kemiringan) pada distribusi data, terutama ketika data memiliki rentang nilai yang besar.

Box-Cox Transformasi: Menggunakan teknik statistik untuk menemukan transformasi yang paling sesuai untuk membuat data lebih normal.

Square Root Transformasi: Menggunakan akar kuadrat untuk mereduksi variabilitas dan skewness pada data.

4. Binning (Pengelompokan)

Mengelompokkan nilai numerik ke dalam interval tertentu untuk mengubahnya menjadi fitur kategorikal. Misalnya, membagi usia menjadi beberapa kelompok seperti 15-24, 25-34, dan seterusnya.

Kategorisasi: Mengelompokkan data numerik ke dalam kategori berdasarkan ambang batas tertentu. Misalnya, mengubah penghasilan menjadi rendah, sedang, dan tinggi.

5. Encoding Kategorikal

One-Hot Encoding: Mengubah fitur kategorikal menjadi beberapa kolom biner, satu untuk setiap kategori. Ini mencegah model menganggap kategori memiliki urutan.

Label Encoding: Mengubah kategori menjadi angka, tetapi tidak selalu dianjurkan untuk data kategorikal nominal.

6. Dimensionality Reduction

PCA (Principal Component Analysis): Mengurangi dimensi data dengan mengubah fitur asli menjadi sejumlah kecil komponen utama yang menjelaskan variasi maksimum.

t-SNE (t-Distributed Stochastic Neighbor Embedding): Teknik visualisasi yang digunakan untuk mengurangi dimensi, biasanya untuk visualisasi data.

7. Normalisasi dan Standardisasi

Min-Max Scaling: Mengubah nilai fitur ke dalam rentang tertentu, seperti [0, 1].

Z-Score Standardization: Mengubah nilai sehingga memiliki mean 0 dan standar deviasi 1, berguna ketika data mengikuti distribusi normal.

8. Handling Outliers

Winsorization: Mengganti nilai ekstrem dengan batas tertentu, misalnya, nilai persentil 1% dan 99%.

Transformation: Menerapkan transformasi seperti log untuk mengurangi dampak outliers.

Sumber: Chat GPT 4.0