Pre-prosesing Data dalam Analisis Data

 Preprocessing data adalah langkah krusial dalam analisis data untuk memastikan bahwa data yang akan dianalisis bersih, terstruktur, dan siap digunakan. Berikut adalah beberapa langkah umum dalam preprocessing data:


 1. Mengumpulkan Data

Data dapat diperoleh dari berbagai sumber seperti database, file CSV, API, atau web scraping. Penting untuk memastikan data yang dikumpulkan relevan dengan tujuan analisis.


 2. Memahami Data

Melakukan eksplorasi awal untuk memahami struktur dan karakteristik data, termasuk jenis data (numerik, kategorikal, teks, dll.), distribusi data, dan mengidentifikasi missing values atau outliers.


 3. Membersihkan Data

- Mengatasi Missing Values: Mengisi missing values dengan metode seperti imputasi (mean, median, mode), atau menghapus baris/kolom yang memiliki missing values.

- Mengatasi Duplikasi: Menghapus data duplikat untuk menghindari bias dalam analisis.

- Mengatasi Outliers: Mengidentifikasi dan menangani outliers yang dapat mempengaruhi hasil analisis. Metode yang digunakan bisa berupa capping atau trimming.


 4. Transformasi Data

- Normalisasi dan Standarisasi: Mengubah data sehingga memiliki skala yang sama, misalnya dengan normalisasi (min-max scaling) atau standarisasi (z-score scaling).

- Encoding Data Kategorikal: Mengonversi data kategorikal menjadi format numerik, seperti one-hot encoding atau label encoding.

- Feature Engineering: Membuat fitur baru yang dapat membantu model dalam menganalisis data, seperti interaksi antar fitur atau agregasi fitur.


 5. Pembagian Data

Memisahkan data menjadi set pelatihan dan set pengujian/validasi untuk memastikan model yang dibangun tidak overfit. Pembagian umum adalah 70-80% untuk pelatihan dan 20-30% untuk pengujian.


 6. Reduksi Dimensi

Mengurangi jumlah fitur dalam data untuk mengurangi kompleksitas dan meningkatkan kinerja model. Metode yang umum digunakan adalah Principal Component Analysis (PCA) atau teknik seleksi fitur lainnya.


 7. Menangani Data yang Tidak Seimbang

Jika data tidak seimbang (misalnya dalam klasifikasi dengan kelas minoritas), teknik seperti resampling (oversampling atau undersampling) atau menggunakan metode yang robust terhadap data imbalanced (seperti SMOTE) bisa digunakan.


 Contoh Implementasi Preprocessing Data dengan Python


Berikut adalah contoh sederhana bagaimana melakukan preprocessing data menggunakan Python dan library populer seperti Pandas dan Scikit-learn:


```python

import pandas as pd

from sklearn.model_selection import train_test_split

from sklearn.preprocessing import StandardScaler, OneHotEncoder

from sklearn.impute import SimpleImputer

from sklearn.compose import ColumnTransformer

from sklearn.pipeline import Pipeline


# Membaca dataset

data = pd.read_csv('data.csv')


# Memisahkan fitur dan target

X = data.drop('target', axis=1)

y = data['target']


# Menangani missing values dan encoding data kategorikal

numerical_features = X.select_dtypes(include=['int64', 'float64']).columns

categorical_features = X.select_dtypes(include=['object']).columns


numerical_transformer = Pipeline(steps=[

    ('imputer', SimpleImputer(strategy='mean')),

    ('scaler', StandardScaler())

])


categorical_transformer = Pipeline(steps=[

    ('imputer', SimpleImputer(strategy='constant', fill_value='missing')),

    ('onehot', OneHotEncoder(handle_unknown='ignore'))

])


preprocessor = ColumnTransformer(

    transformers=[

        ('num', numerical_transformer, numerical_features),

        ('cat', categorical_transformer, categorical_features)

    ])


# Membagi data menjadi training dan test set

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)


# Preprocessing data

X_train = preprocessor.fit_transform(X_train)

X_test = preprocessor.transform(X_test)

```


Dengan langkah-langkah dan contoh di atas, data akan siap untuk dianalisis atau digunakan dalam model machine learning.

Comments

Popular posts from this blog

QUIS 5

Apa itu SEMMA

Mengenal CRISP-DM