Matriks Scatter Plot: Pengertian dan Implementasi
Matriks scatter plot adalah suatu teknik visualisasi data yang digunakan untuk menganalisis hubungan antar variabel dalam dataset. Matriks ini terdiri atas k rows dan k columns, di mana setiap row dan column mewakili sebagai plot skater tunggal.
Plot individual (i, j) dapat didefinisikan sebagai berikut:
- Aksis vertikal: Variabel Xj
- Aksis horizontal: Variabel Xi
Dalam matriks scatter plot, ada beberapa faktor yang perlu dipertimbangkan saat plotting, antara lain:
- Plot diagonal adalah hanya garis 45 derajat karena kita memplot Xi vs Xi. Namun, kita dapat memplot histogram untuk variabel Xi pada diagonal atau hanya meninggalkan kosong.
- Karena Xi vs Xj setara dengan Xj vs Xi dengan axes terbalik, kita dapat juga mengabaikan plot di bawah diagonal.
- Dapat lebih membantu jika kita menambahkan garis plot overlay pada titik-titik scatter dalam plot untuk memberikan pemahaman yang lebih baik atas plot.
Implementasi
Untuk implementasi ini, kita akan menggunakan dataset Titanic. Dataset ini dapat diunduh dari Kaggle. Sebelum memplot matriks scatter, kita akan melakukan beberapa operasi preprocessing pada dataframe untuk mendapatkan bentuk data yang diinginkan.
Berikut adalah kode Python yang digunakan:
import pandas as pd
import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt
titanic_dataset = pd.read_csv('tested.csv.xls')
titanic_dataset.head()
titanic_dataset.drop(['Name', 'Ticket','Cabin','PassengerId'], axis=1, inplace=True)
titanic_dataset.dtypes
titanic_dataset['Embarked'].unique()
titanic_dataset['Sex'].unique()
titanic_dataset.fillna(titanic_dataset.mean(), inplace=True)
titanic_dataset["Sex"] = titanic_dataset["Sex"].cat.codes
titanic_dataset["Embarked"] = titanic_dataset["Embarked"].cat.codes
survive_colors = {0:'orange', 1:'blue'}
pd.plotting.scatter_matrix(titanic_dataset, figsize=(20,20), grid=True, marker='o', c=titanic_dataset['Survived'].map(survive_colors))
sns.set_theme(style="ticks")
sns.pairplot(titanic_dataset, hue='Survived')
Dalam kode di atas, kita menggunakan library pandas untuk membaca dataset Titanic, dan library seaborn untuk memplot matriks scatter. Kita juga menggunakan library matplotlib untuk menampilkan plot.
Hasil
Berikut adalah hasil plotting matriks scatter:
PassengerId Survived Pclass Name Sex Age SibSp Parch Ticket Fare Cabin Embarked
0 892 0 3 Kelly, Mr. James male 34.5 0 0 330911 7.8292 NaN Q
1 893 1 3 Wilkes, Mrs. James (Ellen Needs) female 47.0 1 0 363272 7.0000 NaN S
...
Dalam plot, kita dapat melihat hubungan antar variabel seperti Pclass dan Fare, serta hubungan antara Survived dan beberapa variabel lainnya.
Referensi
NIST Handbook