Ilmu Data - Persiapan Data


Sebelum menganalisis data, seorang Data Scientist harus mengekstrak data, dan membuatnya bersih dan berharga.


Ekstrak dan Baca Data Dengan Panda

Sebelum data dapat dianalisis, data tersebut harus diimpor/diekstraksi.

Pada contoh di bawah ini, kami menunjukkan cara mengimpor data menggunakan Pandas dengan Python.

Kami menggunakan read_csv()fungsi untuk mengimpor file CSV dengan data kesehatan:

Contoh

import pandas as pd

health_data = pd.read_csv("data.csv", header=0, sep=",")

print(health_data)

Contoh Dijelaskan

  • Impor perpustakaan Pandas
  • Beri nama bingkai data sebagai health_data.
  • header=0 berarti header untuk nama variabel dapat ditemukan di baris pertama (perhatikan bahwa 0 berarti baris pertama dengan Python)
  • sep=","berarti bahwa "," digunakan sebagai pemisah antara nilai-nilai. Ini karena kami menggunakan jenis file .csv (nilai yang dipisahkan koma)

Tip: Jika Anda memiliki file CSV besar, Anda dapat menggunakan head()fungsi untuk hanya menampilkan 5 baris teratas:

Contoh

import pandas as pd

health_data = pd.read_csv("data.csv", header=0, sep=",")

print(health_data.head())

Pembersihan Data

Lihat data yang diimpor. Seperti yang Anda lihat, datanya "kotor" dengan nilai yang salah atau tidak terdaftar:

Data kotor
  • Ada beberapa bidang kosong
  • Pulsa rata-rata 9.000 tidak mungkin
  • 9 000 akan diperlakukan sebagai non-numerik, karena pemisah ruang
  • Satu pengamatan pulsa maks dilambangkan sebagai "AF", yang tidak masuk akal

Jadi, kita harus membersihkan data untuk melakukan analisis.


Hapus Baris Kosong

Kami melihat bahwa nilai non-numerik (9.000 dan AF) berada di baris yang sama dengan nilai yang hilang.

Solusi: Kami dapat menghapus baris dengan pengamatan yang hilang untuk memperbaiki masalah ini.

Saat kami memuat kumpulan data menggunakan Pandas, semua sel kosong secara otomatis diubah menjadi nilai "NaN".

Jadi, menghapus sel NaN memberi kita kumpulan data bersih yang dapat dianalisis.

Kita dapat menggunakan dropna()fungsi untuk menghapus NaN. axis=0 berarti kita ingin menghapus semua baris yang memiliki nilai NaN:

Contoh

health_data.dropna(axis=0,inplace=True)

print(health_data)

Hasilnya adalah kumpulan data tanpa baris NaN:

Data yang dibersihkan

Kategori Data

Untuk menganalisis data, kita juga perlu mengetahui jenis data yang kita hadapi.

Data dapat dibagi menjadi tiga kategori utama:

  1. Numerik - Berisi nilai numerik. Dapat dibagi menjadi dua kategori:
    • Diskrit: Angka dihitung sebagai "keseluruhan". Contoh: Anda tidak dapat melatih 2,5 sesi, itu adalah 2 atau 3
    • Berkelanjutan: Angka bisa menjadi presisi tak terbatas. Misalnya, Anda dapat tidur selama 7 jam, 30 menit, dan 20 detik, atau 7,533 jam
  2. Categorical - Berisi nilai-nilai yang tidak dapat diukur satu sama lain. Contoh: Warna atau jenis pelatihan
  3. Ordinal - Berisi data kategorikal yang dapat diukur satu sama lain. Contoh: Nilai sekolah di mana A lebih baik dari B dan seterusnya

Dengan mengetahui jenis data Anda, Anda akan dapat mengetahui teknik apa yang digunakan saat menganalisisnya.


Tipe Data

Kita dapat menggunakan info()fungsi untuk membuat daftar tipe data dalam kumpulan data kita: 

Contoh

print(health_data.info())

Hasil:

Tipe data float dan objek

Kami melihat bahwa kumpulan data ini memiliki dua jenis data yang berbeda:

  • Float64
  • Obyek

Kami tidak dapat menggunakan objek untuk menghitung dan melakukan analisis di sini. Kita harus mengonversi objek tipe menjadi float64 (float64 adalah angka dengan desimal di Python).

Kita dapat menggunakan astype()fungsi untuk mengubah data menjadi float64.

Contoh berikut mengubah "Average_Pulse" dan "Max_Pulse" menjadi tipe data float64 (variabel lain sudah bertipe data float64):

Contoh

health_data["Average_Pulse"] = health_data['Average_Pulse'].astype(float)
health_data["Max_Pulse"] = health_data["Max_Pulse"].astype(float)

print (health_data.info())

Hasil:

Tipe data mengapung

Sekarang, kumpulan data hanya memiliki tipe data float64.


Analisis Data

Setelah kami membersihkan kumpulan data, kami dapat mulai menganalisis data.

Kita dapat menggunakan describe()fungsi dalam Python untuk meringkas data:

Contoh

print(health_data.describe())

Hasil:

  Durasi Rata_Pulse Maks_Pulsa Pembakaran Kalori Jam_Kerja Jam_Tidur
Menghitung 10.0 10.0 10.0 10.0 10.0 10.0
Berarti 51.0 102,5 137.0 285.0 6.6 7.5
Std 10.49 15.4 11.35 30.28 3.63 0,53
min 30.0 80.0 120.0 240.0 0,0 7.0
25% 45.0 91.25 130.0 262.5 7.0 7.0
50% 52.5 102,5 140.0 285.0 8.0 7.5
75% 60.0 113,75 145.0 307.5 8.0 8.0
Maks 60.0 125.0 150.0 330.0 10.0 8.0
  • Hitung - Menghitung jumlah pengamatan
  • Rata -rata - Nilai rata-rata
  • Std - Standar deviasi (dijelaskan dalam bab statistik)
  • Min - Nilai terendah
  • 25% , 50% dan 75% adalah persentil (dijelaskan di bab statistik)
  • Maks - Nilai tertinggi