Mendeteksi hubungan antar variabel data.
Ukuran kekuatan hubungan antara dua variabel. Apakah jika $X$ naik, $Y$ juga naik?
Nilai antara -1 hingga 1 yang menunjukkan kekuatan hubungan linear.
Kovarian mengukur arah hubungan linear antar variabel. Namun, nilainya tidak terstandar (bisa -1000 atau +0.005 tergantung satuan data).
Korelasi adalah Kovarian yang dinormalisasi dengan Standar Deviasi masing-masing variabel, sehingga nilainya selalu antara -1 dan 1.
$Correlation(X,Y) = \frac{Cov(X,Y)}{\sigma_X \sigma_Y}$
Dalam ML, kita sering menggunakan Heatmap untuk melihat korelasi antar semua fitur sekaligus. Fitur yang berkorelasi sangat tinggi (misal > 0.95) seringkali berlebihan (redundant).
import pandas as pd
import seaborn as sns
data = {
'Jam_Belajar': [1, 2, 3, 4, 5],
'Nilai_Ujian': [50, 60, 70, 80, 90],
'Jam_Tidur': [8, 7, 6, 5, 4] # Negatif korelasi dengan belajar
}
df = pd.DataFrame(data)
# Hitung Matriks Korelasi
corr_matrix = df.corr()
print(corr_matrix)
# Output:
# Jam_Belajar Nilai_Ujian Jam_Tidur
# Jam_Belajar 1.0 1.0 -1.0
# Nilai_Ujian 1.0 1.0 -1.0
# Jam_Tidur -1.0 -1.0 1.0
# Visualisasi Heatmap (Pseudo-code)
# sns.heatmap(corr_matrix, annot=True, cmap='coolwarm')