Merangkum Temuan dalam Laporan
Rangkum wawasan utama dalam ringkasan markdown yang terstruktur, lengkap dengan referensi visualisasi tersemat dan langkah berikutnya yang dapat ditindaklanjuti.
Merangkum Temuan dalam Laporan adalah pelajaran Pandas & NumPy Academy gratis di CoddyKit. Ini adalah pelajaran 4 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 Pandas & NumPy Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Pandas & NumPy Academy mencakup 4 pelajaran total.
Mengapa Laporan EDA yang Terstruktur Itu Penting
Notebook Jupyter mentah dengan ratusan plot dan sel kode sulit dibagikan kepada pemangku kepentingan yang perlu menindaklanjuti temuan. Laporan ringkasan EDA yang terstruktur merangkum wawasan terpenting dari seluruh analisis univariat dan bivariat Anda menjadi uraian yang jelas. Laporan yang baik memisahkan temuan (apa yang ditunjukkan data) dari implikasi (tindakan yang perlu dilakukan) dan hanya menyertakan visualisasi pendukung untuk klaim-klaim utama.
Enam Bagian dalam Laporan EDA
Laporan EDA profesional biasanya berisi enam bagian: 1) Ikhtisar Dataset (bentuk, sumber, periode waktu), 2) Masalah Kualitas Data (nilai yang hilang, pencilan, duplikasi, dan penanganannya), 3) Distribusi Variabel Utama (kolom numerik dan kategorikal yang paling penting), 4) Korelasi dan Keterkaitan (hubungan dengan magnitudo tertinggi yang ditemukan), 5) Wawasan Subkelompok (perbedaan kelompok yang penting bagi pertanyaan bisnis), serta 6) Langkah Berikutnya yang Disarankan (tindakan pembersihan dan saran pemodelan).
Menulis Bagian Ikhtisar Dataset
Bagian ikhtisar sebaiknya dibuat secara terprogram agar selalu akurat. Catat bentuk, nama kolom dan tipe data, rentang tanggal (jika berlaku), serta sumber atau versi dataset. Menulis bagian ini dalam kode, bukan dalam uraian, mencegah kesalahan umum berupa menjelaskan dataset dengan 10.000 baris dalam laporan yang sebenarnya dibuat dari versi bersih dengan 9.800 baris.
import pandas as pd
import seaborn as sns
df = sns.load_dataset('titanic')
print('=== DATASET OVERVIEW ===')
print(f'Shape: {df.shape[0]:,} rows x {df.shape[1]} columns')
print(f'Columns: {", ".join(df.columns)}')
print(f'Numeric: {df.select_dtypes("number").shape[1]} columns')
print(f'Categorical: {df.select_dtypes("object").shape[1]} columns')
print(f'Boolean: {df.select_dtypes("bool").shape[1]} columns')
print(f'Total missing cells: {df.isna().sum().sum():,}')
print(f'Duplicate rows: {df.duplicated().sum()}')Menulis Bagian Kualitas Data
Bagian kualitas data mencantumkan setiap masalah yang ditemukan dan keputusan yang diambil untuk masing-masing masalah. Gunakan format tabel dengan kolom: Kolom, Masalah, Keparahan (Tinggi/Sedang/Rendah), Tindakan yang Diambil. Hitung tabel ini secara terprogram dari hasil pembuatan profil agar diperbarui secara otomatis ketika data berubah. Tingkat keparahan harus mencerminkan dampak bisnis—variabel target yang hilang tergolong Tinggi, sedangkan kolom nonprediktif yang hilang mungkin tergolong Rendah.
import pandas as pd
import seaborn as sns
df = sns.load_dataset('titanic')
# Auto-generate data quality table
missing_pct = (df.isna().sum() / len(df) * 100).round(1)
quality = missing_pct[missing_pct > 0].to_frame(name='missing_pct')
quality['severity'] = quality['missing_pct'].apply(
lambda x: 'High' if x > 30 else ('Medium' if x > 10 else 'Low')
)
quality['action'] = quality['missing_pct'].apply(
lambda x: 'Drop column' if x > 50 else 'Impute or flag'
)
print(quality.to_string())Membuat Gambar Ringkasan Multi-Panel
Gambar ringkasan menggabungkan beberapa plot menjadi satu gambar yang dapat disematkan dalam laporan. Gunakan plt.subplots(rows, cols) untuk membuat kisi dan berikan setiap temuan utama panelnya sendiri. Simpan gambar dengan savefig() pada DPI yang sesuai dengan format keluaran (150 untuk layar, 300 untuk cetak). Beri judul pada setiap panel dengan pernyataan temuan yang jelas, seperti 'Tarif menceng ke kanan (skew=4.1)', bukan sekadar nama kolom.
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
df = sns.load_dataset('titanic')
fig, axes = plt.subplots(2, 2, figsize=(12, 10))
# 1. Fare distribution
sns.histplot(df['fare'], kde=True, bins=30, ax=axes[0][0])
axes[0][0].set_title('Fare is right-skewed (skew=4.1)')
# 2. Survival by class
survival = df.groupby('class')['survived'].mean().reset_index()
sns.barplot(data=survival, x='class',
y='survived', order=['First', 'Second', 'Third'], ax=axes[0][1])
axes[0][1].set_title('Survival Rate Drops by Class')
# 3. Age distribution
sns.histplot(df['age'].dropna(), kde=True, bins=25, ax=axes[1][0], color='coral')
axes[1][0].set_title('Age: Near-Normal, Missing 20%')
# 4. Embarkation counts
sns.countplot(data=df, x='embarked', ax=axes[1][1], palette='Set2')
axes[1][1].set_title('Most Boarded at Southampton')
plt.tight_layout()
plt.savefig('/tmp/eda_summary.png', dpi=150, bbox_inches='tight')
plt.show()
print('Saved: /tmp/eda_summary.png')Menulis Temuan sebagai Uraian Naratif
Setiap temuan utama harus dinyatakan sebagai kalimat yang relevan bagi bisnis, bukan deskripsi teknis. Alih-alih 'Kolom tarif memiliki kemencengan=4.1', tulislah 'Harga tiket sangat menceng ke kanan—sejumlah kecil penumpang kelas satu membayar lebih dari 10× tarif median, yang dapat mengacaukan analisis pendapatan yang menggunakan harga rata-rata.' Penerjemahan dari pengamatan statistik menjadi implikasi bisnis inilah yang membuat laporan EDA bernilai bagi pemangku kepentingan nonteknis.
Membuat Laporan Markdown Secara Terprogram
Anda dapat menulis laporan EDA sebagai file markdown langsung dari Python. Buat string yang berisi judul markdown, poin-poin, dan tautan gambar yang disematkan, lalu tulis string tersebut ke .md. Pendekatan ini menghasilkan laporan yang dapat direproduksi dan diperbarui secara otomatis ketika data yang mendasarinya berubah, sehingga cocok untuk diintegrasikan ke artefak keluaran pipeline data atau repositori Git.
import pandas as pd
import seaborn as sns
df = sns.load_dataset('titanic')
# Build a simple markdown report
lines = [
'# EDA Summary Report: Titanic Dataset',
'',
'## Overview',
f'- **Rows:** {len(df):,}',
f'- **Columns:** {df.shape[1]}',
f'- **Total Missing Cells:** {df.isna().sum().sum():,}',
'',
'## Key Findings',
'- First-class passengers had a 63% survival rate vs 24% for third class.',
'- Fare is extremely right-skewed (skew=4.1); use log transform before modelling.',
'- Age is missing in 20% of rows — median imputation recommended.',
'',
'## Recommended Next Steps',
'1. Impute age with median grouped by class.',
'2. Drop the cabin column (77% missing).',
'3. Log-transform fare before any regression modelling.',
]
with open('/tmp/eda_report.md', 'w') as f:
f.write('\n'.join(lines))
print('Report written to /tmp/eda_report.md')
print('\n'.join(lines[:10]))Mengekspor ke HTML dengan Jupyter
Notebook Jupyter dapat diekspor ke HTML atau PDF menggunakan jupyter nbconvert --to html notebook.ipynb. Cara ini mempertahankan semua plot, kode, dan sel markdown dalam satu file yang mudah dibagikan dan tidak memerlukan instalasi Python untuk melihatnya. Untuk pipeline yang sepenuhnya otomatis, jalankan notebook secara terprogram dengan papermill: papermill input.ipynb output.ipynb -p date '2024-01-01', yang memberikan parameter dan mengeksekusi notebook sebagai skrip.
# To export a Jupyter notebook to HTML:
# jupyter nbconvert --to html eda_notebook.ipynb
# To parameterise and run with papermill:
# pip install papermill
# papermill eda_template.ipynb eda_2024.ipynb -p date '2024-01-01' -p min_rows 1000
# The output notebook can then be exported:
# jupyter nbconvert --to html eda_2024.ipynb
print('Jupyter nbconvert and papermill automate report generation.')Menyusun Langkah Berikutnya yang Dapat Ditindaklanjuti
Bagian langkah berikutnya yang disarankan sering kali merupakan bagian yang paling banyak dibaca dalam laporan EDA. Susunlah sebagai daftar periksa berdasarkan prioritas: P1 (penghambat)—masalah yang harus diperbaiki sebelum analisis apa pun dapat dianggap valid (misalnya tipe data yang salah diidentifikasi), P2 (penting)—tindakan pembersihan yang secara signifikan memengaruhi kinerja model (misalnya penanganan pencilan), P3 (opsional)—ide pengayaan dan sumber data tambahan untuk dieksplorasi. Kerangka ini memudahkan tim mengalokasikan upaya secara tepat.
Menggunakan pandas-profiling untuk Pelaporan Cepat
ydata-profiling (pip install ydata-profiling) menghasilkan laporan HTML komprehensif dalam satu pemanggilan. Laporan ini mencakup statistik ikhtisar, distribusi variabel, korelasi, pola nilai yang hilang, dan deteksi duplikasi—seluruh bagian dari laporan EDA manual. Gunakan alat ini untuk eksplorasi cepat di awal proyek, lalu tulis laporan ringkasan khusus untuk menyoroti temuan yang paling relevan dengan pertanyaan bisnis Anda.
# pip install ydata-profiling
# from ydata_profiling import ProfileReport
# import seaborn as sns
# df = sns.load_dataset('titanic')
# profile = ProfileReport(df, title='Titanic EDA')
# profile.to_file('titanic_eda.html') # interactive HTML
# profile.to_notebook_iframe() # inline in Jupyter
# Key sections in the generated report:
# - Overview: shape, missing, duplicates
# - Variables: per-column statistics and plots
# - Correlations: Pearson, Spearman, Cramers V
# - Missing values: heatmap and dendrogram
# - Duplicates: full list of duplicate rows
print('ydata-profiling generates full EDA reports with one function call.')Pola Antipola Laporan EDA yang Harus Dihindari
Antipola umum dalam laporan EDA: menampilkan setiap plot untuk setiap kolom (menghasilkan laporan 50 halaman yang tidak dibaca siapa pun—pilih 5–10 yang paling penting), menyatakan fakta tanpa interpretasi ('usia memiliki 177 nilai null'—lalu tindakan apa yang harus dilakukan?), tidak memperbarui laporan setelah pembersihan (bersihkan data, lalu buat ulang profil untuk memastikan masalah telah teratasi), serta mencampurkan kode pembersihan ke dalam analisis (pisahkan pembersihan data dari uraian EDA).
Pemeriksaan Singkat
Uji pemahaman Anda tentang penulisan laporan EDA dari pelajaran ini.
Ringkasan Pelajaran
Dalam pelajaran ini, Anda mempelajari cara menyusun laporan EDA menjadi enam bagian (ikhtisar, kualitas, distribusi, korelasi, wawasan subkelompok, dan langkah berikutnya), membuat gambar ringkasan multi-panel dan laporan markdown secara terprogram, serta menerjemahkan temuan statistik ke dalam bahasa yang relevan bagi bisnis. Selanjutnya, kita akan mengeksplorasi teknik pengindeksan tingkat lanjut—pembuatan MultiIndex dan pemilihan hierarkis di Pandas.
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Merangkum Temuan dalam Laporan” gratis?
Ya — teks lengkap “Merangkum Temuan dalam Laporan” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Pandas & NumPy Academy, upgrade ke CoddyKit PRO. Kursus Pandas & NumPy Academy mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “Merangkum Temuan dalam Laporan”?
Rangkum wawasan utama dalam ringkasan markdown yang terstruktur, lengkap dengan referensi visualisasi tersemat dan langkah berikutnya yang dapat ditindaklanjuti. Kamu berlatih Pandas & NumPy Academy 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 Pandas & NumPy Academy?
Tidak diperlukan pengalaman sebelumnya. Pandas & NumPy Academy 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 4 dari 4.
Berapa lama pelajaran “Merangkum Temuan dalam Laporan” 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 Pandas & NumPy Academy ini?
Ya. Setiap pelajaran Pandas & NumPy Academy 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
- Daftar Periksa Pemrofilan Dataset
- Analisis Univariat
- Analisis Bivariat dan Korelasi
- Merangkum Temuan dalam Laporan