Toko Fitur Amazon SageMaker memberikan solusi menyeluruh untuk mengotomatiskan rekayasa fitur untuk pembelajaran mesin (ML). Untuk banyak kasus penggunaan ML, data mentah seperti file log, pembacaan sensor, atau catatan transaksi perlu diubah menjadi fitur bermakna yang dioptimalkan untuk pelatihan model.
Kualitas fitur sangat penting untuk memastikan model ML yang sangat akurat. Mengubah data mentah menjadi fitur menggunakan agregasi, pengkodean, normalisasi, dan operasi lainnya sering kali diperlukan dan memerlukan upaya yang signifikan. Insinyur harus menulis prapemrosesan data khusus dan logika agregasi secara manual dengan Python atau Spark untuk setiap kasus penggunaan.
Pengangkatan berat yang tidak dapat dibedakan ini rumit, berulang-ulang, dan rawan kesalahan. Itu Prosesor Fitur Toko Fitur SageMaker mengurangi beban ini dengan secara otomatis mengubah data mentah menjadi fitur gabungan yang sesuai untuk model ML pelatihan batch. Hal ini memungkinkan para insinyur menyediakan fungsi transformasi data sederhana, lalu menangani pengoperasiannya dalam skala besar di Spark dan mengelola infrastruktur yang mendasarinya. Hal ini memungkinkan ilmuwan data dan insinyur data untuk fokus pada logika rekayasa fitur daripada detail implementasi.
Dalam postingan ini, kami mendemonstrasikan bagaimana perusahaan penjualan mobil dapat menggunakan Pemroses Fitur untuk mengubah data transaksi penjualan mentah menjadi fitur dalam tiga langkah:
- Transformasi data yang dijalankan secara lokal.
- Jarak jauh berjalan dalam skala besar menggunakan Spark.
- Operasionalisasi melalui jalur pipa.
Kami menunjukkan bagaimana SageMaker Feature Store menyerap data mentah, menjalankan transformasi fitur dari jarak jauh menggunakan Spark, dan memuat fitur gabungan yang dihasilkan ke dalam grup fitur. Fitur rekayasa ini kemudian dapat digunakan untuk melatih model ML.
Untuk kasus penggunaan ini, kita melihat bagaimana SageMaker Feature Store membantu mengubah data mentah penjualan mobil menjadi fitur terstruktur. Fitur-fitur ini selanjutnya digunakan untuk mendapatkan wawasan seperti:
- Harga rata-rata dan maksimum mobil convertible merah mulai tahun 2010
- Model dengan jarak tempuh terbaik vs. harga
- Tren penjualan mobil baru vs. bekas selama bertahun-tahun
- Perbedaan rata-rata MSRP antar lokasi
Kami juga melihat bagaimana saluran SageMaker Feature Store terus memperbarui fitur seiring masuknya data baru, sehingga memungkinkan perusahaan untuk terus mendapatkan wawasan dari waktu ke waktu.
Ikhtisar solusi
Kami bekerja dengan kumpulan data car_data.csv
, yang berisi spesifikasi seperti model, tahun, status, jarak tempuh, harga, dan MSRP untuk mobil bekas dan baru yang dijual perusahaan. Tangkapan layar berikut menunjukkan contoh kumpulan data.
Buku catatan solusi feature_processor.ipynb
berisi langkah-langkah utama berikut, yang kami jelaskan dalam posting ini:
- Buat dua grup fitur: satu disebut
car-data
untuk catatan penjualan mobil mentah dan lainnya disebutcar-data-aggregated
untuk catatan penjualan mobil agregat. - Gunakan
@feature_processor
dekorator untuk memuat data ke dalam grup fitur data mobil Layanan Penyimpanan Sederhana Amazon (Amazon S3). - Jalankan
@feature_processor code
dari jarak jauh sebagai aplikasi Spark untuk mengumpulkan data. - Operasikan prosesor fitur melalui Saluran pipa SageMaker dan jadwal berjalan.
- Jelajahi alur pemrosesan fitur dan garis keturunan in Studio Amazon SageMaker.
- Gunakan fitur gabungan untuk melatih model ML.
Prasyarat
Untuk mengikuti tutorial ini, Anda memerlukan yang berikut:
Untuk postingan kali ini kita simak berikut ini buku catatan, yang menunjukkan cara memulai Pemroses Fitur menggunakan SageMaker Python SDK.
Buat grup fitur
Untuk membuat grup fitur, selesaikan langkah-langkah berikut:
- Buat definisi grup fitur untuk
car-data
sebagai berikut:
Fitur-fiturnya sesuai dengan setiap kolom di car_data.csv
Himpunan data (Model
, Year
, Status
, Mileage
, Price
, dan MSRP
).
- Tambahkan pengidentifikasi rekaman
id
dan waktu acaraingest_time
ke grup fitur:
- Buat definisi grup fitur untuk
car-data-aggregated
sebagai berikut:
Untuk grup fitur gabungan, fitur-fiturnya adalah status tahun model, jarak tempuh rata-rata, jarak tempuh maksimal, harga rata-rata, harga maksimal, MSRP rata-rata, MSRP maksimal, dan waktu penyerapan. Kami menambahkan pengidentifikasi rekaman model_year_status
dan waktu acara ingest_time
ke grup fitur ini.
- Sekarang, buat
car-data
grup fitur:
- Buat
car-data-aggregated
grup fitur:
Anda dapat menavigasi ke opsi Toko Fitur SageMaker di bawah Data di SageMaker Studio Beranda menu untuk melihat grup fitur.
Gunakan dekorator @feature_processor untuk memuat data
Di bagian ini, kami mengubah data masukan mentah secara lokal (car_data.csv
) dari Amazon S3 ke car-data
grup fitur menggunakan Feature Store Feature Processor. Proses lokal awal ini memungkinkan kita untuk mengembangkan dan melakukan iterasi sebelum menjalankannya dari jarak jauh, dan dapat dilakukan pada sampel data jika diinginkan untuk iterasi yang lebih cepat.
Dengan @feature_processor
dekorator, fungsi transformasi Anda berjalan di lingkungan runtime Spark dengan argumen input yang diberikan ke fungsi Anda dan nilai kembaliannya adalah Spark DataFrames.
- Instal SDK Prosesor Fitur dari SDK Python SageMaker dan tambahannya menggunakan perintah berikut:
Jumlah parameter masukan dalam fungsi transformasi Anda harus sesuai dengan jumlah masukan yang dikonfigurasi di @feature_processor
penghias. Dalam hal ini, @feature_processor
dekorator punya car-data.csv
sebagai masukan dan car-data
grup fitur sebagai keluaran, menunjukkan ini adalah operasi batch dengan target_store
as OfflineStore
:
- Tentukan
transform()
berfungsi untuk mengubah data. Fungsi ini melakukan tindakan berikut:- Ubah nama kolom menjadi huruf kecil.
- Tambahkan waktu acara ke
ingest_time
kolom. - Hapus tanda baca dan ganti nilai yang hilang dengan NA.
- Sebut
transform()
berfungsi untuk menyimpan data dicar-data
grup fitur:
Outputnya menunjukkan bahwa data berhasil diserap ke dalam grup fitur data mobil.
Output dari transform_df.show()
fungsinya adalah sebagai berikut:
Kami telah berhasil mengubah data masukan dan memasukkannya ke dalam car-data
grup fitur.
Jalankan kode @feature_processor dari jarak jauh
Di bagian ini, kami mendemonstrasikan menjalankan kode pemrosesan fitur dari jarak jauh sebagai aplikasi Spark menggunakan @remote
dekorator dijelaskan sebelumnya. Kami menjalankan pemrosesan fitur dari jarak jauh menggunakan Spark untuk menskalakan ke kumpulan data besar. Spark menyediakan pemrosesan terdistribusi pada cluster untuk menangani data yang terlalu besar untuk satu mesin. Itu @remote
dekorator menjalankan kode Python lokal sebagai tugas pelatihan SageMaker tunggal atau multi-node.
- Gunakan
@remote
dekorator bersama dengan@feature_processor
dekorator sebagai berikut:
Grafik spark_config
parameter menunjukkan ini dijalankan sebagai a Spark application
. Instans SparkConfig mengonfigurasi konfigurasi dan dependensi Spark.
- Tentukan
aggregate()
berfungsi untuk menggabungkan data menggunakan PySpark SQL dan fungsi yang ditentukan pengguna (UDFs). Fungsi ini melakukan tindakan berikut:- Menggabungkan
model
,year
, danstatus
untuk membuatmodel_year_status
. - Ambil rata-rata dari
price
untuk membuatavg_price
. - Ambil nilai maksimal dari
price
untuk membuatmax_price
. - Ambil rata-rata dari
mileage
untuk membuatavg_mileage
. - Ambil nilai maksimal dari
mileage
untuk membuatmax_mileage
. - Ambil rata-rata dari
msrp
untuk membuatavg_msrp
. - Ambil nilai maksimal dari
msrp
untuk membuatmax_msrp
. - Kelompok oleh
model_year_status
.
- Menggabungkan
- Jalankan
aggregate()
fungsi, yang membuat tugas pelatihan SageMaker untuk menjalankan aplikasi Spark:
Hasilnya, SageMaker membuat tugas pelatihan untuk aplikasi Spark yang ditentukan sebelumnya. Ini akan membuat lingkungan runtime Spark menggunakan sagemaker-spark-processing image
.
Kami menggunakan pekerjaan Pelatihan SageMaker di sini untuk menjalankan aplikasi pemrosesan fitur Spark kami. Dengan Pelatihan SageMaker, Anda dapat mengurangi waktu startup menjadi 1 menit atau kurang dengan menggunakan pengumpulan hangat, yang tidak tersedia di Pemrosesan SageMaker. Hal ini membuat Pelatihan SageMaker lebih optimal untuk pekerjaan batch pendek seperti pemrosesan fitur yang mengutamakan waktu startup.
- Untuk melihat detailnya, di konsol SageMaker, pilih Pekerjaan pelatihan bawah Pelatihan di panel navigasi, lalu pilih pekerjaan dengan nama
aggregate-<timestamp>
.
Output dari agregat() fungsi menghasilkan kode telemetri. Di dalam output, Anda akan melihat data gabungan sebagai berikut:
Ketika tugas pelatihan selesai, Anda akan melihat output berikut:
Operasikan prosesor fitur melalui saluran SageMaker
Di bagian ini, kami mendemonstrasikan cara mengoperasionalkan pemroses fitur dengan mempromosikannya ke alur SageMaker dan menjalankan penjadwalan.
- Pertama, unggah transformasi_code.py file yang berisi logika pemrosesan fitur ke Amazon S3:
- Selanjutnya, buat alur Prosesor Fitur car_data_pipeline menggunakan .to_pipeline() fungsi:
- Untuk menjalankan alur, gunakan kode berikut:
- Demikian pula, Anda dapat membuat saluran untuk fitur gabungan yang disebut
car_data_aggregated_pipeline
dan mulai berlari. - Jadwalkan
car_data_aggregated_pipeline
untuk dijalankan setiap 24 jam:
Di bagian output, Anda akan melihat ARN pipeline dan peran eksekusi pipeline, serta detail jadwal:
- Untuk mendapatkan semua alur Pemroses Fitur di akun ini, gunakan
list_pipelines()
fungsi pada Fitur Prosesor:
Outputnya adalah sebagai berikut:
Kami telah berhasil membuat alur Prosesor Fitur SageMaker.
Jelajahi alur pemrosesan fitur dan silsilah ML
Di SageMaker Studio, selesaikan langkah-langkah berikut:
- Di konsol SageMaker Studio, di Beranda menu, pilih Jaringan pipa.
Anda akan melihat dua saluran pipa dibuat: car-data-ingestion-pipeline
dan car-data-aggregated-ingestion-pipeline
.
- Pilih
car-data-ingestion-pipeline
.
Ini menunjukkan detail proses di Eksekusi Tab.
- Untuk melihat grup fitur yang diisi oleh alur, pilih Toko Fitur bawah Data Dan pilihlah
car-data
.
Anda akan melihat dua grup fitur yang kami buat pada langkah sebelumnya.
- Pilih
car-data
grup fitur.
Anda akan melihat detail fitur di Fitur Tab.
Lihat proses alur
Untuk melihat alur berjalan, selesaikan langkah-langkah berikut:
- pada Eksekusi Saluran Pipas tab, pilih
car-data-ingestion-pipeline
.
Ini akan menampilkan semua proses.
- Pilih salah satu tautan untuk melihat detail proses.
- Untuk melihat garis keturunan, pilih Silsilah.
Silsilah lengkap untuk car-data
menunjukkan sumber data masukan car_data.csv
dan entitas hulu. Garis keturunan untuk car-data-aggregated
menunjukkan masukan car-data
grup fitur.
- Pilih Memuat fitur lalu pilih Kueri silsilah hulu on
car-data
dancar-data-ingestion-pipeline
untuk melihat semua entitas hulu.
Silsilah lengkap untuk car-data
grup fitur akan terlihat seperti tangkapan layar berikut.
Begitu pula dengan silsilah bagi car-aggregated-data
grup fitur akan terlihat seperti tangkapan layar berikut.
SageMaker Studio menyediakan lingkungan tunggal untuk melacak alur terjadwal, melihat proses, menjelajahi silsilah, dan melihat kode pemrosesan fitur.
Fitur gabungan seperti harga rata-rata, harga maksimal, jarak tempuh rata-rata, dan banyak lagi di car-data-aggregated
kelompok fitur memberikan wawasan tentang sifat data. Anda juga dapat menggunakan fitur ini sebagai kumpulan data untuk melatih model guna memprediksi harga mobil, atau untuk operasi lainnya. Namun, pelatihan model berada di luar cakupan postingan ini, yang berfokus pada mendemonstrasikan kemampuan SageMaker Feature Store untuk rekayasa fitur.
Membersihkan
Jangan lupa untuk membersihkan sumber daya yang dibuat sebagai bagian dari posting ini untuk menghindari timbulnya biaya berkelanjutan.
- Nonaktifkan jalur pipa terjadwal melalui
fp.schedule()
metode dengan parameter status sebagaiDisabled
:
- Hapus kedua grup fitur:
Data yang berada di bucket S3 dan penyimpanan fitur offline dapat dikenakan biaya, jadi Anda harus menghapusnya untuk menghindari biaya apa pun.
- Hapus objek S3.
- Hapus catatan dari toko fitur.
Kesimpulan
Dalam postingan ini, kami mendemonstrasikan bagaimana perusahaan penjualan mobil menggunakan Prosesor Fitur Toko Fitur SageMaker untuk mendapatkan wawasan berharga dari data penjualan mentah mereka dengan:
- Menyerap dan mengubah data batch dalam skala besar menggunakan Spark
- Mengoperasionalkan alur kerja rekayasa fitur melalui saluran SageMaker
- Menyediakan pelacakan silsilah dan lingkungan tunggal untuk memantau saluran pipa dan menjelajahi fitur
- Mempersiapkan fitur gabungan yang dioptimalkan untuk melatih model ML
Dengan mengikuti langkah-langkah ini, perusahaan dapat mengubah data yang sebelumnya tidak dapat digunakan menjadi fitur terstruktur yang kemudian dapat digunakan untuk melatih model guna memprediksi harga mobil. SageMaker Feature Store memungkinkan mereka untuk fokus pada rekayasa fitur daripada infrastruktur yang mendasarinya.
Kami harap postingan ini membantu Anda membuka wawasan ML yang berharga dari data Anda sendiri menggunakan Prosesor Fitur Toko Fitur SageMaker!
Untuk informasi lebih lanjut tentang ini, lihat Pemrosesan Fitur dan contoh SageMaker aktif Toko Fitur Amazon SageMaker: Pengenalan Prosesor Fitur.
Tentang Penulis
Dhawal Shah adalah Arsitek Solusi Senior di AWS, yang berspesialisasi dalam Pembelajaran Mesin. Dengan fokus kuat pada bisnis digital native, dia memberdayakan pelanggan untuk memanfaatkan AWS dan mendorong pertumbuhan bisnis mereka. Sebagai penggemar ML, Dhaval didorong oleh hasratnya untuk menciptakan solusi berdampak yang membawa perubahan positif. Di waktu senggangnya, ia menuruti kecintaannya pada perjalanan dan menghargai momen-momen berkualitas bersama keluarganya.
Ninad Joshi adalah Arsitek Solusi Senior di AWS, membantu pelanggan AWS global merancang solusi yang aman, terukur, dan hemat biaya di cloud untuk memecahkan tantangan bisnis dunia nyata yang kompleks. Karyanya dalam Machine Learning (ML) mencakup berbagai kasus penggunaan AI/ML, dengan fokus utama pada ML End-to-End, Natural Language Processing, dan Computer Vision. Sebelum bergabung dengan AWS, Ninad bekerja sebagai pengembang perangkat lunak selama lebih dari 12 tahun. Di luar usaha profesionalnya, Ninad menikmati bermain catur dan menjelajahi berbagai langkah.
- Konten Bertenaga SEO & Distribusi PR. Dapatkan Amplifikasi Hari Ini.
- PlatoData.Jaringan Vertikal Generatif Ai. Berdayakan Diri Anda. Akses Di Sini.
- PlatoAiStream. Intelijen Web3. Pengetahuan Diperkuat. Akses Di Sini.
- PlatoESG. Karbon, teknologi bersih, energi, Lingkungan Hidup, Tenaga surya, Penanganan limbah. Akses Di Sini.
- PlatoHealth. Kecerdasan Uji Coba Biotek dan Klinis. Akses Di Sini.
- Sumber: https://aws.amazon.com/blogs/machine-learning/unlock-ml-insights-using-the-amazon-sagemaker-feature-store-feature-processor/
- :memiliki
- :adalah
- :bukan
- :Di mana
- $NAIK
- 1
- 10
- 100
- 11
- 116
- 12
- 13
- 14
- 15%
- 16
- 20
- 24
- 26%
- 40
- 7
- 8
- 9
- a
- Sanggup
- Akun
- tepat
- di seluruh
- tindakan
- menambahkan
- agregat
- pengumpulan
- AI / ML
- Semua
- memungkinkan
- sepanjang
- juga
- Amazon
- Amazon SageMaker
- Amazon Web Services
- an
- dan
- Lain
- Apa pun
- Aplikasi
- ADALAH
- argumen
- AS
- At
- mengotomatisasikan
- secara otomatis
- tersedia
- rata-rata
- menghindari
- AWS
- dasar
- BE
- sebelum
- TERBAIK
- Lebih baik
- Besar
- kedua
- membawa
- beban
- bisnis
- bisnis
- by
- bernama
- CAN
- kemampuan
- mobil
- mobil
- kasus
- kasus
- tantangan
- perubahan
- beban
- Catur
- Pilih
- awan
- kode
- Kolom
- Kolom
- datang
- perusahaan
- lengkap
- kompleks
- komputer
- Visi Komputer
- konfigurasi
- dikonfigurasi
- konsul
- mengandung
- terus-menerus
- mengubah
- Biaya
- Biaya
- bisa
- Meliputi
- membuat
- dibuat
- menciptakan
- membuat
- kritis
- rumit
- adat
- pelanggan
- data
- kumpulan data
- didefinisikan
- definisi
- mendemonstrasikan
- menunjukkan
- menunjukkan
- menunjukkan
- ketergantungan
- dijelaskan
- deskripsi
- Mendesain
- diinginkan
- rincian
- mengembangkan
- Pengembang
- berbeda
- digital
- cacat
- menampilkan
- didistribusikan
- dilakukan
- mendorong
- didorong
- setiap
- Terdahulu
- Efektif
- usaha
- memberdayakan
- diaktifkan
- memungkinkan
- memungkinkan
- ujung ke ujung
- usaha keras
- Teknik
- Insinyur
- memastikan
- penggemar
- entitas
- Lingkungan Hidup
- Acara
- Setiap
- contoh
- menjalankan
- eksekusi
- Keluar
- Menjelaskan
- menyelidiki
- Menjelajahi
- keluarga
- lebih cepat
- Fitur
- Fitur
- File
- File
- Fokus
- berfokus
- mengikuti
- berikut
- berikut
- Untuk
- fraksional
- dari
- penuh
- fungsi
- fungsi
- Mendapatkan
- menghasilkan
- mendapatkan
- Aksi
- Kelompok
- Grup
- Pertumbuhan
- menangani
- Menangani
- Memiliki
- he
- header
- berat
- angkat berat
- membantu
- membantu
- di sini
- menyoroti
- sangat
- -nya
- Beranda
- berharap
- JAM
- Seterpercayaapakah Olymp Trade? Kesimpulan
- How To
- Namun
- HTML
- HTTPS
- ID
- identifier
- if
- gambar
- berdampak
- implementasi
- mengimpor
- penting
- in
- Termasuk
- menunjukkan
- Info
- informasi
- Infrastruktur
- mulanya
- memasukkan
- input
- dalam
- wawasan
- wawasan
- install
- contoh
- ke
- IT
- perulangan
- NYA
- Pekerjaan
- Jobs
- bergabung
- jpg
- Menjaga
- bahasa
- besar
- pengetahuan
- kurang
- Lets
- Leverage
- pengangkatan
- 'like'
- garis keturunan
- link
- Daftar
- memuat
- beban
- lokal
- lokal
- mencatat
- logika
- melihat
- terlihat seperti
- cinta
- mesin
- Mesin belajar
- Utama
- MEMBUAT
- pelaksana
- manual
- banyak
- Cocok
- max
- maksimum
- mdx
- berarti
- menu
- metode
- menit
- hilang
- ML
- model
- model
- Waktu
- Memantau
- lebih
- harus
- nama
- nama
- asli
- Alam
- Pengolahan Bahasa alami
- Alam
- Arahkan
- Navigasi
- Perlu
- dibutuhkan
- New
- simpul
- buku catatan
- jumlah
- of
- Pengunjung
- sering
- on
- ONE
- terus-menerus
- hanya
- operasi
- Operasi
- dioptimalkan
- pilihan
- or
- Lainnya
- kami
- di luar
- keluaran
- di luar
- lebih
- sendiri
- pane
- parameter
- parameter
- bagian
- gairah
- Melakukan
- melakukan
- pipa saluran
- plato
- Kecerdasan Data Plato
- Data Plato
- bermain
- diisi
- positif
- Pos
- pr
- meramalkan
- sebelumnya
- sebelumnya
- harga pompa cor beton mini
- harga
- primer
- Sebelumnya
- pengolahan
- Prosesor
- profesional
- mempromosikan
- memberikan
- disediakan
- menyediakan
- Ular sanca
- kualitas
- jarak
- agak
- Mentah
- dunia nyata
- catatan
- arsip
- Merah
- menurunkan
- mengurangi
- lihat
- menghapus
- berulang-ulang
- menggantikan
- membutuhkan
- Sumber
- mengakibatkan
- dihasilkan
- kembali
- Peran
- Run
- berjalan
- berjalan
- s
- pembuat bijak
- penjualan
- penjualan
- terukur
- Skala
- menjadwalkan
- dijadwalkan
- penjadwalan
- ilmuwan
- cakupan
- SDK
- sdn
- detik
- Bagian
- aman
- melihat
- senior
- Layanan
- Pendek
- harus
- Menunjukkan
- Pertunjukkan
- penting
- Sederhana
- tunggal
- lingkungan tunggal
- So
- Perangkat lunak
- terjual
- larutan
- Solusi
- MEMECAHKAN
- sumber
- percikan
- mengkhususkan diri
- spesifikasi
- ditentukan
- Olahraga
- awal
- mulai
- startup
- Negara
- Status
- Tangga
- penyimpanan
- menyimpan
- Simpan datanya
- Tali
- kuat
- tersusun
- studio
- menyerahkan
- Kemudian
- sukses
- berhasil
- seperti itu
- cocok
- tabel
- dari
- bahwa
- Grafik
- Negara
- mereka
- Mereka
- kemudian
- Ini
- ini
- tiga
- waktu
- kali
- untuk
- terlalu
- puncak
- jalur
- Pelacakan
- Pelatihan VE
- Pelatihan
- .
- Mengubah
- Transformasi
- transformasi
- berubah
- mengubah
- perjalanan
- Tren
- tutorial
- dua
- mengetik
- jenis
- ui
- bawah
- pokok
- membuka kunci
- diperbarui
- us
- menggunakan
- gunakan case
- bekas
- menggunakan
- Berharga
- nilai
- Nilai - Nilai
- berbagai
- Kendaraan
- melalui
- View
- penglihatan
- vs
- hangat
- adalah
- we
- jaringan
- layanan web
- yang
- lebar
- Rentang luas
- akan
- dengan
- Kerja
- bekerja
- Alur kerja
- menulis
- tahun
- tahun
- Kamu
- Anda
- zephyrnet.dll