Analisis Univariat
Plot distribusi, histogram, plot kotak, dan plot hitungan untuk memahami fitur individual.
Analisis Univariat adalah pelajaran Learn AI with Python gratis di CoddyKit. Ini adalah pelajaran 2 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Learn AI with Python, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Learn AI with Python mencakup 4 pelajaran total.
Apa Itu Analisis Univariat?
Analisis univariat memeriksa satu variabel pada satu waktu untuk memahami distribusinya: pusat, sebaran, bentuk, dan nilai yang tidak biasa.
Diagram yang tepat bergantung pada tipe variabel:
- Numerik → histogram, KDE, diagram kotak, diagram biola
- Kategorikal → diagram frekuensi (diagram batang yang menunjukkan frekuensi)
Menyiapkan Pustaka Pembuatan Diagram
Kita menggunakan Matplotlib (plt) dan Seaborn (sns). Seaborn dibangun di atas Matplotlib dan menyediakan pengaturan bawaan yang lebih baik untuk diagram statistik.
import matplotlib.pyplot as plt
import seaborn as sns
import pandas as pd
sns.set_theme(style="whitegrid")
df = pd.read_csv("data.csv")Histogram dengan plt.hist
Histogram mengelompokkan nilai numerik ke dalam interval dan menghitung jumlah nilai yang masuk ke setiap interval. Histogram menunjukkan bentuk keseluruhan suatu distribusi.
Argumen bins mengatur tingkat kerincian — terlalu sedikit interval akan menyembunyikan struktur, sedangkan terlalu banyak akan menambahkan derau.
plt.hist(df["age"], bins=30, edgecolor="black")
plt.xlabel("Age")
plt.ylabel("Count")
plt.title("Age Distribution")
plt.show()Diagram KDE — Kepadatan yang Halus
Estimasi kepadatan kernel (sns.kdeplot) menggambar kurva halus yang mendekati distribusi, sehingga dapat lebih mudah dibaca daripada batang histogram yang bergerigi.
Gabungkan keduanya dengan sns.histplot(..., kde=True) untuk menumpangkan kurva halus pada batang.
sns.kdeplot(df["age"], fill=True)
plt.show()
sns.histplot(df["age"], bins=30, kde=True)
plt.show()Mendeteksi Skew
Skew mengukur ketidaksimetrian. Ekor panjang ke kanan disebut skew kanan (positif), sedangkan ekor panjang ke kiri disebut skew kiri (negatif).
Pendapatan, harga, dan jumlah biasanya memiliki skew ke kanan. Anda dapat mengukurnya dengan df[col].skew() — nilai yang jauh dari 0 menunjukkan adanya skew.
print(df["income"].skew()) # e.g. 2.3 -> strong right skew
sns.histplot(df["income"], bins=40, kde=True)
plt.show()Mendeteksi Distribusi Bimodal
Distribusi bimodal memiliki dua puncak, yang sering kali menandakan bahwa dua kelompok berbeda tercampur (misalnya, dua jenis produk dalam satu kolom harga).
Diagram KDE membuat bimodalitas terlihat jelas — carilah dua tonjolan. Ini merupakan petunjuk bahwa variabel kategorikal tersembunyi mungkin menjelaskan pemisahan tersebut.
sns.kdeplot(df["price"], fill=True)
plt.title("Two peaks suggest two subpopulations")
plt.show()Diagram Kotak dengan sns.boxplot
Diagram kotak menunjukkan median (garis tengah), rentang antarkuartil (IQR, yaitu kotaknya), dan kumis yang memanjang hingga sekitar 1,5 kali IQR. Titik di luar kumis ditandai sebagai pencilan.
sns.boxplot(x=df["income"])
plt.title("Income — box plot")
plt.show()Pencilan dan Aturan IQR
Diagram kotak menggunakan aturan IQR: sebuah titik merupakan pencilan jika berada di bawah Q1 - 1.5*IQR atau di atas Q3 + 1.5*IQR.
Anda dapat menghitung batasnya sendiri untuk menyaring atau membatasi nilai ekstrem.
q1 = df["income"].quantile(0.25)
q3 = df["income"].quantile(0.75)
iqr = q3 - q1
low, high = q1 - 1.5*iqr, q3 + 1.5*iqr
outliers = df[(df["income"] < low) | (df["income"] > high)]
print(len(outliers), "outliers")Diagram Biola dengan sns.violinplot
Diagram biola menggabungkan diagram kotak dengan KDE yang dicerminkan. Lebar pada setiap ketinggian menunjukkan kepadatan, sehingga Anda dapat melihat bentuk dan statistik ringkasan sekaligus.
Diagram biola sangat baik untuk menampilkan skew atau bimodalitas yang mungkin tersembunyi dalam diagram kotak biasa.
sns.violinplot(x=df["age"])
plt.title("Age — violin plot")
plt.show()Diagram Frekuensi untuk Variabel Kategorikal
Untuk kolom kategorikal, gunakan sns.countplot — diagram batang yang menunjukkan frekuensi kategori. Ini adalah bentuk visual dari value_counts().
Urutkan batang berdasarkan frekuensi agar lebih mudah dibaca menggunakan argumen order.
order = df["city"].value_counts().index
sns.countplot(y="city", data=df, order=order)
plt.title("Records per city")
plt.show()Memilih Diagram Univariat yang Tepat
Panduan keputusan singkat:
- Bentuk kolom numerik → histogram atau KDE
- Pencilan dan kuartil → diagram kotak
- Bentuk dan ringkasan sekaligus → diagram biola
- Frekuensi kategori → diagram frekuensi
Pemeriksaan Cepat: Memilih Diagram
Anda ingin melihat median, kuartil, dan pencilan dari satu kolom numerik.
Ringkasan: Analisis Univariat
Anda telah mempelajari cara memeriksa satu variabel pada satu waktu:
plt.histdansns.kdeplotuntuk melihat bentuk distribusi.skew()untuk mengukur ketidaksimetrian; tonjolan KDE untuk mendeteksi bimodalitassns.boxplotdan aturan IQR untuk menemukan pencilansns.violinplotuntuk melihat bentuk dan ringkasan secara bersamaansns.countplotuntuk mengetahui frekuensi kategorikal
Selanjutnya, kita akan melihat hubungan antara dua variabel atau lebih.
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Analisis Univariat” gratis?
Ya — teks lengkap “Analisis Univariat” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Learn AI with Python, upgrade ke CoddyKit PRO. Kursus Learn AI with Python mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “Analisis Univariat”?
Plot distribusi, histogram, plot kotak, dan plot hitungan untuk memahami fitur individual. Kamu berlatih Learn AI with Python dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai Learn AI with Python?
Tidak diperlukan pengalaman sebelumnya. Learn AI with Python di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 2 dari 4.
Berapa lama pelajaran “Analisis Univariat” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran Learn AI with Python ini?
Ya. Setiap pelajaran Learn AI with Python menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.
Semua pelajaran dalam kursus ini
- Alur Kerja EDA dan Pembuatan Profil Data
- Analisis Univariat
- Analisis Bivariat dan Multivariat
- Distribusi Fitur dan Analisis Target