top of page
Gambar penulisCornellius Yudha Wijaya

5 Fungsi Plotting Pandas yang Mungkin Belum Anda Ketahui

Diperbarui: 16 Jul

Pandas adalah paket manipulasi data yang terkenal dan digunakan oleh banyak orang. Pandas terkenal karena intuitif dan mudah digunakan. Selain itu, Pandas mendapatkan banyak dukungan dari komunitas untuk meningkatkan paket tersebut.


Namun, hanya sedikit yang tahu bahwa Pandas juga memiliki fungsi plotting. Beberapa fungsi plotting dari Pandas sangat istimewa dan menawarkan wawasan bagi analisis data Anda. Apa saja fungsi-fungsi tersebut? Mari kita jelajahi bersama.


Sebagai contoh, kita akan menggunakan Data Titanic yang tersedia dari Kaggle.



Bootstrap Plot

Bootstrap plot adalah fungsi plotting dari Pandas untuk memperkirakan ketidakpastian statistik dengan menggunakan fungsi bootstrap (sampling data dengan penggantian). Ini adalah plot sederhana yang digunakan ketika mengukur statistik data (mean, median, midrange) dengan estimasi interval.


Mari kita coba menggunakan fungsi ini dengan sampel data.

import pandas as pd

df = pd.read_csv('train.csv')
pd.plotting.bootstrap_plot(df['Fare'], size = 150, samples = 1000)
5 Fungsi Plotting Pandas yang Mungkin Belum Anda Ketahui

Plot ini akan melakukan resampling data sebanyak parameter sampel dengan jumlah data pada parameter size.


Estimasi persebaran mean mendekati 30 hingga 40, dan median mendekati 12 hingga 15. Dengan plot ini, kita dapat mencoba memperkirakan statistik populasi yang sebenarnya. Hasil Anda mungkin berbeda dibandingkan dengan hasil saya karena sampling dilakukan secara acak.

Scatter Matrix Plot

Scatter Matrix Plot adalah fungsi plotting Pandas untuk membuat scatter plot dari semua data numerik yang tersedia. Mari coba fungsi ini untuk mempelajari tentang scatter matrix.

pd.plotting.scatter_matrix(df)
5 Fungsi Plotting Pandas yang Mungkin Belum Anda Ketahui

Seperti yang Anda lihat pada gambar di atas, fungsi scatter matrix secara otomatis mendeteksi semua kolom numerik dari data frame dan membuat scatter matrix untuk setiap kombinasi.


Fungsi ini juga membuat histogram plot untuk kolom yang sama untuk mengukur distribusi data.

Radviz Plot

Radviz plot adalah plot untuk memvisualisasikan data berdimensi N ke dalam plot 2D. Biasanya, data dengan lebih dari 3 dimensi akan sulit divisualisasikan, tetapi kita bisa melakukannya dengan Radviz Plot. Mari coba dengan contoh data.

pd.plotting.radviz(df[['SibSp', 'Parch', 'Pclass', 'Age', 'Fare','Survived']], 'Survived', 
5 Fungsi Plotting Pandas yang Mungkin Belum Anda Ketahui

Pada fungsi di atas, kita hanya menggunakan data numerik dengan target untuk membagi data.


Hasilnya ditunjukkan pada gambar di atas. Namun, bagaimana kita bisa menginterpretasikan plot di atas? Untuk setiap variabel akan diwakili secara merata sebagai lingkaran. Setiap titik data dalam variabel akan diplot di dalam lingkaran sesuai dengan nilainya. Variabel yang sangat berkorelasi akan lebih dekat dalam lingkaran dibandingkan dengan variabel yang kurang berkorelasi.


Andrew Curves Plot

Andrew Curves plotting adalah metode untuk memvisualisasikan data multivariat untuk mengidentifikasi kluster dalam data. Ini juga bisa digunakan untuk mengidentifikasi apakah ada pemisahan dalam data. Mari kita coba dengan contoh data.


Andrew Curves bekerja dengan baik ketika data dinormalisasi dalam rentang 0 hingga 1, jadi kita akan memproses data sebelum menerapkan fungsi ini.

from sklearn.preprocessing import MinMaxScaler

df = df.drop(['PassengerId', 'Name', 'Sex', 'Ticket', 'Cabin', 'Embarked'], axis =1)
scaler = MinMaxScaler()
df_scaled = scaler.fit_transform(df.drop('Survived', axis =1))

df_scaled = pd.DataFrame(df_scaled, columns = df.drop('Survived', axis =1).columns)
df_scaled['Survived'] = df['Survived']

pd.plotting.andrews_curves(df_scaled, 'Survived', color =['blue', 'red'])
5 Fungsi Plotting Pandas yang Mungkin Belum Anda Ketahui

Pada gambar di atas, kita bisa melihat kluster yang berpotensi berbeda untuk kelas Survived.

Lag Plot

Lag plot adalah plot data time-series spesifik untuk memeriksa apakah data time-series berkorelasi dengan dirinya sendiri dan acak. Lag plot bekerja dengan memplot data time dengan lag mereka.


Misalnya, data T1 dengan lag 1 akan menjadi T1 yang diplot terhadap data T1+1 (atau T2). Mari coba fungsi ini untuk memahami lebih baik.


Kita akan membuat sampel data time-series untuk contoh ini.

np.random.seed(34)
x = np.cumsum(np.random.normal(loc=1, scale=5, size=100))
s = pd.Series(x)
s.plot()
5 Fungsi Plotting Pandas yang Mungkin Belum Anda Ketahui

Kita bisa melihat data time-series kita menunjukkan pola yang meningkat. Mari kita lihat seperti apa hasilnya ketika kita menggunakan lag plot.

pd.plotting.lag_plot(s, lag=1)
5 Fungsi Plotting Pandas yang Mungkin Belum Anda Ketahui

Kita bisa melihat data menunjukkan pola linear ketika kita menggunakan lag plot dengan lag 1. Ini berarti ada autokorelasi dengan perbedaan 1 hari dalam data. Mari kita lihat datanya apakah ada korelasi ketika kita menggunakan basis bulanan.

pd.plotting.lag_plot(s, lag=30)
5 Fungsi Plotting Pandas yang Mungkin Belum Anda Ketahui

Datanya sekarang menjadi sedikit lebih acak meskipun masih ada pola linearitas.


Kesimpulan

Pandas adalah paket manipulasi data yang juga menyediakan berbagai fungsi plotting unik. Dalam artikel ini, kita telah membahas 5 fungsi plotting Pandas yang berbeda:

  1. Bootstrap Plot

  2. Scatter Matrix Plot

  3. Radviz Plot

  4. Andrew Curves Plot

  5. Lag Plot



9 tampilan0 komentar

Comments


bottom of page