Last Updated on October 11, 2021 by
Visualisasi data merupakan sebuah teknik yang membantu ilmuwan data mengubah data mentah menjadi informasi yang ditampilkan secara grafik sehingga menghasilkan wawasan berharga. Diagram yang disajikan membantu mengurangi kerumitan informasi yang ada dan membuatnya lebih mudah dipahami oleh para pengguna yang masih awam.
Ada banyak alat untuk membuat visualisasi data, seperti Tableau, Power BI, ChartBlocks, dan lainnya, yang merupakan alat tanpa kode. Mereka merupakan tools yang banyak digemari oleh para pengembang
Namun, ketika bekerja dengan data mentah yang memerlukan adanya perubahan data dan tempat penyimpanan data yang tepat, Python merupakan pilihan yang terbaik.
Walaupun dalam penerapannya lebih rumit karena membutuhkan pengetahuan mendalam mengenai python, Python memberikan kemungkinan bagi Anda untuk melakukan manipulasi, perubahan, dan visualisasi data Anda. Yang tentunya hal ini sangat ideal untuk ilmuwan data.
Ada banyak sebab mengapa phyton menjadi pilihan terbaik untuk pengembangan ilmu data, dan salah satu alasan paling penting ialah ekosistem perpustakaannya. Adanya banyak pustaka besar yang tersedia untuk bahasa phyton yang dikhususkan untuk mengolah data seperti matplotlib, panda, numpy, dan tensorflow
Matplotlib adalah perpustakaan grafik yang paling dikenal di luar sana, yang menyediakan untuk bahasa Python dan bahasa pemrograman lainnya seperti R. Ini adalah tingkat penyesuaian dan pengoperasian yang mengaturnya sejak awal. Namun, beberapa tindakan atau penyesuaian mungkin sulit ditangani saat menggunakannya.
Developer membangun sebuah perpustakaan baru yang di dasarkan pada matplotlib yang disebut seaborn.
Pada artikel ini, kita akan fokus pada cara bekerja dengan Seaborn untuk membuat plot terbaik di kelasnya.
Table of Contents
Apa itu Seaborn?
Seaborn adalah library untuk membuat visualisasi data grafik statistik dengan Python.
Desain Seaborn memungkinkan Anda menjelajahi dan memahami data Anda dengan cepat. Cara kerja Seaborn adalah dengan menangkap keseluruhan kerangka data atau informasi yang berisikan keseluruhan data Anda dan menjalankan semua fungsi internal yang diperlukan untuk melakukan kegiatan pemetaan semantik dan agregasi statistik di mana hal itu bertujuan untuk mengubah data menjadi plot informatif.
Ini memberikan abstraksi yang kompleks bersamaan dengan ketika Anda merancang grafik Anda sesuai dengan kebutuhan Anda.
Memasang Seaborn
Menginstal seaborn semudah menginstal satu pustaka menggunakan pengelola paket Python favorit Anda. Ketika Anda menginstal seaborn, perpustakaan akan secara otomatis menginstal dependensi, termasuk Panda, numpy, matplotlib, dan scipy.
Mari kita instal seaborn, dan tentu saja, juga notebook paket untuk mendapatkan akses ke playground data.
pipenv install seaborn notebook
Selain itu, kita akan mengimpor beberapa modul sebelum memulai.
import seaborn as sns
import panda as pd
import numpy as np
import matplotlib
Membangun Latar pertama Anda
Sebelum kita dapat mulai merencanakan visualisasi data apapun, kita membutuhkan data. Keuntungan dari seaborn adalah bahwa ia bekerja langsung dengan panda dataframes, sehingga super nyaman. Terlebih lagi, pustaka dilengkapi dengan beberapa set data bawaan yang sekarang dapat Anda muat dari kode, tidak perlu mengunduh file secara manual.
Mari kita perhatikan bagaimana cara kerjanya dengan menginputkan kumpulan data berikut yang memuat informasi tentang penerbangan.
flights_data = sns.load_dataset(“flights”)flights_data.head()
tahun | bulan | penumpang | |
1 | 2021 | Jan | 112 |
2 | 2021 | Feb | 118 |
3 | 2021 | Maret | 132 |
4 | 2021 | Apr | 129 |
5 | 2021 | Mei | 121 |
Semua keajaiban terjadi saat memanggil fungsi load_dataset, yang mengharapkan nama data dimuat dan mengembalikan kerangka data. Semua set data ini tersedia di repositori GitHub .
Plot Sebar
Scatter plot atau plot sebar adalah diagram yang menampilkan titik-titik berdasarkan dua dimensi dataset. Membuat plot grafik yang tersebar di perpustakaan seaborn sangatlah sederhana dan mudah hanya dengan satu baris kode.
sns.scatterplot(data=flights_data, x=”tahun”, y=”tamu”)
Sangat mudah bukan? Fungsi ini scatterplotmengharapkan dataset yang ingin kita plot dan kolom yang mewakili sumbu xdan y.
Plot Garis
Grafik plot ini menampilkan garis yang mewakili perubahan data secara kontinu maupun kategorikal. Grafik ini adalah jenis bagan yang populer dan terkenal, serta dalam pembuatannya sangat mudah dibuat. Sama dengan contoh sebelumnya, kita akan menggunakan fungsi lineplot dengan menginputkan dataset serta kolom yang dalam hal ini diwakili oleh sumbu x dan y. Dan Seaborn akan melakukan sisanya.
sns.lineplot(data=flights_data, x=”tahun”, y=”tamu”)
Plot Batang
Ini mungkin jenis bagan yang paling terkenal, dan seperti yang telah Anda perkirakan, kita dapat memplot jenis plot ini dengan seaborn cara yang sama seperti yang kita lakukan untuk garis dan plot sebar dengan menggunakan fungsi barplot.
sns.barplot(data=flights_data, x=”tahun”, y=”tamu”)
Memperluas dengan matplotlib
Seaborn dibangun di atas matplotlib, memperluas fungsionalitasnya dan mengabstraksi kompleksitasnya. Dengan demikian, itu tidak membatasi kemampuannya. Setiap seaborn visualisasi data grafik dapat disesuaikan menggunakan fungsi dari matplotlib perpustakaan.
Hal ini tentunya dapat berguna untuk menjalankan operasi tertentu dan memberikan kemungkinan bahwa seaborn memanfaatkan kekuatan matplotlib tanpa perlu menulis kembali semua fungsinya.
Katakanlah Anda, misalnya, ingin memplot beberapa grafik secara bersamaan menggunakan seaborn; maka Anda dapat menggunakan subplotfungsi dari matplotlib.
diamonds_data = sns.load_dataset(‘diamonds’)plt.subplot(1, 2, 1)sns.countplot(x=’carat’, data=diamonds_data)plt.subplot(1, 2, 2)sns.countplot(x=’depth’, data=diamonds_data)
Dengan menggunakan subplotfungsi tersebut, kita dapat menggambar lebih dari satu grafik pada satu plot.
Kami merender seaborn bagan di setiap subplot, mencampur matplotlib dengan seaborn fungsi.
Seaborn menggunakan Panda
Kami akan memberitahukan hal ini bahwa seaborn sangat menyukai panda sehingga semua fungsinya dibangun di atas panda kerangka data.
Sejauh ini, kami telah melihat contoh penggunaan seaborn yang menggunakan data yang telah dimuat sebelumnya, tetapi bagaimana jika kami hendak menampilkan gambar plot dari data yang telah di inputkan menggunakan panda sebelumnya?
drinks_df = pd.read_csv(“data/drinks.csv”)sns.barplot(x=”country”, y=”beer_servings”, data=drinks_df)
Membuat plot yang indah dengan gaya
Seaborn memberi Anda kemampuan untuk mengubah antarmuka grafik Anda, dan ini menyediakan lima gaya berbeda di luar kotak: darkgrid , whitegrid , dark , white , dan ticks .
sns.set_style(“darkgrid”)sns.lineplot(data = data, x = “tahun”, y = “tamu”)
Ini contoh lainnya
sns.set_style(“whitegrid”)sns.lineplot(data=flights_data, x=”tahun”, y=”tamu”)
Dengan contoh kasus
Kita tahu dasar-dasarnya seaborn, sekarang mari kita praktikkan dengan membuat beberapa bagan di atas kumpulan data yang sama. Dalam kasus ini, kita akan menggunakan “tips” set data yang dapat Anda unduh langsung menggunakan seaborn.
Pertama, muat kumpulan data.
tips_df = sns.load_dataset(‘tips’)tips_df.head()
total_bill | tip | Jenis kelamin | Take Away | hari | waktu | ukuran | |
1 | 200.000 | 20.000 | Perempuan | Tidak | Minggu | Makan malam | 2 |
2 | 150.000 | 10.000 | Pria | Tidak | Minggu | Makan malam | 3 |
3 | 500.000 | 50.000 | Pria | Tidak | Minggu | Makan malam | 3 |
4 | 300.000 | 25.000 | Pria | Tidak | Minggu | Makan malam | 2 |
5 | 800.000 | 100.000 | Perempuan | Tidak | Minggu | Makan malam | 4 |
Kita akan mencetak beberapa baris pertama dari kumpulan data untuk menampilkan kolom dan datanya sendiri. Jadi, kita akan menggunakan beberapa panda fungsi untuk memperbaiki beberapa masalah data seperti null nilai dan menambahkan informasi ke kumpulan data yang mungkin berguna.
Mari buat kolom tambahan ke kumpulan data dengan persentase yang mewakili jumlah tip di atas total tagihan.
tips_df[“tip_percentage”] = tips_df[“tip”] / tips_df[“total_bill”]tips_df.head()
Sekarang bingkai data kita akan terlihat seperti berikut:
total_bill | tip | Jenis kelamin | Take Away | hari | waktu | ukuran | tip_percentage | |
1 | 200.000 | 20.000 | Perempuan | Tidak | Minggu | Makan malam | 2 | 0,05 |
2 | 150.000 | 10.000 | Pria | Tidak | Minggu | Makan malam | 3 | 0,16 |
3 | 500.000 | 50.000 | Pria | Tidak | Minggu | Makan malam | 3 | 0,16 |
4 | 300.000 | 25.000 | Pria | Tidak | Minggu | Makan malam | 2 | 0,14 |
5 | 800.000 | 100.000 | Perempuan | Tidak | Minggu | Makan malam | 4 | 0,14 |
Selanjutnya, kita bisa mulai merencanakan beberapa grafik.
Memahami persentase tip
Mari kita coba dulu untuk memahami distribusi persentase tip. Untuk itu, kita dapat menggunakan histplotgrafik histogram yang akan dihasilkan.
sns.histplot(tips_df[“tip_percentage”], binwidth=0.05)
Itu bagus, kita harus menyesuaikan binwidth properti agar lebih mudah dibaca, tetapi sekarang kita dapat dengan cepat menghargai pemahaman kami tentang data.
Sebagian besar pelanggan akan memberi tip antara 15 hingga 20%, dan kita memiliki beberapa kasus edge di mana tipnya lebih dari 70%. Nilai-nilai itu adalah anomali, dan selalu layak untuk ditelusuri untuk menentukan apakah nilainya salah atau tidak.
Menarik juga untuk mengetahui apakah persentase tip berubah tergantung pada momen hari itu,
sns.histplot(data=tips_df, x=”tip_percentage”, binwidth=0.05, hue=”time”)
Kali ini kita akan memuat grafik dengan kumpulan data lengkap, bukan hanya satu kolom, lalu kita juga perlu menyetel properti hueke kolom time. Ini akan memaksa bagan untuk menggunakan warna berbeda untuk setiap nilai timedan menambahkan legenda padanya.
Total tip per hari dalam seminggu
Matrix yang menarik lainnya adalah contoh di bawah ini yang bertujuan untuk mengetahui berapa banyak uang yang didapat dari tip yang diharapkan oleh personel tergantung pada hari dalam satu minggu.
sns.barplot(data=tips_df, x=”day”, y=”tip”, estimator=np.sum)
Dampak ukuran tabel dan hari di ujung
Terkadang kita ingin memahami bagaimana variabel bermain bersama untuk menentukan keluaran. Misalnya, diumpamakan apabila suatu hari dalam seminggu dan bagaimana ukuran tabel memberikan pengaruh pada persentase tip?
Untuk menggambar diagram berikutnya, kita akan menggabungkan pivot fungsi panda untuk memproses informasi terlebih dahulu dan kemudian menggambar diagram peta panas.
pivot = tips_df.pivot_table( index=[“day”], columns=[“size”], values=”tip_percentage”, aggfunc=np.average)sns.heatmap(pivot)
Kesimpulan
Pembahasan kali ini cukup bagi pemula yang baru belajar membuat grafik dengan seaborn. Tentu saja, masih banyak lagi metode dalam menampilkan visualisasi data yang dapat Anda lakukan dengan seaborn. Kami harap Anda menikmati artikel ini seperti kami menikmati menulis informasi ini.
Terima kasih sudah membaca artikel-artikel dari Web App!
Jasa Pembuatan Aplikasi, Website dan Internet Marketing | PT APPKEY
PT APPKEY adalah perusahaan IT yang khusus membuat aplikasi Android, iOS dan mengembangkan sistem website. Kami juga memiliki pengetahuan dan wawasan dalam menjalankan pemasaran online sehingga diharapkan dapat membantu menyelesaikan permasalahan Anda.