Exploratory Data Analysis dengan Dataset Pokemon dan Python

Kategori Artikel : IT Insight

02 August 2021

Exploratory Data Analysis dengan Dataset Pokemon dan Python

Published in HIMIT PENS Medium

Written by : Mario Prasetya Mulya

Pokémon adalah franchise / waralaba media yang dimiliki oleh Nintendo dan diciptakan oleh Satoshi Tajiri pada tahun 1995. Pokémon berawal dari video game bernama Pokémon Red dan Pokémon Green pada 27 Februari 1996. Game-game Pokémon ini masih terus berkembang hingga saat ini dan telah memiliki 8 generasi Pokémon.


Saat ini, jumlah Pokémon secara resmi sudah mencapai 898 dari total 8 generasi. Setiap Pokémon memiliki keunikannya tersendiri. Tidak hanya bentuk fisik Pokémon tersebut, melainkan data-data kekuatan, kemampuan, dan serangan dari setiap Pokémon berbeda-beda. Jika setiap data yang ada diakumulasikan, dataset dari Pokémon-pokémon ini dapat menjadi sangat kompleks.


Salah satu pendekatan yang populer dilakukan dalam menganalisa data ialah Exploratory Data Analysis / EDA. EDA adalah eksplorasi data yang menitikberatkan pada penggunaan grafik / representasi visual dari data untuk mengekstrak informasi-informasi tersembunyi. Ada beberapa manfaat dari penggunaan pendekatan EDA ini, antara lain mendapat informasi yang terkandung pada data, mendeteksi adanya outliers, mengekstrak variabel yang penting dalam membangun model, dan lain sebagainya.


Ada beberapa tools yang digunakan untuk melakukan Exploratory Data Analysis, seperti penggunaan bahasa pemrograman Python. Python memiliki berbagai library yang dapat digunakan untuk menganalisa data hingga membuat predictive model. Selain itu, Python juga mudah digunakan karena sintaks yang digunakan lebih intuif daripada bahasa pemrograman lain.


Python akan digunakan dalam contoh analisa data Pokémon kali ini. Data-data Pokémon diambil dari situs Kaggle, situs komunitas data sains yang menyediakan beragam dataset dan notebook. Untuk mengunduh data Pokémon, dapat klik link ini. Data sudah dikemas dalam ekstensi .csv sehingga dapat dianalisa dengan Python secara langsung.


Import Library

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
from IPython.display import display
%matplotlib inline

Library-library ini merupakan library utama yang akan digunakan dalam menganalisa data-data Pokémon.


Inspeksi Data

Inspeksi data dilakukan agar memberi gambaran umum mengenai dataset yang digunakan. Selain itu, dengan melakukan inspeksi pada data, beberapa informasi penting dapat ditemukan sekaligus, seperti jumlah variabel, null values, tipe data tiap variabel, dan lain sebagainya.


df = pd.read_csv("./dataset/pokemon.csv")
df.head()


Output dari method head()

Dengan menampilkan sebagian data menggunakan method head(), overview pada data dapat diketahui.


df.shape

baris,kolom

df.info()


Method info() akan menampilkan data berupa nama kolom, jumlah data yang tidak null, serta tipe datanya. Dapat dilihat di sini terdapat kolom yang memiliki null. Hal ini dapat diabaikan terlebih dahulu karena fokusan tulisan ini adalah menganalisa data bukan membuat model. Pengisian null value ini dapat dilakukan beriringan dengan proses analisa.


Exploration Data Analysis

Untuk memahami data lebih dalam, ada beberapa pendekatan yang dapat dilakukan, salah satunya adalah menanyakan pertanyaan kepada diri sendiri lalu menjawabnya melalui eksplorasi data. Ada 11 pertanyaan yang akan dijawab pada tulisan ini, yaitu:

  1. Ada berapa Pokémon untuk tiap generasi?
  2. Ada berapa Pokémon legendaris dan bagaimana persebarannya untuk tiap generasi?
  3. Pokémon apa yang paling berat dan paling ringan?
  4. Pokémon apa yang paling besar dan paling kecil?
  5. Pokémon apa yang memiliki base egg steps paling tinggi dan paling rendah?
  6. Apa Pokémon yang paling sulit ditangkap?
  7. Pokémon apa yang memiliki efektifitas kombinasi tipe paling efektif?
  8. Apa Pokémon dengan base stat terkuat untuk tiap kategori?
  9. Apa Pokémon yang paling terkuat dan terlemah?
  10. Apa Pokémon paling kuat untuk tiap generasi?
  11. Apa ability yang paling umum dimiliki Pokémon?

Ada berapa Pokémon untuk tiap generasi?

Sebelum menjawab pertanyaan ini, perlu dipahami terlebih dahulu arti dari generasi. Seperti yang sudah dijelaskan pada poin sebelumnya, saat ini sudah ada 8 generasi Pokémon. Generasi dalam Pokémon ini merepresentasikan pengelompokkan Pokémon berdasarkan game-nya. Setiap generasi akan membawa hal yang berbeda, seperti daerah baru, serangan baru, serta tipe baru.

Namun pada dataset ini hanya Pokémon yang tersedia hanya sampai generasi ke-7. Data generasi ini tersedia pada dataset dengan nama variabel ‘generation’.

sns.countplot(x=df['generation'])


Jumlah Pokémon pada setiap generasi


Rincian dari setiap jumlah Pokémon untuk tiap generasinya dapat dilihat pada data di atas. Dari data di atas juga dapat ditarik kesimpulan, generasi kelima memiliki jumlah Pokémon paling banyak, yaitu 156. Game Pokémon generasi kelima adalah Pokémon Black dan Pokemon White. Lalu jumlah Pokémon paling sedikit dimiliki oleh generasi ke-6 pada game Pokémon X dan Pokémon Y.

Ada berapa Pokémon legendaris dan bagaimana persebarannya untuk tiap generasi?

Pokémon legendaris adalah Pokémon unik dan selalu ada pada setiap generasinya. Beberapa Pokémon legendaris juga menjadi ikon pada versi game Pokémon.


ALAMAT

Institut Teknologi Sepuluh Nopember, Kampus, Jl. Raya ITS, Keputih, Kec. Sukolilo, Kota SBY, Jawa Timur 60111, Indonesia