Main Logo
  • Home
  • About
  • Kursus
    • Paket Kursus
    • Roadmap Profesi
  • Elearning
  • Blog
Daftar
Main Logo
  • Home
  • About
  • Kursus
    • Paket Kursus
    • Roadmap Profesi
  • Elearning
  • Blog

Cara Membuat Heatmap Korelasi dengan Seaborn di Python

  • July 28, 2026
  • oleh Edusoft Center

Kalau kamu sedang belajar analisis data, salah satu langkah pertama yang wajib dilakukan sebelum masuk ke pemodelan kita harus memahami hubungan antar variabel. Salah satu cara paling cepat dan enak dilihat untuk itu adalah lewat heatmap korelasi menggunakan pustaka Seaborn di Python.

Di artikel ini kita akan membahas apa itu korelasi, kenapa heatmap, sampai contoh kode yang bisa kamu coba.

Apa Itu Korelasi?

Korelasi adalah ukuran statistik yang menunjukkan seberapa kuat dan ke arah mana hubungan antara dua variabel numerik. Nilainya berkisar dari -1 sampai 1:

  • Mendekati 1 → hubungan positif kuat (kalau variabel A naik, variabel B juga cenderung naik)
  • Mendekati -1 → hubungan negatif kuat (kalau variabel A naik, variabel B cenderung turun)
  • Mendekati 0 → hampir tidak ada hubungan linear

Metode yang paling umum dipakai adalah korelasi Pearson, dan di Python kita bisa menghitungnya cukup dengan satu baris kode lewat Pandas.

Korelasi Itu tidak selalu berlawan, ini dia perbandingan korelasi yang tidak berlawanan dan berlawanan

Korelasi Positif (Searah) vs Negatif (Berlawanan Arah)

Banyak yang mengira korelasi itu selalu soal “berlawanan arah”, padahal korelasi juga bisa searah. Dua variabel dikatakan searah kalau nilainya sama-sama naik atau sama-sama turun bersamaan — ini yang disebut korelasi positif. Sebaliknya, kalau satu variabel naik tapi variabel lain malah turun, itu korelasi negatif.

Pola hubunganNilai rContoh
Searah (naik bareng / turun bareng)Positif, 0 sampai 1Panjang Petal naik → Lebar Petal ikut naik
Berlawanan arah (satu naik, satunya turun)Negatif, -1 sampai 0Lebar Sepal naik → Panjang Petal cenderung turun
Tidak ada pola jelasMendekati 0Dua variabel yang saling lepas

Pada dataset Iris yang jadi contoh di artikel ini, Panjang Petal dan Lebar Petal punya korelasi positif yang sangat kuat (r = 0.96) — jadi keduanya searah, bukan berlawanan. Di heatmap nanti, arah hubungan ini langsung terlihat dari warnanya: merah untuk korelasi positif/searah, dan biru untuk korelasi negatif/berlawanan arah.

Berikut juga contoh Sehari-hari

Supaya lebih mudah dipahami, berikut contoh korelasi dalam kehidupan sehari-hari beserta perkiraan nilai r-nya:

ContohArahPerkiraan rPenjelasan
Tinggi badan vs berat badanSearah (positif)r ≈ 0.7 – 0.9Makin tinggi seseorang, umumnya berat badannya juga makin besar
Jam belajar vs nilai ujianSearah (positif)r ≈ 0.5 – 0.8Makin lama belajar dengan efektif, nilai ujian cenderung makin tinggi
Suhu udara vs penjualan es krimSearah (positif)r ≈ 0.8Makin panas cuaca, penjualan es krim makin laris
Kecepatan mengemudi vs waktu tempuhBerlawanan (negatif)r ≈ -0.7Makin cepat mengemudi, waktu tempuh makin singkat
Harga barang vs jumlah pembeliBerlawanan (negatif)r ≈ -0.5 – -0.8Makin mahal harga, biasanya makin sedikit yang membeli
Jumlah jam nonton TV vs waktu olahragaBerlawanan (negatif)r ≈ -0.3 – -0.5Makin banyak nonton TV, waktu untuk olahraga cenderung makin sedikit
Nomor sepatu vs skor IQNyaris tidak adar ≈ 0.0 – 0.1Dua hal ini secara logis tidak saling memengaruhi

Sebagai patokan cepat, berikut kategori kekuatan korelasi yang umum dipakai (berlaku untuk nilai positif maupun negatif, tinggal lihat tandanya):

  • 0.00 – 0.19 → sangat lemah / nyaris tidak ada hubungan
  • 0.20 – 0.39 → lemah
  • 0.40 – 0.59 → sedang
  • 0.60 – 0.79 → kuat
  • 0.80 – 1.00 → sangat kuat

Kenapa Harus Divisualisasikan dengan Heatmap?

Jika kamu punya 10 variabel. Itu artinya ada matriks korelasi 10×10 = 100 angka. Membaca satu per satu jelas melelahkan dan gampang salah tangkap pola.

Heatmap menyelesaikan masalah itu dengan mengubah angka menjadi warna. Warna merah pekat menandakan korelasi positif kuat, biru pekat menandakan korelasi negatif kuat, dan warna pucat menandakan hubungan yang lemah. Hasilnya, pola-pola penting bisa langsung “kelihatan” hanya dengan sekali lihat.

Instalasi Library yang Dibutuhkan

Sebelum mulai, pastikan sudah menginstal Seaborn, Matplotlib, dan Pandas:

pip install seaborn matplotlib pandas

Contoh Kode: Membuat Heatmap Korelasi

ini dia contoh lengkap menggunakan dataset Iris (dataset klasik yang sering dipakai untuk latihan):

import seaborn as sns
import matplotlib.pyplot as plt
from sklearn.datasets import load_iris

# Memuat data
data = load_iris(as_frame=True)
df = data.frame.drop(columns=["target"])
df.columns = ["Panjang Sepal", "Lebar Sepal", "Panjang Petal", "Lebar Petal"]

# Menghitung matriks korelasi Pearson
corr = df.corr(method="pearson")

# Membuat heatmap
plt.figure(figsize=(6.5, 5.2))
sns.heatmap(
    corr,
    annot=True,        # tampilkan nilai angka di tiap sel
    fmt=".2f",         # format 2 angka desimal
    cmap="coolwarm",   # skema warna
    vmin=-1, vmax=1,
    square=True,
    linewidths=0.6,
    linecolor="white",
    cbar_kws={"label": "Koefisien Korelasi (r)"}
)
plt.title("Heatmap Korelasi Antar Fitur Dataset Iris")
plt.tight_layout()
plt.show()

Hasilnya kira-kira seperti ini:

Membaca Hasilnya

Dari heatmap di atas, ada beberapa insight yang langsung kelihatan:

  • Panjang Petal dan Lebar Petal berkorelasi sangat kuat (r = 0.96) — artinya kalau petal makin panjang, biasanya makin lebar juga.
  • Panjang Sepal juga berkorelasi kuat dengan Panjang Petal (r = 0.87) dan Lebar Petal (r = 0.82).
  • Lebar Sepal justru cenderung berkorelasi negatif dengan variabel lain, meski tidak terlalu kuat (sekitar -0.12 sampai -0.43).

Diagonal utama selalu bernilai 1.00 karena itu adalah korelasi variabel terhadap dirinya sendiri, dan matriksnya simetris, nilai di atas dan di bawah diagonal selalu sama.

Tips Kustomisasi Heatmap

Beberapa parameter sns.heatmap() yang sering dipakai untuk mempercantik atau menyesuaikan tampilan:

ParameterFungsi
annot=TrueMenampilkan nilai angka di setiap sel
cmapMengatur skema warna, misalnya "coolwarm", "viridis", "Blues"
fmtFormat angka, misalnya .2f untuk 2 desimal
vmin, vmaxMembatasi skala warna (untuk korelasi biasanya -1 dan 1)
maskMenyembunyikan sebagian sel, misalnya segitiga atas yang redundan
linewidthsMenambahkan garis pemisah antar sel

Kalau ingin tampilan lebih rapi tanpa duplikasi (karena matriks korelasi simetris), kamu bisa menambahkan mask untuk menyembunyikan segitiga atas:

import numpy as np

mask = np.triu(np.ones_like(corr, dtype=bool))
sns.heatmap(corr, mask=mask, annot=True, cmap="coolwarm", vmin=-1, vmax=1)

Kesimpulan

Heatmap korelasi adalah salah satu alat paling praktis dalam tahap eksplorasi data. Dengan Seaborn, kita hanya butuh beberapa baris kode untuk mengubah tabel angka yang membingungkan menjadi visual yang mudah dibaca dan langsung memberi insight. Cocok dipakai sebelum masuk ke tahap pemodelan, terutama untuk mendeteksi potensi multikolinearitas antar variabel.

Selamat mencoba, dan kalau ada pertanyaan seputar analisis data lainnya, jangan ragu untuk eksplorasi lebih lanjut!

Tags: heatmapkorelasipython
Previous Post
Next Post

Post comment

Cancel reply

Your email address will not be published. Required fields are marked *

Recent Posts

  • Mengenal Ekosistem Python untuk Data Analysis: Library yang Wajib Diketahui Pemula
  • Cara Membuat Heatmap Korelasi dengan Seaborn di Python
  • Teknik Handling Missing Values: Drop vs Fill
  • Cara Import Dataset ke SQLite dengan Python
  • Mengenal Perbedaan Python Murni, Anaconda, dan Miniconda: Mana yang Cocok untuk Pemula?

Arsip

  • July 2026
  • June 2026
  • April 2026
  • March 2026
  • February 2026
  • January 2026
  • September 2025
  • August 2025
  • July 2025
  • March 2019
  • February 2019
  • January 2019
  • December 2018
  • November 2018
  • October 2018
  • September 2018
  • August 2018
  • July 2018
  • June 2018
  • May 2018
  • April 2018
  • March 2018
  • February 2018
  • January 2018
  • December 2017
  • November 2017
  • October 2017
  • September 2017
  • August 2017
  • July 2017
  • June 2017
  • May 2017
  • April 2017
  • March 2017
  • February 2017
  • January 2017
  • December 2016
  • November 2016
  • October 2016
  • September 2016
  • August 2016
  • July 2016
  • June 2016
  • May 2016
  • April 2016
  • March 2016
  • February 2016
  • January 2016
  • December 2015
  • November 2015
  • October 2015
  • September 2015
  • August 2015
  • July 2015
  • June 2015
  • May 2015
  • April 2015
  • March 2015
  • February 2015
  • January 2015
  • December 2014
  • November 2014
  • October 2014
  • September 2014
  • August 2014
  • July 2014
  • June 2014
  • May 2014
  • April 2014
  • March 2014
  • February 2014
  • January 2014
  • December 2013
  • November 2013
  • October 2013
  • September 2013
  • August 2013
  • July 2013
  • June 2013
  • May 2013
  • April 2013
  • March 2013
  • February 2013
  • January 2013
  • December 2012
  • November 2012
  • October 2012
  • September 2012
  • August 2012
  • July 2012
  • June 2012
  • May 2012
  • April 2012
  • December 2011
  • November 2011

Tags

#EdusoftCenter apache web server dns server kursus android kursus database kursus dns dan web server kursus dns server kursus ethical hacking kursus hacking kursus jaringan kursus jaringan linux Kursus Komputer kursus komputer di solo kursus komputer di solo / surakarta kursus komputer di surakarta kursus linux Kursus Linux Forensics kursus linux networking kursus linux security kursus linux server kursus mikrotik kursus networking kursus network security kursus php Kursus PHP dan MySQL kursus php mysql kursus proxy kursus security kursus ubuntu kursus ubuntu server kursus web kursus web security kursus web server kursus wordpress kursus wordpress theme linux MySQL pelatihan komputer di solo PHP security training komputer training komputer di solo tutorial php ubuntu wordpress

© Edusoft Center - Kursus Komputer di Solo | 2010 - 2025 | Privacy Policy | Site Map

All Right Reserved

WhatsApp us