Dengan menggunakan library pandas, kita akan lihat correlations dari data feature yang telah kita prepare pada modul sebelumnya.
Data bisa download di https://drive.google.com/file/d/1MmhdmdwiHQVlW41IA28OiitAYJEKheFH/view?usp=sharing
Pertama kita import library yang digunakan yaitu Pandas, Matplotlib dan Seaborn. Seaborn adalah library yang dikembangkan diatas matplotlib yang berguna untuk data visualization.
import pandas as pd import matplotlib.pyplot as plt import seaborn as sns
Load data kedalam pandas dataframe. Kemudian drop beberapa column yang tidak berpengaruh terhadap price, yaitu data Lattitude, Longtitude dan Postalcode.
df = pd.read_csv('melb_data_processed.csv')
df = df.drop(['Lattitude', 'Longtitude', 'Postcode'], axis=1)
Untuk keperluan modul ini, kita akan melihat correlation pada column numeric saja. Buat dataframe baru yang menampung dataframe dengan type numeric.
Pertama definisikan array typedata numeric, dan gunakan untuk mengambil nama column dengan tipe data numeric.
Kemudian buat dataframe baru yang berisi column numeric value.
num_type = ['int16', 'int32', 'int64', 'float16', 'float32', 'float64'] num_col = list(df.select_dtypes(include=num_type).columns) df_num = df[num_col]
Seperti yang sudah dibahas di modul sebelumnya, terdapat 3 method untuk melihat data correlation, yaitu Pearson, Spearman dan Kendall.
Berikut contoh code untuk method pearson. Untuk method lainnya, cukup ganti ‘pearson’ dengan ‘spearman’ atau ‘kendall’.
pearson_corr = df_num.corr(method='pearson')
plt.figure(figsize=(8,6))
sns.heatmap(pearson_corr, linewidth=1, annot=True, annot_kws={'size':10})
plt.title('Pearson Correlation', fontsize=22)
plt.show()

Correlation positif ditunjukan dengan warna yang lebih terang. Sementara correlation negatif akan ditunjukan dalam warna yang gelap.
Dapat dilihat Jumlah rooms, bedroom2, bathroom dan landsize berkolerasi positif dengan price. Yang berarti makin banyak ruangan, kamar tidur, kamar mandi atau ukuran tanah makin besar makan harga makin mahal.
Sementara distance menunjukan correlation negatif, makin jauh (makin besar nilai distance) dari pusat kota, makin murah harga rumah tersebut.
Code lengkap data correlation menggunakan metoda Pearson.
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
df = pd.read_csv('melb_data_processed.csv')
df = df.drop(['Lattitude', 'Longtitude', 'Postcode'], axis=1)
num_type = ['int16', 'int32', 'int64', 'float16', 'float32', 'float64']
num_col = list(df.select_dtypes(include=num_type).columns)
df_num = df[num_col]
pearson_corr = df_num.corr(method='pearson')
plt.figure(figsize=(8,6))
sns.heatmap(pearson_corr, linewidth=1, annot=True, annot_kws={'size':10})
plt.title('Pearson Correlation', fontsize=22)
plt.show()
1 thought on “Data Correlations Menggunakan Pandas”