Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Lakukan analisis data eksplorasi () EDA
Data Wrangler mencakup analisis bawaan yang membantu Anda menghasilkan visualisasi dan analisis data dalam beberapa klik. Anda juga dapat membuat analisis kustom menggunakan kode Anda sendiri.
Anda menambahkan analisis ke kerangka data dengan memilih langkah dalam aliran data Anda, lalu memilih Tambahkan analisis. Untuk mengakses analisis yang telah Anda buat, pilih langkah yang berisi analisis, dan pilih analisis.
Analisis dibuat menggunakan sampel hingga 200.000 baris kumpulan data Anda, dan Anda dapat mengonfigurasi ukuran sampel. Untuk informasi selengkapnya tentang mengubah ukuran sampel aliran data Anda, lihatEdit konfigurasi pengambilan sampel aliran data.
catatan
Analisis dioptimalkan untuk data dengan 1000 kolom atau lebih sedikit. Anda mungkin mengalami beberapa latensi saat membuat analisis untuk data dengan kolom tambahan.
Anda dapat menambahkan analisis berikut ke kerangka data:
-
Visualisasi data, termasuk histogram dan plot pencar.
-
Ringkasan singkat kumpulan data Anda, termasuk jumlah entri, nilai minimum dan maksimum (untuk data numerik), dan kategori yang paling sering dan paling jarang (untuk data kategoris).
-
Model cepat kumpulan data, yang dapat digunakan untuk menghasilkan skor penting untuk setiap fitur.
-
Laporan kebocoran target, yang dapat Anda gunakan untuk menentukan apakah satu atau lebih fitur berkorelasi kuat dengan fitur target Anda.
-
Visualisasi khusus menggunakan kode Anda sendiri.
Gunakan bagian berikut untuk mempelajari lebih lanjut tentang opsi ini.
Dapatkan wawasan tentang kualitas data dan data
Gunakan Laporan Kualitas Data dan Wawasan untuk melakukan analisis data yang telah Anda impor ke Data Wrangler. Kami menyarankan Anda membuat laporan setelah Anda mengimpor dataset Anda. Anda dapat menggunakan laporan untuk membantu Anda membersihkan dan memproses data Anda. Ini memberi Anda informasi seperti jumlah nilai yang hilang dan jumlah outlier. Jika Anda memiliki masalah dengan data Anda, seperti kebocoran target atau ketidakseimbangan, laporan wawasan dapat membawa masalah tersebut ke perhatian Anda.
Gunakan prosedur berikut untuk membuat laporan Kualitas Data dan Wawasan. Ini mengasumsikan bahwa Anda telah mengimpor dataset ke dalam aliran Data Wrangler Anda.
Untuk membuat laporan Kualitas Data dan Wawasan
-
Pilih ikon elipsis di sebelah node dalam aliran Data Wrangler Anda.
-
Pilih Dapatkan wawasan data.
-
Untuk jenis Analisis, pilih Laporan Kualitas Data dan Wawasan.
-
Untuk nama Analisis, tentukan nama untuk laporan wawasan.
-
Untuk jenis Masalah, tentukan Regresi atau Klasifikasi.
-
Untuk kolom Target, tentukan kolom target.
-
Untuk ukuran Data, tentukan salah satu dari berikut ini:
-
Dataset sampel - Menggunakan sampel interaktif dari aliran data Anda, yang dapat berisi hingga 200.000 baris kumpulan data Anda. Untuk informasi tentang cara mengedit ukuran sampel Anda, lihatEdit konfigurasi pengambilan sampel aliran data.
-
Dataset lengkap — Menggunakan dataset lengkap dari sumber data Anda untuk membuat laporan.
catatan
Membuat laporan Kualitas Data dan Wawasan pada kumpulan data lengkap menggunakan pekerjaan SageMaker pemrosesan Amazon. Pekerjaan SageMaker pemrosesan menyediakan sumber daya komputasi tambahan yang diperlukan untuk mendapatkan wawasan untuk semua data Anda. Untuk informasi selengkapnya tentang SageMaker memproses pekerjaan, lihatBeban kerja transformasi data dengan SageMaker Processing.
-
-
Pilih Buat.
Topik berikut menunjukkan bagian dari laporan:
Anda dapat mengunduh laporan atau melihatnya secara online. Untuk mengunduh laporan, pilih tombol unduh di sudut kanan atas layar.
Ringkasan
Laporan wawasan memiliki ringkasan singkat dari data yang mencakup informasi umum seperti nilai yang hilang, nilai tidak valid, jenis fitur, jumlah outlier, dan banyak lagi. Ini juga dapat mencakup peringatan tingkat keparahan tinggi yang menunjukkan kemungkinan masalah dengan data. Kami menyarankan Anda menyelidiki peringatan tersebut.
Kolom target
Saat Anda membuat Laporan Kualitas dan Wawasan Data, Data Wrangler memberi Anda opsi untuk memilih kolom target. Kolom target adalah kolom yang Anda coba prediksi. Saat Anda memilih kolom target, Data Wrangler secara otomatis membuat analisis kolom target. Ini juga memberi peringkat fitur dalam urutan kekuatan prediksi mereka. Saat memilih kolom target, Anda harus menentukan apakah Anda mencoba memecahkan masalah regresi atau klasifikasi.
Untuk klasifikasi, Data Wrangler menunjukkan tabel dan histogram dari kelas yang paling umum. Kelas adalah kategori. Ini juga menyajikan pengamatan, atau baris, dengan nilai target yang hilang atau tidak valid.
Untuk regresi, Data Wrangler menunjukkan histogram semua nilai di kolom target. Ini juga menyajikan pengamatan, atau baris, dengan nilai target yang hilang, tidak valid, atau outlier.
Model cepat
Model Cepat memberikan perkiraan kualitas prediksi yang diharapkan dari model yang Anda latih pada data Anda.
Data Wrangler membagi data Anda menjadi lipatan pelatihan dan validasi. Ini menggunakan 80% sampel untuk pelatihan dan 20% dari nilai untuk validasi. Untuk klasifikasi, sampel dibagi bertingkat. Untuk pemisahan bertingkat, setiap partisi data memiliki rasio label yang sama. Untuk masalah klasifikasi, penting untuk memiliki rasio label yang sama antara lipatan pelatihan dan klasifikasi. Data Wrangler melatih XGBoost model dengan hyperparameters default. Ini berlaku penghentian awal pada data validasi dan melakukan preprocessing fitur minimal.
Untuk model klasifikasi, Data Wrangler mengembalikan ringkasan model dan matriks kebingungan.
Untuk mempelajari lebih lanjut tentang informasi yang dikembalikan oleh ringkasan model klasifikasi, lihatKetentuan.
Matriks kebingungan memberi Anda informasi berikut:
-
Berapa kali label yang diprediksi cocok dengan label sebenarnya.
-
Berapa kali label yang diprediksi tidak cocok dengan label sebenarnya.
Label sebenarnya mewakili pengamatan aktual dalam data Anda. Misalnya, jika Anda menggunakan model untuk mendeteksi transaksi penipuan, label sebenarnya mewakili transaksi yang sebenarnya curang atau tidak curang. Label yang diprediksi mewakili label yang ditetapkan model Anda ke data.
Anda dapat menggunakan matriks kebingungan untuk melihat seberapa baik model memprediksi ada atau tidak adanya suatu kondisi. Jika Anda memprediksi transaksi penipuan, Anda dapat menggunakan matriks kebingungan untuk memahami sensitivitas dan kekhususan model. Sensitivitas mengacu pada kemampuan model untuk mendeteksi transaksi penipuan. Kekhususan mengacu pada kemampuan model untuk menghindari mendeteksi transaksi non-penipuan sebagai penipuan.
Ringkasan fitur
Saat Anda menentukan kolom target, Data Wrangler memesan fitur berdasarkan kekuatan prediksinya. Kekuatan prediksi diukur pada data setelah dibagi menjadi 80% pelatihan dan 20% lipatan validasi. Data Wrangler cocok dengan model untuk setiap fitur secara terpisah pada lipatan pelatihan. Ini menerapkan preprocessing fitur minimal dan mengukur kinerja prediksi pada data validasi.
Ini menormalkan skor ke kisaran [0,1]. Skor prediksi yang lebih tinggi menunjukkan kolom yang lebih berguna untuk memprediksi target sendiri. Skor yang lebih rendah menunjuk ke kolom yang tidak memprediksi kolom target.
Ini jarang untuk kolom yang tidak prediktif sendiri untuk menjadi prediktif ketika digunakan bersama-sama dengan kolom lain. Anda dapat dengan yakin menggunakan skor prediksi untuk menentukan apakah fitur dalam kumpulan data Anda bersifat prediktif.
Skor rendah biasanya menunjukkan fitur tersebut berlebihan. Skor 1 menyiratkan kemampuan prediksi sempurna, yang sering menunjukkan kebocoran target. Kebocoran target biasanya terjadi ketika kumpulan data berisi kolom yang tidak tersedia pada waktu prediksi. Misalnya, itu bisa menjadi duplikat dari kolom target.
Sampel
Data Wrangler memberikan informasi tentang apakah sampel Anda anomali atau jika ada duplikat dalam kumpulan data Anda.
Data Wrangler mendeteksi sampel anomali menggunakan algoritma hutan isolasi. Hutan isolasi mengaitkan skor anomali dengan setiap sampel (baris) dari kumpulan data. Skor anomali yang rendah menunjukkan sampel anomali. Skor tinggi dikaitkan dengan sampel non-anomali. Sampel dengan skor anomali negatif biasanya dianggap anomali dan sampel dengan skor anomali positif dianggap non-anomali.
Ketika Anda melihat sampel yang mungkin anomali, kami sarankan Anda memperhatikan nilai-nilai yang tidak biasa. Misalnya, Anda mungkin memiliki nilai anomali yang dihasilkan dari kesalahan dalam mengumpulkan dan memproses data. Berikut ini adalah contoh sampel yang paling anomali menurut implementasi data Wrangler dari algoritma hutan isolasi. Sebaiknya gunakan pengetahuan domain dan logika bisnis saat Anda memeriksa sampel anomali.
Data Wrangler mendeteksi baris duplikat dan menghitung rasio baris duplikat dalam data Anda. Beberapa sumber data dapat menyertakan duplikat yang valid. Sumber data lain dapat memiliki duplikat yang menunjukkan masalah dalam pengumpulan data. Sampel duplikat yang dihasilkan dari pengumpulan data yang salah dapat mengganggu proses pembelajaran mesin yang mengandalkan pemisahan data menjadi pelatihan independen dan lipatan validasi.
Berikut ini adalah elemen laporan wawasan yang dapat dipengaruhi oleh sampel duplikat:
-
Model cepat
-
Estimasi daya prediksi
-
Penyetelan hyperparameter otomatis
Anda dapat menghapus sampel duplikat dari kumpulan data menggunakan transformasi Drop duplikat di bawah Kelola baris. Data Wrangler menunjukkan baris yang paling sering diduplikasi.
Ketentuan
Berikut ini adalah definisi untuk istilah teknis yang digunakan dalam laporan wawasan data.
Laporan bias
SageMaker Canvas menyediakan laporan bias di Data Wrangler untuk membantu mengungkap potensi bias dalam data Anda. Laporan bias menganalisis hubungan antara kolom target (label) dan kolom yang Anda yakini mungkin mengandung bias (variabel faset). Misalnya, jika Anda mencoba memprediksi konversi pelanggan, variabel facet mungkin usia pelanggan. Laporan bias dapat membantu Anda menentukan apakah data Anda bias terhadap kelompok usia tertentu atau tidak.
Untuk menghasilkan laporan bias di Canvas, lakukan hal berikut:
Dalam aliran data Anda di Data Wrangler, pilih ikon More options ( ) di sebelah node dalam alur.
Dari menu konteks, pilih Dapatkan wawasan data.
Panel sisi Buat analisis terbuka. Untuk menu tarik-turun tipe Analisis, pilih Laporan Bias.
Di bidang Nama analisis, masukkan nama untuk laporan bias.
Untuk menu tarik-turun Pilih kolom yang diprediksi model Anda (target), pilih kolom target Anda.
Untuk Apakah kolom prediksi Anda merupakan nilai atau ambang batas? , pilih Nilai jika kolom target Anda memiliki nilai kategoris atau Ambang jika memiliki nilai numerik.
Untuk Nilai yang diprediksi (atau Ambang batas yang diprediksi, tergantung pada pilihan Anda di langkah sebelumnya), masukkan nilai kolom target atau nilai yang sesuai dengan hasil positif. Misalnya, jika memprediksi konversi pelanggan, nilai Anda mungkin
yes
menunjukkan bahwa pelanggan telah dikonversi.Untuk Pilih kolom yang akan dianalisis untuk menu tarik-turun bias, pilih kolom yang Anda yakini mungkin mengandung bias, juga dikenal sebagai variabel faset.
Untuk Apakah kolom Anda nilai atau ambang batas? , pilih Nilai jika variabel facet memiliki nilai kategoris atau Ambang jika memiliki nilai numerik.
Untuk nilai Kolom untuk menganalisis bias (atau ambang kolom untuk menganalisis bias, tergantung pada pilihan Anda di langkah sebelumnya), masukkan nilai atau nilai yang ingin Anda analisis untuk bias potensial. Misalnya, jika Anda memeriksa bias terhadap pelanggan di atas usia tertentu, gunakan awal rentang usia itu sebagai ambang batas Anda.
Untuk memilih metrik bias, pilih metrik bias yang ingin Anda sertakan dalam laporan bias Anda. Arahkan kursor ke ikon info untuk informasi lebih lanjut tentang setiap metrik.
(Opsional) Saat diminta dengan opsi Apakah Anda ingin menganalisis metrik tambahan? , pilih Ya untuk melihat dan menyertakan lebih banyak metrik bias.
Saat Anda siap membuat laporan bias, pilih Tambah.
Setelah dibuat, laporan memberi Anda gambaran umum tentang metrik bias yang Anda pilih. Anda dapat melihat laporan bias kapan saja dari tab Analisis aliran data Anda.
Histogram
Gunakan histogram untuk melihat jumlah nilai fitur untuk fitur tertentu. Anda dapat memeriksa hubungan antar fitur menggunakan opsi Color by.
Anda dapat menggunakan fitur Facet by untuk membuat histogram dari satu kolom, untuk setiap nilai di kolom lain.
Plot pencar
Gunakan fitur Scatter Plot untuk memeriksa hubungan antar fitur. Untuk membuat plot pencar, pilih fitur untuk diplot pada sumbu X dan sumbu Y. Kedua kolom ini harus berupa kolom yang diketik numerik.
Anda dapat mewarnai plot pencar dengan kolom tambahan.
Selain itu, Anda dapat membagi plot pencar berdasarkan fitur.
Ringkasan tabel
Gunakan analisis Ringkasan Tabel untuk meringkas data Anda dengan cepat.
Untuk kolom dengan data numerik, termasuk data log dan float, ringkasan tabel melaporkan jumlah entri (hitungan), minimum (min), maksimum (maks), rata-rata, dan standar deviasi (stddev) untuk setiap kolom.
Untuk kolom dengan data non-numerik, termasuk kolom dengan string, Boolean, atau data tanggal/waktu, ringkasan tabel melaporkan jumlah entri (hitungan), nilai paling sering (min), dan nilai paling sering (maks).
Model cepat
Gunakan visualisasi Model Cepat untuk mengevaluasi data Anda dengan cepat dan menghasilkan skor penting untuk setiap fitur. Skor nilai kepentingan fitur
Saat Anda membuat bagan model cepat, Anda memilih kumpulan data yang ingin dievaluasi, dan label target yang ingin Anda bandingkan dengan kepentingan fitur. Data Wrangler melakukan hal berikut:
-
Menyimpulkan tipe data untuk label target dan setiap fitur dalam kumpulan data yang dipilih.
-
Menentukan jenis masalah. Berdasarkan jumlah nilai yang berbeda di kolom label, Data Wrangler menentukan apakah ini adalah jenis masalah regresi atau klasifikasi. Data Wrangler menetapkan ambang kategoris ke 100. Jika ada lebih dari 100 nilai yang berbeda di kolom label, Data Wrangler mengklasifikasikannya sebagai masalah regresi; jika tidak, itu diklasifikasikan sebagai masalah klasifikasi.
-
Fitur pra-proses dan data label untuk pelatihan. Algoritma yang digunakan membutuhkan fitur pengkodean untuk jenis vektor dan label pengkodean untuk tipe ganda.
-
Melatih algoritma hutan acak dengan 70% data. Spark RandomForestRegressor
digunakan untuk melatih model untuk masalah regresi. RandomForestClassifier Ini digunakan untuk melatih model untuk masalah klasifikasi. -
Mengevaluasi model hutan acak dengan sisa 30% data. Data Wrangler mengevaluasi model klasifikasi menggunakan skor F1 dan mengevaluasi model regresi menggunakan skor. MSE
-
Menghitung pentingnya fitur untuk setiap fitur menggunakan metode kepentingan Gini.
Kebocoran target
Kebocoran target terjadi ketika ada data dalam kumpulan data pelatihan pembelajaran mesin yang sangat berkorelasi dengan label target, tetapi tidak tersedia dalam data dunia nyata. Misalnya, Anda mungkin memiliki kolom dalam kumpulan data yang berfungsi sebagai proxy untuk kolom yang ingin Anda prediksi dengan model Anda.
Saat Anda menggunakan analisis Kebocoran Target, Anda menentukan yang berikut:
-
Target: Ini adalah fitur yang Anda inginkan agar model ML Anda dapat membuat prediksi.
-
Jenis masalah: Ini adalah jenis masalah ML tempat Anda bekerja. Jenis masalah dapat berupa klasifikasi atau regresi.
-
(Opsional) Fitur maks: Ini adalah jumlah maksimum fitur untuk hadir dalam visualisasi, yang menunjukkan fitur yang diberi peringkat berdasarkan risiko kebocoran target.
Untuk klasifikasi, analisis kebocoran target menggunakan area di bawah karakteristik operasi penerima, atau AUC - ROC kurva untuk setiap kolom, hingga fitur Max. Untuk regresi, ia menggunakan koefisien determinasi, atau metrik R2.
ROCKurva AUC - menyediakan metrik prediktif, dihitung secara individual untuk setiap kolom menggunakan validasi silang, pada sampel hingga sekitar 1000 baris. Skor 1 menunjukkan kemampuan prediksi sempurna, yang sering menunjukkan kebocoran target. Skor 0,5 atau lebih rendah menunjukkan bahwa informasi pada kolom tidak dapat memberikan, dengan sendirinya, informasi yang berguna untuk memprediksi target. Meskipun dapat terjadi bahwa kolom tidak informatif dengan sendirinya tetapi berguna dalam memprediksi target ketika digunakan bersama-sama dengan fitur lain, skor rendah dapat menunjukkan fitur tersebut berlebihan.
Multikolinieritas
Multikolinearitas adalah keadaan di mana dua atau lebih variabel prediktor terkait satu sama lain. Variabel prediktor adalah fitur dalam kumpulan data Anda yang Anda gunakan untuk memprediksi variabel target. Ketika Anda memiliki multikolinieritas, variabel prediktor tidak hanya memprediksi variabel target, tetapi juga prediktif satu sama lain.
Anda dapat menggunakan Variance Inflation Factor (VIF), Principal Component Analysis (PCA), atau pemilihan fitur Lasso sebagai ukuran multikolinearitas dalam data Anda. Untuk informasi selengkapnya, lihat hal berikut.
Mendeteksi anomali dalam data deret waktu
Anda dapat menggunakan visualisasi deteksi anomali untuk melihat outlier dalam data deret waktu Anda. Untuk memahami apa yang menentukan anomali, Anda perlu memahami bahwa kami menguraikan deret waktu menjadi istilah yang diprediksi dan istilah kesalahan. Kami memperlakukan musiman dan tren deret waktu sebagai istilah yang diprediksi. Kami memperlakukan residu sebagai istilah kesalahan.
Untuk istilah kesalahan, Anda menentukan ambang batas sebagai jumlah standar deviasi, residu dapat jauh dari rata-rata agar dianggap sebagai anomali. Misalnya, Anda dapat menentukan ambang batas sebagai 3 standar deviasi. Setiap residu yang lebih besar dari 3 standar deviasi dari mean adalah anomali.
Anda dapat menggunakan prosedur berikut untuk melakukan analisis deteksi anomali.
-
Buka aliran data Wrangler Data Anda.
-
Dalam aliran data Anda, di bawah Tipe data, pilih +, dan pilih Tambahkan analisis.
-
Untuk jenis Analisis, pilih Time Series.
-
Untuk Visualisasi, pilih Deteksi anomali.
-
Untuk ambang anomali, pilih ambang batas bahwa nilai dianggap anomali.
-
Pilih Pratinjau untuk menghasilkan pratinjau analisis.
-
Pilih Tambah untuk menambahkan transformasi ke aliran data Data Wrangler.
Dekomposisi tren musiman dalam data deret waktu
Anda dapat menentukan apakah ada musiman dalam data deret waktu Anda dengan menggunakan visualisasi Seasonal Trend Decomposition. Kami menggunakan metode STL (Seasonal Trend decomposition usingLOESS) untuk melakukan dekomposisi. Kami menguraikan deret waktu menjadi komponen musiman, tren, dan sisa. Tren ini mencerminkan perkembangan jangka panjang dari seri ini. Komponen musiman adalah sinyal yang berulang dalam periode waktu tertentu. Setelah menghapus tren dan komponen musiman dari deret waktu, Anda memiliki residu.
Anda dapat menggunakan prosedur berikut untuk melakukan analisis dekomposisi Seasonal-Trend.
-
Buka aliran data Wrangler Data Anda.
-
Dalam aliran data Anda, di bawah Tipe data, pilih +, dan pilih Tambahkan analisis.
-
Untuk jenis Analisis, pilih Time Series.
-
Untuk Visualisasi, pilih dekomposisi Seasonal-Trend.
-
Untuk ambang anomali, pilih ambang batas bahwa nilai dianggap anomali.
-
Pilih Pratinjau untuk menghasilkan pratinjau analisis.
-
Pilih Tambah untuk menambahkan transformasi ke aliran data Data Wrangler.
Buat visualisasi khusus
Anda dapat menambahkan analisis ke alur Data Wrangler Anda untuk membuat visualisasi kustom. Dataset Anda, dengan semua transformasi yang Anda terapkan, tersedia sebagai Panda. DataFramedf
variabel untuk menyimpan kerangka data. Anda mengakses kerangka data dengan memanggil variabel.
Anda harus memberikan variabel output,chart
, untuk menyimpan bagan output Altair
import altair as alt df = df.iloc[:30] df = df.rename(columns={"Age": "value"}) df = df.assign(count=df.groupby('value').value.transform('count')) df = df[["value", "count"]] base = alt.Chart(df) bar = base.mark_bar().encode(x=alt.X('value', bin=True, axis=None), y=alt.Y('count')) rule = base.mark_rule(color='red').encode( x='mean(value):Q', size=alt.value(5)) chart = bar + rule
Untuk membuat visualisasi kustom:
-
Di samping node yang berisi transformasi yang ingin Anda visualisasikan, pilih +.
-
Pilih Tambahkan analisis.
-
Untuk jenis Analisis, pilih Visualisasi Kustom.
-
Untuk nama Analisis, tentukan nama.
-
Masukkan kode Anda di kotak kode.
-
Pilih Pratinjau untuk melihat visualisasi Anda.
-
Pilih Simpan untuk menambahkan visualisasi Anda.
Jika Anda tidak tahu cara menggunakan paket visualisasi Altair dengan Python, Anda dapat menggunakan cuplikan kode khusus untuk membantu Anda memulai.
Data Wrangler memiliki koleksi cuplikan visualisasi yang dapat dicari. Untuk menggunakan cuplikan visualisasi, pilih Cari contoh cuplikan dan tentukan kueri di bilah pencarian.
Contoh berikut menggunakan cuplikan kode scatterplot Binned. Ini memplot histogram untuk 2 dimensi.
Cuplikan memiliki komentar untuk membantu Anda memahami perubahan yang perlu Anda buat pada kode. Anda biasanya perlu menentukan nama kolom dataset Anda dalam kode.
import altair as alt # Specify the number of top rows for plotting rows_number = 1000 df = df.head(rows_number) # You can also choose bottom rows or randomly sampled rows # df = df.tail(rows_number) # df = df.sample(rows_number) chart = ( alt.Chart(df) .mark_circle() .encode( # Specify the column names for binning and number of bins for X and Y axis x=alt.X("col1:Q", bin=alt.Bin(maxbins=20)), y=alt.Y("col2:Q", bin=alt.Bin(maxbins=20)), size="count()", ) ) # :Q specifies that label column has quantitative type. # For more details on Altair typing refer to # https://altair-viz.github.io/user_guide/encoding.html#encoding-data-types