Apa langkah-langkah dalam preprocessing data dengan python?

Inti dari Machine Learning adalah memproses data. Alat pembelajaran mesin Anda sebaik kualitas data Anda. Blog ini membahas berbagai langkah pembersihan data. Data Anda perlu melalui beberapa langkah sebelum dapat digunakan untuk membuat prediksi

Diagram proses Pembelajaran Mesin

Dataset untuk blog ini dapat diakses dari sini

Langkah-langkah yang terlibat dalam preprocessing data
  1. Mengimpor Perpustakaan yang diperlukan
  2. Mengimpor kumpulan data
  3. Menangani Data yang Hilang
  4. Mengkodekan Data Kategorikal
  5. Memisahkan kumpulan data menjadi kumpulan tes dan kumpulan pelatihan
  6. Penskalaan Fitur

Jadi mari kita lihat langkah-langkah ini satu per satu

Langkah 1. Mengimpor Perpustakaan yang diperlukan

Untuk mengikuti, Anda perlu mengunduh kumpulan data ini. Data. csv

Setiap kali kita membuat model baru, kita perlu mengimpor Numpy dan Pandas. Numpy adalah Perpustakaan yang berisi fungsi Matematika dan digunakan untuk komputasi ilmiah sementara Panda digunakan untuk mengimpor dan mengelola kumpulan data

import pandas as pd
import numpy as np

Di sini kita mengimpor perpustakaan panda dan Numpy dan masing-masing menetapkan pintasan "pd" dan "np"

Langkah 2. Mengimpor Kumpulan Data

Kumpulan data tersedia di. csv. File CSV menyimpan data tabular dalam teks biasa. Setiap baris file adalah catatan data. Kami menggunakan metode read_csv dari perpustakaan panda untuk membaca file CSV lokal sebagai kerangka data

dataset = pd.read_csv('Data.csv')
_

Setelah hati-hati memeriksa dataset kami, kami akan membuat matriks fitur dalam dataset kami (X) dan membuat vektor dependen (Y) dengan pengamatan masing-masing. Untuk membaca kolom, kami akan menggunakan iloc panda (digunakan untuk memperbaiki indeks untuk seleksi) yang membutuhkan dua parameter — [pemilihan baris, pemilihan kolom]

X = dataset.iloc[:, :-1].values
y = dataset.iloc[:, 3].values

Langkah 3. Menangani Data yang Hilang

Contoh Missing data dan Imputasi

Data yang kami dapatkan jarang homogen. Terkadang data bisa saja hilang dan perlu ditangani agar tidak menurunkan performa model machine learning kita

Untuk melakukan ini, kita perlu mengganti data yang hilang dengan Mean atau Median dari keseluruhan kolom. Untuk ini kita akan menggunakan sklearn. Library preprocessing yang berisi kelas bernama Imputer yang akan membantu kita dalam menjaga data kita yang hilang

from sklearn.preprocessing import Imputer
imputer = Imputer(missing_values = "NaN", strategy = "mean", axis = 0)

Nama objek kita adalah imputer. Kelas Imputer dapat mengambil parameter seperti

  1. nilai yang hilang. Ini adalah placeholder untuk nilai yang hilang. Semua kemunculan missing_values ​​akan diperhitungkan. Kita bisa memberinya bilangan bulat atau "NaN" untuk menemukan nilai yang hilang
  2. strategi. Ini adalah strategi imputasi - Jika "berarti", maka ganti nilai yang hilang menggunakan rata-rata sepanjang sumbu (Kolom). Strategi lain termasuk "median" dan "most_frequent"
  3. sumbu. Itu dapat diberikan 0 atau 1, 0 untuk menghubungkan sepanjang kolom dan 1 untuk menghubungkan sepanjang baris

Sekarang kami menyesuaikan objek imputer dengan data kami

imputer = imputer.fit(X[:, 1:3])
_

Sekarang ganti nilai yang hilang dengan rata-rata kolom dengan menggunakan metode transformasi

X[:, 1:3] = imputer.transform(X[:, 1:3])

Langkah 4. Mengkodekan data kategorikal

Mengubah data Kategorikal menjadi variabel dummy

Setiap variabel yang bukan kuantitatif bersifat kategoris. Contohnya meliputi warna rambut, jenis kelamin, bidang studi, kuliah, afiliasi politik, status infeksi penyakit

Tapi mengapa pengkodean?

Kita tidak dapat menggunakan nilai seperti "Pria" dan "Wanita" dalam persamaan matematika model, jadi kita perlu menyandikan variabel ini ke dalam angka

Untuk melakukan ini, kami mengimpor kelas "LabelEncoder" dari "sklearn. preprocessing” dan buat objek labelencoder_X dari kelas LabelEncoder. Setelah itu kami menggunakan metode fit_transform pada fitur kategorikal

Setelah Encoding perlu untuk membedakan antara variabel dalam kolom yang sama, untuk ini kita akan menggunakan kelas OneHotEncoder dari sklearn. perpustakaan preprocessing

Pengodean Satu-Panas

One hot encoding mengubah fitur kategorikal menjadi format yang berfungsi lebih baik dengan algoritme klasifikasi dan regresi

from sklearn.preprocessing import LabelEncoder, OneHotEncoder
labelencoder_X = LabelEncoder()
X[:, 0] = labelencoder_X.fit_transform(X[:, 0])
onehotencoder = OneHotEncoder(categorical_features = [0])
X = onehotencoder.fit_transform(X).toarray()
labelencoder_y = LabelEncoder()
y = labelencoder_y.fit_transform(y)
_

Langkah 5. Memisahkan set Data menjadi set Pelatihan dan Set Tes

Sekarang kami membagi data kami menjadi dua set, satu untuk melatih model kami disebut set pelatihan dan yang lainnya untuk menguji kinerja model kami disebut set pengujian. Perpecahan umumnya 80/20. Untuk melakukan ini, kami mengimpor metode "train_test_split" dari "sklearn. model_selection” perpustakaan

from sklearn.model_selection import train_test_split

Sekarang untuk membangun set pelatihan dan pengujian kami, kami akan membuat 4 set —

  1. X_train (melatih bagian dari matriks fitur),
  2. X_test (uji bagian dari matriks fitur),
  3. Y_train (melatih bagian dari variabel dependen yang terkait dengan set kereta X, dan karenanya juga indeks yang sama),
  4. Y_test (uji bagian dari variabel dependen yang terkait dengan set uji X, dan karenanya juga indeks yang sama)

Kami akan menetapkan kepada mereka test_train_split, yang mengambil parameter - array (X dan Y), test_size (Menentukan rasio untuk membagi kumpulan data)

X_train, X_test, Y_train, Y_test = train_test_split( X , Y , test_size = 0.2, random_state = 0)
_

Langkah 6. Penskalaan Fitur

Sebagian besar algoritma pembelajaran mesin menggunakan jarak Euclidean antara dua titik data dalam perhitungannya. Oleh karena itu, fitur dengan magnitudo tinggi akan lebih berat dalam perhitungan jarak daripada fitur dengan magnitudo rendah. Untuk menghindari hal ini digunakan standardisasi Fitur atau normalisasi Z-score. Ini dilakukan dengan menggunakan kelas "StandardScaler" dari "sklearn. prapemrosesan”

from sklearn.preprocessing import StandardScaler
sc_X = StandardScaler()
_

Selanjutnya kita akan mengubah set X_test kita sementara kita harus menyesuaikan serta mengubah set X_train kita

Apa saja 5 langkah utama dari preprocessing data?

Langkah Pemrosesan Data .
Penilaian kualitas data
Pembersihan data
Transformasi data
Pengurangan data

Bagaimana cara melakukan preprocessing data dengan Python?

Cara Memproses Data di Python Langkah-demi-Langkah .
Memuat data di Panda
Jatuhkan kolom yang tidak berguna
Jatuhkan baris dengan nilai yang hilang
Buat variabel dummy
Jaga data yang hilang
Ubah bingkai data menjadi NumPy
Bagilah kumpulan data menjadi data pelatihan dan data uji

Apa 4 langkah umum yang diambil untuk memproses data?

4 Langkah dalam Pemrosesan Data .
Nilai yang hilang. Berikut beberapa cara untuk mengatasi masalah ini. Abaikan tupel itu. .
Data Berisik. Ini melibatkan menghilangkan kesalahan acak atau varians dalam variabel terukur. .
Menghapus outlier. Teknik pengelompokan mengelompokkan titik data yang serupa

Apa yang dijelaskan sebelum pemrosesan data langkah demi langkah?

Pemrosesan awal data adalah proses mengubah data mentah menjadi format yang dapat dipahami . Ini juga merupakan langkah penting dalam penambangan data karena kami tidak dapat bekerja dengan data mentah. Kualitas data harus diperiksa sebelum menerapkan pembelajaran mesin atau algoritma penambangan data.