Pemuatan Data untuk Proyek ML
Misalkan jika Anda ingin memulai proyek ML lalu apa hal pertama dan terpenting yang akan Anda perlukan? Ini adalah data yang perlu kami muat untuk memulai salah satu proyek ML. Terkait dengan data, format data yang paling umum untuk project ML adalah CSV (nilai dipisahkan koma).
Pada dasarnya CSV adalah format file sederhana yang digunakan untuk menyimpan data tabular (angka dan teks) seperti spreadsheet dalam teks biasa. Dengan Python, kita dapat memuat data CSV ke dalam dengan cara yang berbeda tetapi sebelum memuat data CSV kita harus memperhatikan beberapa pertimbangan.
Pertimbangan Saat Memuat data CSV
Format data CSV adalah format yang paling umum untuk data ML, tetapi kami harus berhati-hati dalam mengikuti pertimbangan utama saat memuat yang sama ke dalam proyek ML kami -
File Header
Dalam file data CSV, header berisi informasi untuk setiap bidang. Kita harus menggunakan pembatas yang sama untuk file header dan file data karena file headerlah yang menentukan bagaimana seharusnya bidang data diinterpretasikan.
Berikut adalah dua kasus terkait header file CSV yang harus diperhatikan -
Case-I: When Data file is having a file header - Secara otomatis akan memberikan nama ke setiap kolom data jika file data memiliki file header.
Case-II: When Data file is not having a file header - Kita perlu memberikan nama untuk setiap kolom data secara manual jika file data tidak memiliki file header.
Dalam kedua kasus tersebut, kita harus menentukan secara eksplisit apakah file CSV kita berisi header atau tidak.
Komentar
Komentar dalam file data apa pun memiliki arti penting. Dalam file data CSV, komentar ditandai dengan hash (#) di awal baris. Kita perlu mempertimbangkan komentar saat memuat data CSV ke dalam proyek ML karena jika kita memiliki komentar di file maka kita mungkin perlu menunjukkan, tergantung pada metode yang kita pilih untuk memuat, apakah akan mengharapkan komentar tersebut atau tidak.
Pembatas
Dalam file data CSV, karakter koma (,) adalah pembatas standar. Peran pembatas adalah untuk memisahkan nilai di bidang. Penting untuk mempertimbangkan peran pembatas saat mengupload file CSV ke project ML karena kita juga dapat menggunakan pembatas yang berbeda seperti tab atau spasi. Tetapi dalam kasus menggunakan pembatas yang berbeda dari yang standar, kita harus menentukannya secara eksplisit.
Tanda kutip
Dalam file data CSV, tanda kutip ganda ("") adalah karakter kutipan default. Penting untuk mempertimbangkan peran tanda kutip saat mengupload file CSV ke dalam project ML karena kita juga dapat menggunakan karakter kutipan selain tanda kutip ganda. Tetapi jika menggunakan karakter kutipan yang berbeda dari yang standar, kita harus menentukannya secara eksplisit.
Metode untuk Memuat File Data CSV
Saat bekerja dengan proyek ML, tugas paling penting adalah memuat data dengan benar ke dalamnya. Format data yang paling umum untuk project ML adalah CSV dan tersedia dalam berbagai bentuk dan berbagai kesulitan untuk diurai. Di bagian ini, kita akan membahas tentang tiga pendekatan umum dengan Python untuk memuat file data CSV -
Muat CSV dengan Python Standard Library
Pendekatan pertama dan paling banyak digunakan untuk memuat file data CSV adalah penggunaan pustaka standar Python yang memberi kita berbagai modul bawaan yaitu csv moduledan fungsi reader (). Berikut ini adalah contoh memuat file data CSV dengan bantuannya -
Example
Dalam contoh ini, kami menggunakan kumpulan data bunga iris yang dapat diunduh ke direktori lokal kami. Setelah memuat file data, kita dapat mengubahnya menjadiNumPymenyusun dan menggunakannya untuk proyek ML. Berikut ini adalah script Python untuk memuat file data CSV -
Pertama, kita perlu mengimpor modul csv yang disediakan oleh pustaka standar Python sebagai berikut -
import csv
Selanjutnya, kita perlu mengimpor modul Numpy untuk mengubah data yang dimuat menjadi array NumPy.
import numpy as np
Sekarang, berikan jalur lengkap file tersebut, yang disimpan di direktori lokal kami, dengan file data CSV -
path = r"c:\iris.csv"
Selanjutnya, gunakan fungsi csv.reader () untuk membaca data dari file CSV -
with open(path,'r') as f:
reader = csv.reader(f,delimiter = ',')
headers = next(reader)
data = list(reader)
data = np.array(data).astype(float)
Kami dapat mencetak nama-nama header dengan baris skrip berikut -
print(headers)
Baris script berikut akan mencetak bentuk data yaitu jumlah baris & kolom di file -
print(data.shape)
Baris skrip berikutnya akan memberikan tiga baris pertama file data -
print(data[:3])
Output
['sepal_length', 'sepal_width', 'petal_length', 'petal_width']
(150, 4)
[ [5.1 3.5 1.4 0.2]
[4.9 3. 1.4 0.2]
[4.7 3.2 1.3 0.2]
]
Muat CSV dengan NumPy
Pendekatan lain untuk memuat file data CSV adalah fungsi NumPy dan numpy.loadtxt (). Berikut ini adalah contoh memuat file data CSV dengan bantuannya -
Contoh
Dalam contoh ini, kami menggunakan Pima Indians Dataset yang memiliki data pasien diabetes. Dataset ini merupakan set data numerik tanpa header. Itu juga dapat diunduh ke direktori lokal kami. Setelah memuat file data, kita dapat mengubahnya menjadi array NumPy dan menggunakannya untuk proyek ML. Berikut ini adalah script Python untuk memuat file data CSV -
from numpy import loadtxt
path = r"C:\pima-indians-diabetes.csv"
datapath= open(path, 'r')
data = loadtxt(datapath, delimiter=",")
print(data.shape)
print(data[:3])
Keluaran
(768, 9)
[ [ 6. 148. 72. 35. 0. 33.6 0.627 50. 1.]
[ 1. 85. 66. 29. 0. 26.6 0.351 31. 0.]
[ 8. 183. 64. 0. 0. 23.3 0.672 32. 1.]
]
Muat CSV dengan Panda
Pendekatan lain untuk memuat file data CSV adalah dengan Pandas dan pandas.read_csv()function. Ini adalah fungsi yang sangat fleksibel yang mengembalikan apandas.DataFrameyang dapat segera digunakan untuk membuat plot. Berikut ini adalah contoh memuat file data CSV dengan bantuannya -
Contoh
Di sini, kita akan menerapkan dua skrip Python, pertama dengan set data Iris yang memiliki header dan yang lainnya adalah dengan menggunakan Pima Indians Dataset yang merupakan dataset numerik tanpa header. Kedua dataset tersebut dapat diunduh ke direktori lokal.
Script-1
Berikut ini adalah script Python untuk memuat file data CSV menggunakan Pandas pada kumpulan Data Iris -
from pandas import read_csv
path = r"C:\iris.csv"
data = read_csv(path)
print(data.shape)
print(data[:3])
Output:
(150, 4)
sepal_length sepal_width petal_length petal_width
0 5.1 3.5 1.4 0.2
1 4.9 3.0 1.4 0.2
2 4.7 3.2 1.3 0.2
Script-2
Berikut ini adalah skrip Python untuk memuat file data CSV, bersama dengan memberikan nama header juga, menggunakan Pandas pada dataset Pima Indians Diabetes -
from pandas import read_csv
path = r"C:\pima-indians-diabetes.csv"
headernames = ['preg', 'plas', 'pres', 'skin', 'test', 'mass', 'pedi', 'age', 'class']
data = read_csv(path, names=headernames)
print(data.shape)
print(data[:3])
Output
(768, 9)
preg plas pres skin test mass pedi age class
0 6 148 72 35 0 33.6 0.627 50 1
1 1 85 66 29 0 26.6 0.351 31 0
2 8 183 64 0 0 23.3 0.672 32 1
Perbedaan antara tiga pendekatan yang digunakan di atas untuk memuat file data CSV dapat dengan mudah dipahami dengan bantuan contoh yang diberikan.