Widget persiapan data interaktif untuk buku catatan yang didukung oleh Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Pencarian Vertikal. Ai.

Widget persiapan data interaktif untuk notebook yang didukung oleh Amazon SageMaker Data Wrangler

Menurut survei ilmuwan data tahun 2020 yang dilakukan oleh Anaconda, persiapan data adalah salah satu langkah penting dalam pembelajaran mesin (ML) dan alur kerja analitik data, dan seringkali sangat memakan waktu bagi ilmuwan data. Ilmuwan data menghabiskan sekitar 66% waktunya untuk tugas persiapan dan analisis data, termasuk memuat (19%), membersihkan (26%), dan memvisualisasikan data (21%).

Studio Amazon SageMaker adalah lingkungan pengembangan terintegrasi penuh (IDE) pertama untuk ML. Dengan satu klik, ilmuwan data dan pengembang dapat dengan cepat berputar Buku catatan studio untuk menjelajahi kumpulan data dan membangun model. Jika Anda lebih suka antarmuka berbasis GUI dan interaktif, Anda dapat menggunakan Pengatur Data Amazon SageMaker, dengan lebih dari 300 visualisasi, analisis, dan transformasi bawaan untuk memproses data yang didukung oleh Spark secara efisien tanpa menulis satu baris kode pun.

Pengatur Data sekarang menawarkan kemampuan persiapan data bawaan di Notebook Amazon SageMaker Studio yang memungkinkan praktisi ML meninjau karakteristik data secara visual, mengidentifikasi masalah, dan memulihkan masalah kualitas dataโ€”hanya dengan beberapa klik langsung di dalam notebook.

Dalam posting ini, kami menunjukkan kepada Anda bagaimana Pengatur Data widget persiapan data secara otomatis menghasilkan visualisasi utama di atas kerangka data Pandas untuk memahami distribusi data, mendeteksi masalah kualitas data, dan memunculkan wawasan data seperti outlier untuk setiap fitur. Ini membantu berinteraksi dengan data dan menemukan wawasan yang mungkin luput dari perhatian dengan kueri ad hoc. Ini juga merekomendasikan transformasi untuk memulihkan, memungkinkan Anda untuk menerapkan transformasi data pada UI dan secara otomatis menghasilkan kode di sel notebook. Fitur ini tersedia di semua wilayah tempat SageMaker Studio tersedia.

Ikhtisar solusi

Mari kita pahami lebih lanjut bagaimana widget baru ini membuat eksplorasi data jauh lebih mudah dan memberikan pengalaman yang mulus untuk meningkatkan pengalaman persiapan data secara keseluruhan bagi para insinyur dan praktisi data. Untuk kasus penggunaan kami, kami menggunakan versi modifikasi dari Kumpulan data Titanic, kumpulan data populer di komunitas ML, yang kini telah ditambahkan sebagai a contoh kumpulan data sehingga Anda dapat memulai SageMaker Data Wrangler dengan cepat. Dataset asli diperoleh dari BukaML, dan dimodifikasi untuk menambahkan masalah kualitas data sintetik oleh Amazon untuk demo ini. Anda dapat mengunduh versi dataset yang dimodifikasi dari jalur S3 publik s3://sagemaker-sample-files/datasets/tabular/dirty-titanic/titanic-dirty-4.csv.

Prasyarat

Untuk mendapatkan pengalaman langsung dengan semua fitur yang dijelaskan dalam postingan ini, selesaikan prasyarat berikut:

  1. Pastikan Anda memiliki akun AWS, akses aman untuk masuk ke akun melalui Konsol Manajemen AWS, dan Identitas AWS dan Manajemen Akses (IAM) izin untuk menggunakan Amazon SageMaker dan Layanan Penyimpanan Sederhana Amazon (Amazon S3) sumber daya.
  2. Gunakan kumpulan data sampel dari jalur S3 publik s3://sagemaker-sample-files/datasets/tabular/dirty-titanic/titanic-dirty-4.csv atau alternatif unggah ke ember S3 ke dalam akun Anda.
  3. Masuk ke domain SageMaker dan akses Studio untuk menggunakan notebook. Untuk instruksi, lihat Masuk ke Domain Amazon SageMaker. Jika Anda menggunakan Studio yang ada, tingkatkan versi ke versi terbaru dari Studio.

Aktifkan widget eksplorasi data

Saat Anda menggunakan bingkai data Pandas, pengguna notebook Studio dapat mengaktifkan widget eksplorasi data secara manual sehingga visualisasi baru ditampilkan secara default di atas setiap kolom. Widget menampilkan histogram untuk data numerik dan bagan batang untuk jenis data lainnya. Representasi ini memungkinkan Anda dengan cepat memahami distribusi data dan menemukan nilai yang hilang dan outlier tanpa harus menulis metode boilerplate untuk setiap kolom. Anda dapat mengarahkan kursor ke bilah di setiap visual untuk mendapatkan pemahaman cepat tentang distribusinya.

Buka Studio dan buat notebook Python 3 baru. Pastikan untuk memilih Ilmu Data 3.0 gambar dari gambar SageMaker dengan mengklik Ubah lingkungan .

Widget eksplorasi data tersedia dalam gambar berikut. Untuk daftar gambar SageMaker default, lihat Tersedia Gambar Amazon SageMaker.

  • Python 3 (Ilmu Data) dengan Python 3.7
  • Python 3 (Ilmu Data 2.0) dengan Python 3.8
  • Python 3 (Ilmu Data 3.0) dengan Python 3.10
  • Spark Analytics 1.0 dan 2.0

Untuk menggunakan widget ini, impor file SageMaker_DataWrangler Perpustakaan. Muat versi modifikasi dari kumpulan data Titanic dari S3://sagemaker-sample-files/datasets/tabular/dirty-titanic/titanic-dirty-4.csv dan baca CSV dengan pustaka Pandas:

import pandas as pd
import boto3
import io
import sagemaker_datawrangler

s3 = boto3.client('s3')
obj = s3.get_object(Bucket='sagemaker-sample-files', Key='datasets/tabular/dirty-titanic/titanic-dirty-4.csv')
df = pd.read_csv(io.BytesIO(obj['Body'].read()))

widget persiapan data wrangler data - contoh notebook

Visualisasikan datanya

Setelah data dimuat dalam bingkai data Pandas, Anda dapat melihat data hanya dengan menggunakan df or display(df). Bersamaan dengan daftar baris, widget persiapan data menghasilkan wawasan, visualisasi, dan saran tentang kualitas data. Anda tidak perlu menulis kode tambahan apa pun untuk menghasilkan wawasan fitur dan target, informasi distribusi, atau merender pemeriksaan kualitas data. Anda dapat memilih header tabel kerangka data untuk melihat ringkasan statistik yang menampilkan peringatan kualitas data, jika ada.

memvisualisasikan data

Setiap kolom menampilkan diagram batang atau histogram berdasarkan tipe data. Secara default, sampel widget hingga 10,000 pengamatan untuk menghasilkan wawasan yang bermakna. Ini juga menyediakan opsi untuk menjalankan analisis wawasan di seluruh kumpulan data.

Seperti yang ditunjukkan pada tangkapan layar berikut, widget ini mengidentifikasi apakah suatu kolom memiliki data kategorikal atau kuantitatif.

data kategorikal atau kuantitatif

Untuk data kategorikal, widget menghasilkan bagan batang dengan semua kategori. Pada tangkapan layar berikut, misalnya, kolom Sex mengidentifikasi kategori pada data. Anda dapat mengarahkan kursor ke bilah (pria dalam hal ini) untuk melihat detail kategori ini, seperti jumlah total baris dengan nilai male dan distribusinya dalam total kumpulan data yang divisualisasikan (64.07% dalam contoh ini). Itu juga menyoroti persentase total nilai yang hilang dalam warna berbeda untuk data kategorikal. Untuk data kuantitatif seperti ticket kolom, itu menunjukkan distribusi bersama dengan persentase nilai yang tidak valid.

Jika Anda ingin melihat visualisasi Panda standar di notebook, Anda dapat memilih Lihat tabel Panda dan beralih antara widget dan representasi Pandas, seperti yang ditunjukkan pada tangkapan layar berikut.

Lihat tabel Panda

melihat tabel wrangler data

Untuk mendapatkan wawasan yang lebih mendetail tentang data di kolom, pilih tajuk kolom untuk membuka panel samping yang dikhususkan untuk kolom tersebut. Di sini Anda dapat mengamati dua tab: Wawasan dan Kualitas data.

Wawasan dan kualitas Data

Di bagian berikut, kami menjelajahi dua opsi ini secara lebih mendetail.

Wawasan

Grafik Wawasan tab memberikan detail dengan deskripsi untuk setiap kolom. Bagian ini mencantumkan statistik gabungan, seperti mode, jumlah unik, rasio dan hitungan untuk nilai yang hilang/tidak valid, dll., serta memvisualisasikan distribusi data dengan bantuan histogram atau bagan batang. Di tangkapan layar berikut, Anda dapat melihat wawasan data dan informasi distribusi yang ditampilkan dengan visualisasi yang mudah dipahami yang dibuat untuk kolom yang dipilih survived.

Kualitas data

Widget persiapan data studio menyoroti masalah kualitas data yang teridentifikasi dengan tanda peringatan di header. Widget dapat mengidentifikasi seluruh spektrum masalah kualitas data dari dasar (nilai yang hilang, kolom konstanta, dll.) hingga lebih spesifik ML (kebocoran target, fitur skor prediktif rendah, dll.). Widget menyoroti sel yang menyebabkan masalah kualitas data dan menata ulang baris untuk menempatkan sel yang bermasalah di bagian atas. Untuk mengatasi masalah kualitas data, widget menyediakan beberapa transformer, yang dapat diterapkan dengan mengklik tombol.

Untuk menjelajahi bagian kualitas data, pilih tajuk kolom, dan di panel samping, pilih Kualitas data tab. Anda akan melihat yang berikut di lingkungan Studio Anda.

tab kualitas data

Mari kita lihat berbagai opsi yang tersedia di Kualitas data tab. Untuk contoh ini, kami memilih kolom usia, yang dideteksi sebagai kolom kuantitatif berdasarkan data. Seperti yang dapat kita lihat di tangkapan layar berikut, widget ini menyarankan berbagai jenis transformasi yang dapat Anda terapkan, termasuk tindakan yang paling umum, seperti Ganti dengan nilai baru, Jatuh hilang, Ganti dengan median, atau Ganti dengan rata-rata. Anda dapat memilih salah satu dari itu untuk kumpulan data Anda berdasarkan kasus penggunaan (masalah ML yang Anda coba selesaikan). Ini juga memberi Anda Jatuhkan kolom pilihan jika Anda ingin menghapus fitur sama sekali.

usia

Ketika Anda memilih Terapkan dan ekspor kode, transformasi diterapkan ke salinan dalam bingkai data. Setelah transformasi berhasil diterapkan, tabel data disegarkan dengan wawasan dan visualisasi. Kode transformasi dihasilkan setelah sel yang ada di notebook. Anda dapat menjalankan kode yang diekspor ini nanti untuk menerapkan transformasi pada kumpulan data Anda, dan memperluasnya sesuai kebutuhan Anda. Anda dapat menyesuaikan transformasi dengan langsung memodifikasi kode yang dihasilkan. Jika kita menerapkan Jatuh hilang di kolom Umur, kode transformasi berikut diterapkan ke kumpulan data, dan kode juga dibuat di sel di bawah widget:

#Pandas code generated by sagemaker_datawrangler
output_df = df.copy(deep=True) 

#Code to Drop missing for column: age to resolve warning: Missing values 
output_df = output_df[output_df['age'].notnull()]

Berikut ini adalah contoh lain dari cuplikan kode untuk Ganti dengan median:

#Pandas code generated by sagemaker_datawrangler
output_df = df.copy(deep=True) 

#Code to Replace with median for column: age to resolve warning: Missing values 
output_df['age']=output_df['age'].fillna(output_df['age'].median(skipna=True))

Sekarang mari kita lihat kemampuan wawasan target widget persiapan data. Asumsikan Anda ingin menggunakan survived fitur untuk memprediksi apakah penumpang akan selamat. Memilih survived tajuk kolom. Di panel samping, pilih Pilih sebagai kolom target. Distribusi data yang ideal untuk survived fitur seharusnya hanya memiliki dua kelas: ya (1) atau tidak (0), yang membantu mengklasifikasikan kemungkinan kelangsungan hidup kecelakaan Titanic. Namun, karena ketidakkonsistenan data pada kolom target yang dipilih, fitur yang bertahan memiliki 0, 1, ?, unknown, dan yes.

pilih sebagai kolom target

Pilih jenis masalah berdasarkan kolom target yang dipilih, bisa salah satunya Klasifikasi or Regresi. Untuk kolom bertahan, jenis masalahnya adalah klasifikasi. Memilih Run untuk menghasilkan wawasan untuk kolom target.

selamat

Widget persiapan data mencantumkan wawasan kolom target dengan rekomendasi dan contoh penjelasan untuk mengatasi masalah dengan kualitas data kolom target. Itu juga secara otomatis menyoroti data anomali di kolom.

wawasan kolom target dengan rekomendasi

Kami memilih transformasi yang direkomendasikan Jatuhkan nilai target yang langka, karena ada lebih sedikit pengamatan untuk nilai target langka.

Jatuhkan nilai target yang langka

Transformasi yang dipilih diterapkan pada kerangka data Pandas dan nilai target yang tidak biasa dihilangkan dari kolom yang selamat. Lihat kode berikut:

# Pandas code generated by sagemaker_datawrangler
output_df = df.copy(deep=True)

# Code to Drop rare target values for column: survived to resolve warning: Too few instances per class 
rare_target_labels_to_drop = ['?', 'unknown', 'yes']
output_df = output_df[~output_df['survived'].isin(rare_target_labels_to_drop)]

Hasil transformasi yang diterapkan langsung terlihat pada bingkai data. Untuk melacak aktivitas persiapan data yang diterapkan menggunakan widget persiapan data, kode yang diubah juga dibuat di sel notebook berikut.

Kesimpulan

Dalam postingan ini, kami memberikan panduan tentang bagaimana widget persiapan data Studio dapat membantu Anda menganalisis distribusi data, menjelajahi wawasan kualitas data yang dihasilkan oleh alat, dan mengungkap potensi masalah seperti outlier untuk setiap fitur penting. Ini membantu meningkatkan kualitas data secara keseluruhan untuk membantu Anda melatih model berkualitas tinggi, dan menghilangkan beban berat yang tidak dapat dibedakan dengan memungkinkan Anda mengubah data pada antarmuka pengguna dan menghasilkan kode untuk sel notebook secara otomatis. Anda kemudian dapat menggunakan kode ini di jalur pipa MLOps Anda untuk membangun reproduktifitas, menghindari membuang waktu untuk tugas yang berulang, dan mengurangi masalah kompatibilitas dengan mempercepat konstruksi dan penerapan jalur pipa perselisihan data.

Jika Anda baru mengenal SageMaker Data Wrangler atau Studio, lihat Mulai dengan SageMaker Data Wrangler. Jika ada pertanyaan terkait postingan ini, silahkan tambahkan di kolom komentar.


Tentang Penulis

Widget persiapan data interaktif untuk buku catatan yang didukung oleh Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Pencarian Vertikal. Ai.Parth Patel adalah Arsitek Solusi di AWS di San Francisco Bay Area. Parth memandu pelanggan untuk mempercepat perjalanan mereka ke cloud dan membantu mereka mengadopsi dan tumbuh di AWS Cloud dengan sukses. Dia berfokus pada pembelajaran mesin, kelestarian lingkungan, dan modernisasi aplikasi.

Widget persiapan data interaktif untuk buku catatan yang didukung oleh Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Pencarian Vertikal. Ai.Isya Dua adalah Arsitek Solusi Senior yang berbasis di San Francisco Bay Area. Dia membantu pelanggan AWS Enterprise tumbuh dengan memahami tujuan dan tantangan mereka, dan membimbing mereka tentang bagaimana mereka dapat merancang aplikasi mereka dengan cara cloud-native sambil memastikan mereka tangguh dan dapat diskalakan. Dia sangat tertarik dengan teknologi pembelajaran mesin dan kelestarian lingkungan.

Widget persiapan data interaktif untuk buku catatan yang didukung oleh Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Pencarian Vertikal. Ai.Hariharan Suresh adalah Arsitek Solusi Senior di AWS. Dia sangat tertarik dengan database, pembelajaran mesin, dan merancang solusi inovatif. Sebelum bergabung dengan AWS, Hariharan adalah seorang arsitek produk, spesialis implementasi perbankan inti, dan pengembang, serta bekerja dengan organisasi BFSI selama lebih dari 11 tahun. Di luar teknologi, ia menikmati paralayang dan bersepeda.

Widget persiapan data interaktif untuk buku catatan yang didukung oleh Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Pencarian Vertikal. Ai.Dani Mitchell adalah Arsitek Solusi Spesialis AI/ML di Amazon Web Services. Dia berfokus pada kasus penggunaan Computer Vision dan membantu pelanggan di seluruh EMEA untuk mempercepat perjalanan ML mereka.

Stempel Waktu:

Lebih dari Pembelajaran Mesin AWS