Siapkan data lebih cepat dengan cuplikan kode PySpark dan Altair di Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Pencarian Vertikal. ai.

Siapkan data lebih cepat dengan cuplikan kode PySpark dan Altair di Amazon SageMaker Data Wrangler

Pengatur Data Amazon SageMaker adalah agregasi data dan alat persiapan yang dibuat khusus untuk machine learning (ML). Ini memungkinkan Anda menggunakan antarmuka visual untuk mengakses data dan melakukan analisis data eksplorasi (EDA) dan rekayasa fitur. Fitur EDA dilengkapi dengan kemampuan analisis data bawaan untuk bagan (seperti plot sebar atau histogram) dan kemampuan analisis model yang menghemat waktu seperti pentingnya fitur, kebocoran target, dan kemampuan menjelaskan model. Kemampuan rekayasa fitur memiliki lebih dari 300 transformasi bawaan dan dapat melakukan transformasi khusus menggunakan runtime Python, PySpark, atau Spark SQL.

Untuk visualisasi dan transformasi khusus, Data Wrangler kini menyediakan cuplikan kode contoh untuk jenis visualisasi dan transformasi umum. Dalam posting ini, kami menunjukkan cara menggunakan cuplikan kode ini untuk memulai EDA Anda dengan cepat di Data Wrangler.

Ikhtisar solusi

Pada saat penulisan ini, Anda dapat mengimpor kumpulan data ke dalam Data Wrangler dari Layanan Penyimpanan Sederhana Amazon (Amazon S3), Amazon Athena, Pergeseran Merah Amazon, Databricks, dan Kepingan Salju. Untuk posting ini, kami menggunakan Amazon S3 untuk menyimpan Amazon 2014 ulasan kumpulan data. Berikut ini adalah contoh dari dataset:

{ "reviewerID": "A2SUAM1J3GNN3B", "asin": "0000013714", "reviewerName": "J. McDonald", "helpful": [2, 3], "reviewText": "I bought this for my husband who plays the piano. He is having a wonderful time playing these old hymns. The music is sometimes hard to read because we think the book was published for singing from more than playing from. Great purchase though!", "overall": 5.0, "summary": "Heavenly Highway Hymns", "unixReviewTime": 1252800000, "reviewTime": "09 13, 2009" } 

Dalam posting ini, kami melakukan EDA menggunakan tiga kolomโ€”asin, reviewTime, dan overallโ€”yang masing-masing dipetakan ke ID produk, tanggal waktu peninjauan, dan skor ulasan keseluruhan. Kami menggunakan data ini untuk memvisualisasikan dinamika jumlah ulasan selama berbulan-bulan dan bertahun-tahun.

Menggunakan contoh Cuplikan Kode untuk EDA di Data Wrangler

Untuk mulai melakukan EDA di Data Wrangler, selesaikan langkah-langkah berikut:

  1. Download Kumpulan data ulasan Musik Digital JSON dan unggah ke Amazon S3.
    Kami menggunakan ini sebagai dataset mentah untuk EDA.
  2. Open Studio Amazon SageMaker dan buat aliran Data Wrangler baru dan impor set data dari Amazon S3.

    Kumpulan data ini memiliki sembilan kolom, tetapi kami hanya menggunakan tiga: asin, reviewTime, dan overall. Kita perlu menjatuhkan enam kolom lainnya.

  3. Buat transformasi khusus dan pilih Piton (PySpark).
  4. Lihat lebih lanjut Cari cuplikan contoh Dan pilihlah Jatuhkan semua kolom kecuali beberapa.
  5. Masukkan cuplikan yang disediakan ke dalam transformasi khusus Anda dan ikuti petunjuk untuk mengubah kode.
    # Specify the subset of columns to keep
    cols = ["asin", "reviewTime", "overall"] cols_to_drop = set(df.columns).difference(cols) df = df.drop(*cols_to_drop)

    Sekarang setelah kita memiliki semua kolom yang kita butuhkan, mari kita filter data agar hanya menyimpan ulasan antara tahun 2000โ€“2020.

  6. Gunakan Filter stempel waktu di luar rentang snippet untuk menghapus data sebelum tahun 2000 dan setelah 2020:
    from pyspark.sql.functions import col
    from datetime import datetime # specify the start and the stop timestamp
    timestamp_start = datetime.strptime("2000-01-01 12:00:00", "%Y-%m-%d %H:%M:%S")
    timestamp_stop = datetime.strptime("2020-01-01 12:00:00", "%Y-%m-%d %H:%M:%S") df = df.filter(col("reviewTime").between(timestamp_start, timestamp_stop))

    Selanjutnya, kami mengekstrak tahun dan bulan dari kolom reviewTime.

  7. Gunakan Menampilkan tanggal/waktu mengubah.
  8. Untuk Ekstrak kolom, pilih tahun dan bulan tersebut..

    Selanjutnya, kami ingin menggabungkan jumlah ulasan berdasarkan tahun dan bulan yang kami buat di langkah sebelumnya.

  9. Gunakan Hitung statistik dalam grup potongan:
    # Table is available as variable `df`
    from pyspark.sql.functions import sum, avg, max, min, mean, count # Provide the list of columns defining groups
    groupby_cols = ["reviewTime_year", "reviewTime_month"] # Specify the map of aggregate function to the list of colums
    # aggregates to use: sum, avg, max, min, mean, count
    aggregate_map = {count: ["overall"]} all_aggregates = []
    for a, cols in aggregate_map.items(): all_aggregates += [a(col) for col in cols] df = df.groupBy(groupby_cols).agg(*all_aggregates)

  10. Ganti nama agregasi dari langkah sebelumnya dari count(overall) untuk reviews_num dengan memilih Kelola Kolom dan Ganti nama kolom mengubah.
    Terakhir, kami ingin membuat peta panas untuk memvisualisasikan distribusi ulasan menurut tahun dan bulan.
  11. Pada tab analisis, pilih Visualisasi khusus.
  12. Lihat lebih lanjut Cari cuplikan Dan pilihlah Heatmap di menu drop-down.
  13. Masukkan cuplikan yang disediakan ke dalam visualisasi khusus Anda:
    # Table is available as variable `df`
    # Table is available as variable `df`
    import altair as alt # Takes first 1000 records of the Dataframe
    df = df.head(1000) chart = ( alt.Chart(df) .mark_rect() .encode( # Specify the column names for X and Y axis, # Both should have discrete values: ordinal (:O) or nominal (:N) x= "reviewTime_year:O", y="reviewTime_month:O", # Color can be both discrete (:O, :N) and quantitative (:Q) color="reviews_num:Q", ) .interactive()
    )

    Kami mendapatkan visualisasi berikut.

    Siapkan data lebih cepat dengan cuplikan kode PySpark dan Altair di Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Pencarian Vertikal. ai.
    Jika Anda ingin menyempurnakan peta panas lebih lanjut, Anda dapat mengiris data untuk hanya menampilkan ulasan sebelum 2011. Ini sulit diidentifikasi dalam peta panas yang baru saja kami buat karena volume besar ulasan sejak 2012.

  14. Tambahkan satu baris kode ke visualisasi khusus Anda:
    # Table is available as variable `df`
    import altair as alt df = df[df.reviewTime_year < 2011]
    # Takes first 1000 records of the Dataframe
    df = df.head(1000) chart = ( alt.Chart(df) .mark_rect() .encode( # Specify the column names for X and Y axis, # Both should have discrete values: ordinal (:O) or nominal (:N) x= "reviewTime_year:O", y="reviewTime_month:O", # Color can be both discrete (:O, :N) and quantitative (:Q) color="reviews_num:Q", ) .interactive()
    )

Kami mendapatkan peta panas berikut.

Siapkan data lebih cepat dengan cuplikan kode PySpark dan Altair di Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Pencarian Vertikal. ai.

Sekarang peta panas mencerminkan ulasan sebelum 2011 dengan lebih jelas: kita dapat mengamati efek musiman (akhir tahun membawa lebih banyak pembelian dan karenanya lebih banyak ulasan) dan dapat mengidentifikasi bulan-bulan anomali, seperti Oktober 2003 dan Maret 2005. Perlu diselidiki lebih lanjut untuk menentukan penyebab anomali tersebut.

Kesimpulan

Data Wrangler adalah agregasi data dan alat persiapan yang dibuat khusus untuk ML. Dalam posting ini, kami menunjukkan cara melakukan EDA dan mengubah data Anda dengan cepat menggunakan cuplikan kode yang disediakan oleh Data Wrangler. Anda hanya perlu menemukan cuplikan, memasukkan kode, dan menyesuaikan parameter agar sesuai dengan kumpulan data Anda. Anda dapat terus mengulangi skrip Anda untuk membuat visualisasi dan transformasi yang lebih kompleks.
Untuk mempelajari lebih lanjut tentang Data Wrangler, lihat Buat dan Gunakan Aliran Data Wrangler.


Tentang Penulis

Siapkan data lebih cepat dengan cuplikan kode PySpark dan Altair di Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Pencarian Vertikal. ai.Nikita Ivkin adalah Ilmuwan Terapan, Amazon SageMaker Data Wrangler.

Siapkan data lebih cepat dengan cuplikan kode PySpark dan Altair di Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Pencarian Vertikal. ai.Haider Naqvi adalah Arsitek Solusi di AWS. Dia memiliki pengalaman pengembangan perangkat lunak dan arsitektur perusahaan yang luas. Dia berfokus untuk memungkinkan pelanggan mencapai hasil bisnis dengan AWS. Dia berbasis di New York.

Siapkan data lebih cepat dengan cuplikan kode PySpark dan Altair di Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Pencarian Vertikal. ai.Harish Rajagopalan adalah Arsitek Solusi Senior di Amazon Web Services. Harish bekerja dengan pelanggan perusahaan dan membantu mereka dengan perjalanan cloud mereka.

Siapkan data lebih cepat dengan cuplikan kode PySpark dan Altair di Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Pencarian Vertikal. ai.James Wu adalah Senior AI/ML Specialist SA di AWS. Dia bekerja dengan pelanggan untuk mempercepat perjalanan cloud mereka dan mempercepat realisasi nilai bisnis mereka. Selain itu, James juga bersemangat mengembangkan dan menskalakan solusi AI/ML besar di berbagai domain. Sebelum bergabung dengan AWS, ia memimpin tim teknologi inovasi multi-disiplin dengan insinyur ML dan pengembang perangkat lunak untuk perusahaan global teratas di pasar dan industri periklanan.

Stempel Waktu:

Lebih dari Pembelajaran Mesin AWS