Analisis dan Visualisasikan - Amazon SageMaker

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Analisis dan Visualisasikan

Amazon SageMaker Data Wrangler menyertakan 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 analisisnya.

Semua analisis dihasilkan menggunakan 100.000 baris dataset Anda.

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.

Histogram

Gunakan histogram untuk melihat jumlah nilai fitur untuk fitur tertentu. Anda dapat memeriksa hubungan antar fitur menggunakan opsi Color by. Misalnya, histogram berikut memetakan distribusi peringkat pengguna buku terlaris di Amazon dari 2009-2019, diwarnai berdasarkan genre.

Anda dapat menggunakan fitur Facet by untuk membuat histogram dari satu kolom, untuk setiap nilai di kolom lain. Misalnya, diagram berikut menunjukkan histogram ulasan pengguna buku terlaris di Amazon jika dilihat berdasarkan tahun.

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. Misalnya, contoh berikut menunjukkan plot pencar yang membandingkan jumlah ulasan terhadap peringkat pengguna buku terlaris di Amazon antara 2009 dan 2019. Plot pencar diwarnai oleh genre buku.

Selain itu, Anda dapat membagi plot pencar berdasarkan fitur. Misalnya, gambar berikut menunjukkan contoh plot pencar ulasan yang sama versus peringkat pengguna, berdasarkan tahun.

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 menunjukkan seberapa berguna fitur dalam memprediksi label target. Skor kepentingan fitur adalah antara [0, 1] dan angka yang lebih tinggi menunjukkan bahwa fitur tersebut lebih penting untuk seluruh kumpulan data. Di bagian atas bagan model cepat, ada skor model. Masalah klasifikasi menunjukkan skor F1. Masalah regresi memiliki skor mean squared error (MSE).

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. RandomForestRegressor Spark digunakan untuk melatih model untuk masalah regresi. RandomForestClassifier 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.

Gambar berikut menunjukkan antarmuka pengguna untuk fitur model cepat.

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 ini:

  • 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 kurva AUC - ROC untuk setiap kolom, hingga fitur Max. Untuk regresi, ia menggunakan koefisien determinasi, atau metrik R2.

Kurva AUC - ROC 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.

Misalnya, gambar berikut menunjukkan laporan kebocoran target untuk masalah klasifikasi diabetes, yaitu memprediksi apakah seseorang menderita diabetes atau tidak. Kurva AUC - ROC digunakan untuk menghitung kemampuan prediksi dari lima fitur, dan semuanya ditentukan agar aman dari kebocoran target.

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.

Variance Inflation Factor (VIF)

Faktor Inflasi Varians (VIF) adalah ukuran kolinearitas di antara pasangan variabel. Data Wrangler mengembalikan skor VIF sebagai ukuran seberapa dekat variabel terkait satu sama lain. Skor VIF adalah angka positif yang lebih besar dari atau sama dengan 1.

Skor 1 berarti bahwa variabel tidak berkorelasi dengan variabel lainnya. Skor lebih besar dari 1 menunjukkan korelasi yang lebih tinggi.

Secara teoritis, Anda dapat memiliki skor VIF dengan nilai tak terhingga. Data Wrangler klip skor tinggi menjadi 50. Jika Anda memiliki skor VIF lebih besar dari 50, Data Wrangler menetapkan skor menjadi 50.

Anda dapat menggunakan panduan berikut untuk menafsirkan skor VIF Anda:

  • Skor VIF kurang dari atau sama dengan 5 menunjukkan bahwa variabel cukup berkorelasi dengan variabel lainnya.

  • Skor VIF lebih besar dari atau sama dengan 5 menunjukkan bahwa variabel sangat berkorelasi dengan variabel lainnya.

Principle Component Analysis (PCA)

Principal Component Analysis (PCA) mengukur varians data di sepanjang arah yang berbeda di ruang fitur. Ruang fitur terdiri dari semua variabel prediktor yang Anda gunakan untuk memprediksi variabel target dalam kumpulan data Anda.

Misalnya, jika Anda mencoba memprediksi siapa yang selamat di RMS Titanic setelah menabrak gunung es, ruang fitur Anda dapat mencakup usia penumpang, jenis kelamin, dan tarif yang mereka bayar.

Dari ruang fitur, PCA menghasilkan daftar varians yang diurutkan. Varians ini juga dikenal sebagai nilai tunggal. Nilai dalam daftar varians lebih besar dari atau sama dengan 0. Kita dapat menggunakannya untuk menentukan berapa banyak multikolinearitas yang ada dalam data kita.

Ketika angka-angkanya kira-kira seragam, data memiliki sangat sedikit contoh multikolinieritas. Ketika ada banyak variabilitas di antara nilai-nilai, kami memiliki banyak contoh multikolinieritas. Sebelum melakukan PCA, Data Wrangler menormalkan setiap fitur untuk memiliki rata-rata 0 dan standar deviasi 1.

catatan

PCA dalam keadaan ini juga dapat disebut sebagai Singular Value Decomposition (SVD).

Lasso feature selection

Pemilihan fitur laso menggunakan teknik regularisasi L1 untuk hanya menyertakan fitur yang paling prediktif dalam kumpulan data Anda.

Untuk klasifikasi dan regresi, teknik regularisasi menghasilkan koefisien untuk setiap fitur. Nilai absolut koefisien memberikan skor penting untuk fitur tersebut. Skor kepentingan yang lebih tinggi menunjukkan bahwa itu lebih prediktif dari variabel target. Metode pemilihan fitur yang umum adalah dengan menggunakan semua fitur yang memiliki koefisien laso bukan nol.

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.

  1. Buka aliran data Wrangler Data Anda.

  2. Dalam aliran data Anda, di bawah Tipe data, pilih +, dan pilih Tambahkan analisis.

  3. Untuk jenis Analisis, pilih Time Series.

  4. Untuk Visualisasi, pilih Deteksi anomali.

  5. Untuk ambang anomali, pilih ambang batas bahwa nilai dianggap anomali.

  6. Pilih Pratinjau untuk menghasilkan pratinjau analisis.

  7. 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 using LOESS) 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.

  1. Buka aliran data Wrangler Data Anda.

  2. Dalam aliran data Anda, di bawah Tipe data, pilih +, dan pilih Tambahkan analisis.

  3. Untuk jenis Analisis, pilih Time Series.

  4. Untuk Visualisasi, pilih dekomposisi Seasonal-Trend.

  5. Untuk ambang anomali, pilih ambang batas bahwa nilai dianggap anomali.

  6. Pilih Pratinjau untuk menghasilkan pratinjau analisis.

  7. Pilih Tambah untuk menambahkan transformasi ke aliran data Data Wrangler.

Laporan Bias

Anda dapat menggunakan laporan bias di Data Wrangler untuk mengungkap potensi bias dalam data Anda. Untuk menghasilkan laporan bias, Anda harus menentukan kolom target, atau Label, yang ingin Anda prediksi dan Facet, atau kolom yang ingin Anda periksa untuk bias.

Label: Fitur yang Anda inginkan model untuk membuat prediksi. Misalnya, jika Anda memprediksi konversi pelanggan, Anda dapat memilih kolom yang berisi data tentang apakah pelanggan telah melakukan pemesanan atau tidak. Anda juga harus menentukan apakah fitur ini adalah label atau ambang batas. Jika Anda menentukan label, Anda harus menentukan seperti apa hasil positif dalam data Anda. Dalam contoh konversi pelanggan, hasil positif mungkin 1 di kolom pesanan, mewakili hasil positif dari pelanggan yang melakukan pemesanan dalam tiga bulan terakhir. Jika Anda menentukan ambang batas, Anda harus menentukan batas bawah yang menentukan hasil positif. Misalnya, jika kolom pesanan pelanggan Anda berisi jumlah pesanan yang ditempatkan pada tahun lalu, Anda mungkin ingin menentukan 1.

Facet: Kolom yang ingin Anda periksa untuk bias. Misalnya, jika Anda mencoba memprediksi konversi pelanggan, aspek Anda mungkin adalah usia pelanggan. Anda dapat memilih aspek ini karena Anda percaya bahwa data Anda bias terhadap kelompok usia tertentu. Anda harus mengidentifikasi apakah faset diukur sebagai nilai atau ambang batas. Misalnya, jika Anda ingin memeriksa satu atau lebih usia tertentu, Anda memilih Nilai dan menentukan usia tersebut. Jika Anda ingin melihat kelompok usia, pilih Ambang batas dan tentukan ambang usia yang ingin Anda periksa.

Setelah Anda memilih fitur dan label, Anda memilih jenis metrik bias yang ingin Anda hitung.

Untuk mempelajari lebih lanjut, lihat Menghasilkan laporan untuk bias dalam data pra-pelatihan.

Buat Visualisasi Kustom

Anda dapat menambahkan analisis ke alur Data Wrangler Anda untuk membuat visualisasi kustom. Dataset Anda, dengan semua transformasi yang Anda terapkan, tersedia sebagai Panda. DataFrame Data Wrangler menggunakan df variabel untuk menyimpan kerangka data. Anda mengakses kerangka data dengan memanggil variabel.

Anda harus memberikan variabel output,chart, untuk menyimpan bagan output Altair. Misalnya, Anda dapat menggunakan blok kode berikut untuk membuat histogram khusus menggunakan dataset Titanic.

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:
  1. Di samping node yang berisi transformasi yang ingin Anda visualisasikan, pilih +.

  2. Pilih Tambahkan analisis.

  3. Untuk jenis Analisis, pilih Visualisasi Kustom.

  4. Untuk nama Analisis, tentukan nama.

  5. Masukkan kode Anda di kotak kode.

  6. Pilih Pratinjau untuk melihat visualisasi Anda.

  7. 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