Preparasi Data

Compiled by: Suprapto van Plaosan

Topik

  • Konversi data kategori nama ke dalam kategori nominal,
  • Standarisasi data nominal kontinu
  • Deteksi outlier

Dataset Columns:

  • Gender : Male / Female
  • Height : Number (m)
  • Weight : Number (Kg)
  • Body Mass Index (Target Variable):

Indeks massa tubuh (BMI) adalah berat seseorang dalam kilogram dibagi dengan tinggi dalam meter kuadrat.

Indeks massa tubuh (BMI) adalah ukuran lemak tubuh berdasarkan tinggi dan berat badan yang berlaku untuk pria dan wanita dewasa.

Kategori BMI:

  • Berat badan kurang = <18,5
  • Berat badan normal = 18,5-24,9
  • Kegemukan = 25–29,9
  • Obesitas = BMI 30 atau lebih besar
Unnamed: 0 Gender Height Weight BMI Grup-BMI
2775 2775 Male 1.703012 83.035939 28.630628 Gemuk
5411 5411 Female 1.618770 61.506437 23.472002 Normal
3147 3147 Male 1.814141 85.710701 26.043108 Gemuk
9602 9602 Female 1.627731 57.988667 21.886568 Normal
2622 2622 Male 1.783394 84.237822 26.485773 Gemuk
367 367 Male 1.766906 88.607395 28.382002 Gemuk
5490 5490 Female 1.567153 53.071946 21.609372 Normal
3223 3223 Male 1.762265 87.434337 28.153977 Gemuk
1962 1962 Male 1.709587 78.047408 26.703985 Gemuk
5552 5552 Female 1.685977 68.632634 24.145013 Normal
9526 9526 Female 1.526450 47.361272 20.326303 Normal
8796 8796 Female 1.577489 60.272766 24.220784 Normal
4356 4356 Male 1.716098 77.685082 26.378705 Gemuk
279 279 Male 1.759862 81.097509 26.184850 Gemuk
2714 2714 Male 1.785114 84.786452 26.606911 Gemuk
6033 6033 Female 1.639037 59.475342 22.139085 Normal
5920 5920 Female 1.535272 49.753747 21.108385 Normal
2504 2504 Male 1.731313 77.326607 25.797512 Gemuk
9277 9277 Female 1.653738 60.478561 22.114029 Normal
4257 4257 Male 1.655739 78.223615 28.533444 Gemuk

Data Gender merupakan data kategori dengan tipe dikotomi. Kita bisa ubah data gender ke dalam kode 0 untuk Female dan 1 untuk Male. Konversi ini berguna untuk pengolahan data berdasarkan Gender.

8517    0
7252    0
8674    0
2233    1
8448    0
333     1
1683    1
4081    1
7842    0
6530    0
Name: Gender, dtype: int64

Dengan konversi ke kategori nominal, gender dapat digunakan untuk pengolahan data, seperti contoh berikut:

Menghapus data kolom 'Unnamed: 0'

Gender Height Weight BMI Grup-BMI
4168 1 1.804302 87.432624 26.856851 Gemuk
334 1 1.771519 85.357453 27.198815 Gemuk
3571 1 1.741768 90.485830 29.826341 Gemuk
9606 0 1.509185 56.426990 24.774321 Normal
4645 1 1.680755 68.038381 24.084915 Normal
9586 0 1.667017 71.592649 25.762512 Gemuk
6578 0 1.648556 69.205828 25.464491 Gemuk
6508 0 1.580677 64.480671 25.807326 Gemuk
4909 1 1.787451 87.125158 27.269391 Gemuk
9883 0 1.540803 51.750070 21.798007 Normal

Mendeteksi data yang kosong

Gender Height Weight BMI Grup-BMI
5551 0 1.535073 53.568701 22.732792 Normal
7983 0 1.499342 44.621042 19.848996 Normal
5289 0 1.545834 50.843469 21.276945 Normal
7721 0 1.663995 76.815295 27.742361 Gemuk
8983 0 1.780001 83.558489 26.372438 Gemuk
6187 0 1.709350 73.320771 25.093712 Gemuk
2869 1 1.853445 90.950061 26.475460 Gemuk
9548 0 1.715001 74.158133 25.213313 Gemuk
6795 0 1.664371 58.478597 21.110412 Normal
8437 0 1.492437 50.646876 22.738432 Normal
Gender       0
Height       0
Weight       0
BMI          0
Grup-BMI    79
dtype: int64

Gender      0.0000
Height      0.0000
Weight      0.0000
BMI         0.0000
Grup-BMI    0.0079
dtype: float64

Dari 10.000 dataset ada 24 atau 0.0042 data yang mengandung nilai NaN (Not a Number) dan semua berada di kolom Grup-BMI.

Gender      79
Height      79
Weight      79
BMI         79
Grup-BMI     0
dtype: int64

Dari deteksi NaN diketahui bahwa nilai NaN muncul ketika nilai BMI = 0. Seharusnya bila nilai BMI = 0 menghasilkan Grup-BMI = kurus. Dengan demikian, data 'NaN' dapat diganti dengan 'Kurus'.

Gender      0
Height      0
Weight      0
BMI         0
Grup-BMI    0
dtype: int64

Data Height atau tinggi badan, merupakan data nominal kontinu.

Grafik histogram tinggi badan menunjukan adanya satu puncak dengan kemiringan ke sisi kiri dan kanan yang relatif seimbang.Hal ini menunjukkan bahwa tinggi badan mengikuti bentuk Distribusi Normal.

Standardisasi Data

Standarisasi data tinggi badan menggunakan nilai z-score akan mengubah histogram mengikuti distribusi normal dengan rata-rata = 0

Grafik boxplot data tinggi badan adalah sebagai berikut:

Deteksi dan penghilangan pencilan

Pencilan dengan nilai lebih kecil dari nilai Q1

[     Gender   Height   Weight      BMI Grup-BMI
 6624      0 -3.05424 -2.80459  16.8269    Kurus
 7294      0 -2.98748 -2.57994  18.3539    Kurus
 9285      0 -3.14618 -3.01307  15.4488    Kurus]

Pencilan dengan nilai lebih besar dari nilai Q3

[     Gender   Height   Weight      BMI  Grup-BMI
 994       1  3.04842  2.93553  29.4752     Gemuk
 1317      1   3.1436  2.05259  25.9633     Gemuk
 2014      1   3.2831  3.38088  30.4162  Obesitas
 3285      1   3.1608  2.87941  28.9461     Gemuk
 3757      1  3.18501   2.6254    27.95     Gemuk]

Pencilan dengan nilai lebih kecil dari $ - 3 * \sigma$

Gender Height Weight BMI Grup-BMI
6624 0 -3.05424 -2.80459 16.8269 Kurus
9285 0 -3.14618 -3.01307 15.4488 Kurus

Pencilan dengan nilai lebih besar dari $ + 3 * \sigma$

Gender Height Weight BMI Grup-BMI
994 1 3.04842 2.93553 29.4752 Gemuk
1317 1 3.1436 2.05259 25.9633 Gemuk
2014 1 3.2831 3.38088 30.4162 Obesitas
3285 1 3.1608 2.87941 28.9461 Gemuk
3757 1 3.18501 2.6254 27.95 Gemuk
[<matplotlib.lines.Line2D at 0x7fbd02620a90>]