“Alih-alih berfokus pada kode, perusahaan harus berfokus pada pengembangan praktik rekayasa sistematis untuk meningkatkan data dengan cara yang andal, efisien, dan sistematis. Dengan kata lain, perusahaan perlu beralih dari pendekatan model-sentris ke pendekatan data-sentris.” – Andrew Ng
Pendekatan AI yang berpusat pada data melibatkan pembangunan sistem AI dengan data berkualitas yang melibatkan persiapan data dan rekayasa fitur. Ini bisa menjadi tugas yang membosankan yang melibatkan pengumpulan data, penemuan, pembuatan profil, pembersihan, penataan, transformasi, pengayaan, validasi, dan penyimpanan data dengan aman.
Pengatur Data Amazon SageMaker adalah layanan di Studio Amazon SageMaker yang memberikan solusi end-to-end untuk mengimpor, menyiapkan, mengubah, menampilkan, dan menganalisis data menggunakan sedikit atau tanpa pengkodean. Anda dapat mengintegrasikan alur persiapan data Data Wrangler ke dalam alur kerja pembelajaran mesin (ML) Anda untuk menyederhanakan prapemrosesan data dan rekayasa fitur, membawa persiapan data ke produksi lebih cepat tanpa perlu membuat kode PySpark, menginstal Apache Spark, atau menjalankan kluster.
Untuk skenario di mana Anda perlu menambahkan skrip kustom Anda sendiri untuk transformasi data, Anda dapat menulis logika transformasi Anda di Pandas, PySpark, PySpark SQL. Data Wrangler sekarang mendukung pustaka NLTK dan SciPy untuk menulis transformasi khusus guna menyiapkan data teks untuk ML dan melakukan pengoptimalan kendala.
Anda mungkin mengalami skenario di mana Anda harus menambahkan skrip kustom Anda sendiri untuk transformasi data. Dengan kemampuan transformasi kustom Data Wrangler, Anda dapat menulis logika transformasi Anda di Pandas, PySpark, PySpark SQL.
Dalam postingan ini, kami membahas bagaimana Anda dapat menulis transformasi khusus Anda di NLTK untuk menyiapkan data teks untuk ML. Kami juga akan membagikan beberapa contoh transformasi kode khusus menggunakan kerangka kerja umum lainnya seperti NLTK, NumPy, SciPy, dan scikit-learn serta Layanan AI AWS. Untuk tujuan latihan ini, kami menggunakan Kumpulan data Titanic, kumpulan data populer di komunitas ML, yang kini telah ditambahkan sebagai a contoh kumpulan data dalam Data Wrangler.
Ikhtisar solusi
Data Wrangler menyediakan lebih dari 40 konektor bawaan untuk mengimpor data. Setelah data diimpor, Anda dapat membuat analisis dan transformasi data menggunakan lebih dari 300 transformasi bawaan. Anda kemudian dapat membuat jaringan pipa industri untuk mendorong fitur tersebut Layanan Penyimpanan Sederhana Amazon (Amazon S3) atau Toko Fitur Amazon SageMaker. Diagram berikut menunjukkan arsitektur tingkat tinggi end-to-end.
Prasyarat
Data Wrangler adalah fitur SageMaker yang tersedia di dalamnya Studio Amazon SageMaker. Anda dapat mengikuti proses orientasi Studio untuk mengaktifkan lingkungan Studio dan notebook. Meskipun Anda dapat memilih dari beberapa metode autentikasi, cara termudah untuk membuat domain Studio adalah dengan mengikuti Instruksi mulai cepat. Mulai cepat menggunakan pengaturan default yang sama dengan pengaturan Studio standar. Anda juga dapat memilih untuk menggunakan Pusat Identitas AWS IAM (penerus AWS Single Sign-On) untuk autentikasi (lihat Masuk ke Domain Amazon SageMaker Menggunakan IAM Identity Center).
Impor kumpulan data Titanic
Mulai lingkungan Studio Anda dan buat yang baru Aliran data Wrangler. Anda dapat mengimpor kumpulan data Anda sendiri atau menggunakan contoh kumpulan data (Titanic) seperti yang ditunjukkan pada tangkapan layar berikut. Data Wrangler memungkinkan Anda untuk mengimpor kumpulan data dari sumber data yang berbeda. Untuk kasus penggunaan kami, kami mengimpor kumpulan data sampel dari bucket S3.
Setelah diimpor, Anda akan melihat dua node (node sumber dan node tipe data) di aliran data. Data Wrangler secara otomatis mengidentifikasi tipe data untuk semua kolom dalam kumpulan data.
Transformasi kustom dengan NLTK
Untuk persiapan data dan rekayasa fitur dengan Data Wrangler, Anda dapat menggunakan lebih dari 300 transformasi bawaan atau membuat transformasi kustom Anda sendiri. Transformasi kustom dapat ditulis sebagai langkah terpisah dalam Data Wrangler. Mereka menjadi bagian dari file .flow di dalam Data Wrangler. Fitur transformasi kustom mendukung Python, PySpark, dan SQL sebagai langkah berbeda dalam cuplikan kode. Setelah file buku catatan (.ipynb) dibuat dari file .flow atau file .flow digunakan sebagai resep, potongan kode transformasi kustom tetap ada tanpa memerlukan perubahan apa pun. Desain Data Wrangler ini memungkinkan transformasi kustom menjadi bagian dari tugas Pemrosesan SageMaker untuk memproses kumpulan data besar dengan transformasi kustom.
Dataset Titanic memiliki beberapa fitur (nama dan home.dest) yang berisi informasi teks. Kita gunakan NLTK untuk membagi kolom nama dan mengekstrak nama belakang, dan mencetak frekuensi nama belakang. NLTK adalah platform terkemuka untuk membangun program Python agar bekerja dengan data bahasa manusia. Ini menyediakan antarmuka yang mudah digunakan untuk lebih dari 50 kumpulan dan sumber daya leksikal seperti WordNet, bersama dengan rangkaian pustaka pemrosesan teks untuk klasifikasi, tokenisasi, stemming, penandaan, parsing, dan penalaran semantik, dan pembungkus untuk pustaka pemrosesan bahasa alami (NLP) berkekuatan industri.
Untuk menambahkan transformasi baru, selesaikan langkah-langkah berikut:
- Pilih tanda plus dan pilih Tambahkan Transform.
- Pilih Tambahkan Langkah Dan pilihlah Transformasi Kustom.
Anda dapat membuat transformasi khusus menggunakan Pandas, PySpark, fungsi yang ditentukan pengguna Python, dan SQL PySpark.
- Pilih Python (Panda) dan tambahkan kode berikut untuk mengekstrak nama belakang dari kolom nama:
- Pilih Preview untuk meninjau hasil.
Tangkapan layar berikut menunjukkan last_name
kolom diekstrak.
- Tambahkan langkah transformasi kustom lainnya untuk mengidentifikasi distribusi frekuensi nama belakang, menggunakan kode berikut:
- Pilih Preview untuk meninjau hasil frekuensi.
Transformasi kustom dengan layanan AWS AI
Layanan AI terlatih AWS memberikan kecerdasan siap pakai untuk aplikasi dan alur kerja Anda. Layanan AI AWS mudah diintegrasikan dengan aplikasi Anda untuk menangani banyak kasus penggunaan umum. Anda sekarang dapat menggunakan kemampuan untuk layanan AI AWS sebagai langkah transformasi kustom di Data Wrangler.
Amazon Comprehend menggunakan NLP untuk mengekstrak wawasan tentang konten dokumen. Ini mengembangkan wawasan dengan mengenali entitas, frase kunci, bahasa, sentimen, dan elemen umum lainnya dalam sebuah dokumen.
Kami menggunakan Amazon Comprehend untuk mengekstrak entitas dari kolom nama. Selesaikan langkah-langkah berikut:
- Tambahkan langkah transformasi khusus.
- Pilih Python (Panda).
- Masukkan kode berikut untuk mengekstrak entitas:
- Pilih Preview dan memvisualisasikan hasilnya.
Kami sekarang telah menambahkan tiga transformasi khusus di Data Wrangler.
- Pilih Aliran data untuk memvisualisasikan aliran data end-to-end.
Transformasi khusus dengan NumPy dan SciPy
JumlahPy adalah pustaka sumber terbuka untuk Python yang menawarkan fungsi matematika komprehensif, generator bilangan acak, rutinitas aljabar linier, transformasi Fourier, dan banyak lagi. SciPy adalah pustaka Python sumber terbuka yang digunakan untuk komputasi ilmiah dan komputasi teknis, berisi modul untuk pengoptimalan, aljabar linier, integrasi, interpolasi, fungsi khusus, transformasi Fourier cepat (FFT), pemrosesan sinyal dan gambar, pemecah, dan banyak lagi.
Transformasi khusus Data Wrangler memungkinkan Anda menggabungkan Python, PySpark, dan SQL sebagai langkah yang berbeda. Dalam alur Data Wrangler berikut, fungsi yang berbeda dari paket Python, NumPy, dan SciPy diterapkan pada kumpulan data Titanic sebagai beberapa langkah.
transformasi NumPy
Kolom tarif set data Titanic memiliki tarif naik penumpang yang berbeda. Histogram kolom tarif menunjukkan distribusi yang seragam, kecuali bin terakhir. Dengan menerapkan transformasi NumPy seperti log atau akar kuadrat, kita dapat mengubah distribusi (seperti yang ditunjukkan oleh transformasi akar kuadrat).
Lihat kode berikut:
transformasi SciPy
Fungsi SciPy seperti z-score diterapkan sebagai bagian dari transformasi kustom untuk membakukan distribusi tarif dengan rata-rata dan deviasi standar.
Lihat kode berikut:
Optimalisasi kendala dengan NumPy dan SciPy
Transformasi khusus Data Wrangler dapat menangani transformasi tingkat lanjut seperti pengoptimalan kendala yang menerapkan fungsi optimal SciPy dan menggabungkan SciPy dengan NumPy. Dalam contoh berikut, tarif sebagai fungsi usia tidak menunjukkan tren yang dapat diamati. Namun, optimalisasi kendala dapat mengubah tarif sebagai fungsi usia. Kondisi kendala dalam hal ini adalah total tarif yang baru tetap sama dengan total tarif yang lama. Transformasi khusus Data Wrangler memungkinkan Anda menjalankan fungsi pengoptimalan SciPy untuk menentukan koefisien optimal yang dapat mengubah tarif sebagai fungsi usia dalam kondisi kendala.
Definisi pengoptimalan, definisi tujuan, dan beberapa kendala dapat disebutkan sebagai fungsi yang berbeda saat merumuskan pengoptimalan kendala dalam transformasi kustom Data Wrangler menggunakan SciPy dan NumPy. Transformasi khusus juga dapat menghadirkan metode pemecah berbeda yang tersedia sebagai bagian dari paket pengoptimalan SciPy. Variabel transformasi baru dapat dihasilkan dengan mengalikan koefisien optimal dengan kolom asli dan ditambahkan ke kolom Data Wrangler yang ada. Lihat kode berikut:
Fitur transformasi kustom Data Wrangler memiliki kemampuan UI untuk menunjukkan hasil fungsi optimal SciPy seperti nilai koefisien optimal (atau beberapa koefisien).
Transformasi khusus dengan scikit-learn
scikit-belajar adalah modul Python untuk pembelajaran mesin yang dibangun di atas SciPy. Ini adalah pustaka ML sumber terbuka yang mendukung pembelajaran yang diawasi dan tidak diawasi. Ini juga menyediakan berbagai alat untuk pemasangan model, pemrosesan awal data, pemilihan model, evaluasi model, dan banyak utilitas lainnya.
Diskritisasi
Diskritisasi (atau dikenal sebagai kuantisasi or membuang) menyediakan cara untuk mempartisi fitur berkelanjutan menjadi nilai diskrit. Dataset tertentu dengan fitur kontinu mungkin mendapat manfaat dari diskritisasi, karena diskritisasi dapat mengubah dataset atribut kontinu menjadi satu dengan hanya atribut nominal. Fitur diskrit yang dikodekan satu-panas dapat membuat model lebih ekspresif, sambil mempertahankan interpretabilitas. Misalnya, preprocessing dengan diskritizer dapat memperkenalkan nonlinier ke model linier.
Dalam kode berikut, kami menggunakan KBinsDiscretizer
untuk mendiskritisasi kolom umur menjadi 10 bin:
Anda dapat melihat tepi nampan yang dicetak pada tangkapan layar berikut.
Pengkodean satu-panas
Nilai di kolom Memulai adalah nilai kategorikal. Oleh karena itu, kita harus merepresentasikan string ini sebagai nilai numerik untuk melakukan klasifikasi dengan model kita. Kami juga dapat melakukan ini menggunakan transformasi penyandian satu-panas.
Ada tiga nilai untuk Memulai: S, C, dan Q. Kami mewakili ini dengan angka. Lihat kode berikut:
Membersihkan
Saat Anda tidak menggunakan Data Wrangler, penting untuk mematikan instans yang dijalankannya untuk menghindari biaya tambahan.
Data Wrangler secara otomatis menyimpan aliran data Anda setiap 60 detik. Untuk menghindari kehilangan pekerjaan, simpan aliran data Anda sebelum mematikan Data Wrangler.
- Untuk menyimpan aliran data Anda di Studio, pilih File, Lalu pilih Simpan Aliran Data Wrangler.
- Untuk mematikan instance Data Wrangler, di Studio, pilih Menjalankan Instance dan Kernel.
- Bawah APLIKASI YANG SEDANG BERJALAN, pilih ikon matikan di sebelah aplikasi sagemaker-data-wrangler-1.0.
- Pilih Matikan semua untuk mengkonfirmasi.
Data Wrangler berjalan pada instance ml.m5.4xlarge. Contoh ini menghilang dari INSTALASI YANG BERJALAN saat Anda mematikan aplikasi Data Wrangler.
Setelah Anda mematikan aplikasi Data Wrangler, itu harus dimulai ulang saat berikutnya Anda membuka file aliran Data Wrangler. Ini bisa memakan waktu beberapa menit.
Kesimpulan
Dalam posting ini, kami mendemonstrasikan bagaimana Anda dapat menggunakan transformasi khusus di Data Wrangler. Kami menggunakan pustaka dan kerangka kerja dalam wadah Data Wrangler untuk memperluas kemampuan transformasi data bawaan. Contoh dalam posting ini mewakili subset dari kerangka kerja yang digunakan. Transformasi dalam alur Data Wrangler kini dapat ditingkatkan ke saluran pipa untuk DataOps.
Untuk mempelajari lebih lanjut tentang menggunakan aliran data dengan Data Wrangler, lihat Buat dan Gunakan Aliran Data Wrangler dan Harga Amazon SageMaker. Untuk memulai dengan Data Wrangler, lihat Siapkan Data ML dengan Amazon SageMaker Data Wrangler. Untuk mempelajari lebih lanjut tentang Autopilot dan AutoML di SageMaker, kunjungi Otomatiskan pengembangan model dengan Amazon SageMaker Autopilot.
Tentang penulis
Meenakshisundaram Thandavarayan adalah spesialis AI/ML Senior dengan AWS. Dia membantu akun strategis berteknologi tinggi dalam perjalanan AI dan ML mereka. Dia sangat bersemangat tentang AI berbasis data.
Sovik Kumar Nat adalah arsitek solusi AI/ML dengan AWS. Dia memiliki pengalaman luas dalam desain dan solusi end-to-end untuk pembelajaran mesin; analitik bisnis dalam analitik keuangan, operasional, dan pemasaran; kesehatan; rantai pasokan; dan IoT. Di luar pekerjaan, Sovik senang bepergian dan menonton film.
Abigail adalah Insinyur Pengembangan Perangkat Lunak di Amazon SageMaker. Dia bersemangat membantu pelanggan menyiapkan data mereka di DataWrangler dan membangun sistem pembelajaran mesin terdistribusi. Di waktu luangnya, Abigail senang bepergian, mendaki gunung, bermain ski, dan membuat kue.
- Konten Bertenaga SEO & Distribusi PR. Dapatkan Amplifikasi Hari Ini.
- Platoblockchain. Intelijen Metaverse Web3. Pengetahuan Diperkuat. Akses Di Sini.
- Mencetak Masa Depan bersama Adryenn Ashley. Akses Di Sini.
- Sumber: https://aws.amazon.com/blogs/machine-learning/authoring-custom-transformations-in-amazon-sagemaker-data-wrangler-using-nltk-and-scipy/
- :memiliki
- :adalah
- $NAIK
- 1
- 10
- 100
- 7
- 8
- 9
- a
- Tentang Kami
- Akun
- menambahkan
- Tambahan
- alamat
- maju
- Setelah
- Abad
- AI
- Layanan AI
- AI / ML
- Semua
- memungkinkan
- sepanjang
- Meskipun
- Amazon
- Amazon Comprehend
- Amazon SageMaker
- Pengatur Data Amazon SageMaker
- analisis
- analisis
- menganalisa
- dan
- Andrew
- Lain
- Apa pun
- Apache
- aplikasi
- aplikasi
- terapan
- Menerapkan
- pendekatan
- arsitektur
- ADALAH
- AS
- At
- atribut
- Otentikasi
- penulis
- menulis
- secara otomatis
- ML Otomatis
- tersedia
- AWS
- BE
- karena
- menjadi
- menjadi
- sebelum
- manfaat
- BIN
- asrama
- membawa
- membangun
- Bangunan
- dibangun di
- built-in
- bisnis
- by
- CAN
- kemampuan
- kasus
- kasus
- tertentu
- rantai
- perubahan
- Perubahan
- Pilih
- klasifikasi
- kode
- Pengkodean
- koleksi
- Kolom
- Kolom
- menggabungkan
- menggabungkan
- Umum
- masyarakat
- Perusahaan
- lengkap
- memahami
- luas
- komputasi
- kondisi
- Kondisi
- Memastikan
- Kekurangan
- kendala
- mengandung
- Wadah
- Konten
- kontinu
- bisa
- sepasang
- membuat
- adat
- pelanggan
- data
- analisis data
- Persiapan data
- Data-driven
- kumpulan data
- Default
- menunjukkan
- Mendesain
- desain
- Menentukan
- berkembang
- Pengembangan
- mengembangkan
- penyimpangan
- berbeda
- penemuan
- membahas
- didistribusikan
- distribusi
- dokumen
- dokumen
- Tidak
- domain
- turun
- mudah
- mudah digunakan
- efisien
- antara
- elemen
- ujung ke ujung
- insinyur
- Teknik
- memperkaya
- entitas
- entitas
- Lingkungan Hidup
- evaluasi
- Setiap
- contoh
- contoh
- Kecuali
- Latihan
- ada
- pengalaman
- ekspresif
- memperpanjang
- luas
- Pengalaman yang luas
- ekstrak
- FAST
- lebih cepat
- Fitur
- Fitur
- Biaya
- beberapa
- File
- File
- keuangan
- sesuai
- aliran
- Mengalir
- Fokus
- berfokus
- mengikuti
- berikut
- Untuk
- merumuskan
- Kerangka
- kerangka
- Gratis
- Frekuensi
- dari
- kesenangan
- fungsi
- fungsi
- menghasilkan
- dihasilkan
- generator
- mendapatkan
- menangani
- Memiliki
- he
- kesehatan
- membantu
- membantu
- hi-tech
- tingkat tinggi
- Beranda
- Seterpercayaapakah Olymp Trade? Kesimpulan
- Namun
- HTML
- http
- HTTPS
- manusia
- ICON
- mengidentifikasi
- mengenali
- identitas
- gambar
- mengimpor
- penting
- pengimporan
- meningkatkan
- in
- Di lain
- informasi
- wawasan
- install
- contoh
- mengintegrasikan
- integrasi
- Intelijen
- interface
- memperkenalkan
- idiot
- IT
- Pekerjaan
- perjalanan
- jpg
- kunci
- dikenal
- bahasa
- Terakhir
- terkemuka
- BELAJAR
- pengetahuan
- perpustakaan
- Perpustakaan
- 'like'
- sedikit
- kehilangan
- mesin
- Mesin belajar
- mempertahankan
- membuat
- banyak
- Marketing
- besar-besaran
- matematis
- Mungkin..
- tersebut
- metode
- mungkin
- menit
- ML
- model
- model
- Modul
- Modul
- lebih
- pindah
- bioskop
- beberapa
- mengalikan
- nama
- nama
- Alam
- Pengolahan Bahasa alami
- Perlu
- New
- berikutnya
- nLP
- simpul
- node
- buku catatan
- jumlah
- nomor
- mati rasa
- tujuan
- of
- menawarkan
- Tua
- on
- Di atas kapal
- Onboarding
- ONE
- Buka
- open source
- operasional
- optimal
- optimasi
- Optimize
- urutan
- asli
- Lainnya
- jika tidak
- kami
- di luar
- lebih
- sendiri
- paket
- paket
- panda
- bagian
- bergairah
- Melakukan
- frase
- pipa saluran
- Platform
- plato
- Kecerdasan Data Plato
- Data Plato
- plus
- Populer
- Pos
- praktek
- Mempersiapkan
- Mencetak
- pengolahan
- Produksi
- profil
- program
- memberikan
- menyediakan
- tujuan
- Dorong
- Ular sanca
- kualitas
- Cepat
- acak
- Mentah
- dapat diandalkan
- sisa
- mewakili
- tanggapan
- Hasil
- kembali
- ulasan
- akar
- Run
- s
- pembuat bijak
- sama
- Contoh kumpulan data
- Save
- skenario
- ilmiah
- scikit-belajar
- script
- detik
- aman
- seleksi
- senior
- terpisah
- layanan
- Layanan
- pengaturan
- penyiapan
- Share
- harus
- Menunjukkan
- ditunjukkan
- Pertunjukkan
- menutup
- penutupan
- menandatangani
- Sinyal
- Sederhana
- menyederhanakan
- tunggal
- Perangkat lunak
- pengembangan perangkat lunak
- larutan
- Solusi
- beberapa
- sumber
- sumber
- percikan
- khusus
- spesialis
- Berputar
- membagi
- kotak
- standar
- awal
- mulai
- statistik
- Langkah
- Tangga
- penyimpanan
- menyimpan
- Strategis
- penataan
- studio
- seperti itu
- rangkaian
- menyediakan
- supply chain
- Mendukung
- sistem
- tabel
- Mengambil
- pengambilan
- tugas
- Teknis
- bahwa
- Grafik
- Sumber
- mereka
- karena itu
- Ini
- tiga
- waktu
- untuk
- token
- Tokenisasi
- Token
- alat
- puncak
- Total
- Mengubah
- Transformasi
- transformasi
- berubah
- mengubah
- Perjalanan
- kecenderungan
- ui
- bawah
- menggunakan
- gunakan case
- bekas
- keperluan
- nilai
- Nilai - Nilai
- berbagai
- Mengunjungi
- menonton
- Cara..
- cara
- BAIK
- yang
- sementara
- akan
- dengan
- dalam
- tanpa
- kata
- Kerja
- Alur kerja
- menulis
- tertulis
- Kamu
- Anda
- zephyrnet.dll