Magazinul de caracteristici Amazon SageMaker oferă o soluție end-to-end pentru automatizarea ingineriei caracteristicilor pentru învățarea automată (ML). Pentru multe cazuri de utilizare ML, datele brute, cum ar fi fișierele jurnal, citirile senzorilor sau înregistrările tranzacțiilor, trebuie transformate în caracteristici semnificative care sunt optimizate pentru formarea modelului.
Calitatea caracteristicilor este esențială pentru a asigura un model ML foarte precis. Transformarea datelor brute în caracteristici folosind agregarea, codificarea, normalizarea și alte operațiuni este adesea necesară și poate necesita un efort semnificativ. Inginerii trebuie să scrie manual preprocesarea datelor personalizate și logica de agregare în Python sau Spark pentru fiecare caz de utilizare.
Această ridicare nediferențiată de grele este greoaie, repetitivă și predispusă la erori. The SageMaker Feature Store Feature Processor reduce această sarcină prin transformarea automată a datelor brute în caracteristici agregate potrivite pentru modelele ML de formare în serie. Le permite inginerilor să ofere funcții simple de transformare a datelor, apoi se ocupă de rularea lor la scară pe Spark și de gestionarea infrastructurii de bază. Acest lucru le permite oamenilor de știință de date și inginerilor de date să se concentreze pe logica de inginerie a caracteristicilor, mai degrabă decât pe detaliile implementării.
În această postare, demonstrăm modul în care o companie de vânzări de mașini poate folosi Feature Processor pentru a transforma datele brute ale tranzacțiilor de vânzare în funcții în trei pași:
- Execuții locale de transformări de date.
- La distanță rulează la scară folosind Spark.
- Operaționalizare prin conducte.
Arătăm cum SageMaker Feature Store ingerează datele brute, execută transformări de caracteristici de la distanță folosind Spark și încarcă caracteristicile agregate rezultate într-un grup de caracteristici. Aceste caracteristici proiectate pot fi apoi utilizate pentru a antrena modele ML.
Pentru acest caz de utilizare, vedem cum SageMaker Feature Store ajută la convertirea datelor brute despre vânzările de mașini în caracteristici structurate. Aceste caracteristici sunt utilizate ulterior pentru a obține informații precum:
- Prețul mediu și maxim al cabrioletelor roșii din 2010
- Modele cu cel mai bun kilometraj față de preț
- Tendințele de vânzări ale mașinilor noi față de cele folosite de-a lungul anilor
- Diferențele de preț mediu mediu între locații
De asemenea, vedem cum pipelines SageMaker Feature Store mențin funcțiile actualizate pe măsură ce apar date noi, permițând companiei să obțină în mod continuu informații în timp.
Prezentare generală a soluțiilor
Lucrăm cu setul de date car_data.csv
, care conține specificații precum modelul, anul, starea, kilometrajul, prețul și MSRP pentru mașinile folosite și noi vândute de companie. Următoarea captură de ecran arată un exemplu al setului de date.
Caietul cu soluții feature_processor.ipynb
conține următorii pași principali, pe care îi explicăm în această postare:
- Creați două grupuri de caracteristici: unul numit
car-data
pentru recordurile de vânzări de mașini brute și un altul sunatcar-data-aggregated
pentru înregistrările agregate ale vânzărilor de mașini. - Folosește
@feature_processor
decorator pentru a încărca date în grupul de caracteristici de date auto din Serviciul Amazon de stocare simplă (Amazon S3). - Pornește
@feature_processor code
de la distanță ca aplicație Spark pentru a agrega datele. - Operaționalizați procesorul de caracteristici prin Conducte SageMaker și programul rulează.
- Explorați conductele de procesare a caracteristicilor și descendență in Amazon SageMaker Studio.
- Utilizați caracteristici agregate pentru a antrena un model ML.
Cerințe preliminare
Pentru a urma acest tutorial, aveți nevoie de următoarele:
Pentru această postare, ne referim la următoarele caiet, care demonstrează cum să începeți cu Feature Processor utilizând SDK-ul SageMaker Python.
Creați grupuri de caracteristici
Pentru a crea grupurile de caracteristici, parcurgeți următorii pași:
- Creați o definiție de grup de caracteristici pentru
car-data
după cum urmează:
Caracteristicile corespund fiecărei coloane din car_data.csv
set de date (Model
, Year
, Status
, Mileage
, Price
, și MSRP
).
- Adăugați identificatorul de înregistrare
id
și ora evenimentuluiingest_time
la grupul de caracteristici:
- Creați o definiție de grup de caracteristici pentru
car-data-aggregated
după cum urmează:
Pentru grupul de caracteristici agregate, caracteristicile sunt starea anului modelului, kilometrajul mediu, kilometrajul maxim, prețul mediu, prețul maxim, MSRP mediu, MSRP maxim și timpul de utilizare. Adăugăm identificatorul de înregistrare model_year_status
și ora evenimentului ingest_time
la acest grup de caracteristici.
- Acum, creează
car-data
grup de caracteristici:
- Creați
car-data-aggregated
grup de caracteristici:
Puteți naviga la opțiunea SageMaker Feature Store sub Date pe SageMaker Studio Acasă meniu pentru a vedea grupurile de caracteristici.
Utilizați decoratorul @feature_processor pentru a încărca date
În această secțiune, transformăm local datele brute de intrare (car_data.csv
) de la Amazon S3 în car-data
grup de caracteristici utilizând Feature Store Feature Processor. Această rulare locală inițială ne permite să dezvoltăm și să repetăm înainte de a rula de la distanță și ar putea fi efectuată pe un eșantion de date, dacă se dorește, pentru o iterație mai rapidă.
Cu @feature_processor
Decorator, funcția dvs. de transformare rulează într-un mediu de execuție Spark în care argumentele de intrare furnizate funcției dvs. și valoarea returnată a acesteia sunt Spark DataFrames.
- instalaţi SDK pentru procesor de caracteristici de la SageMaker Python SDK și extrasele sale folosind următoarea comandă:
Numărul de parametri de intrare din funcția dvs. de transformare trebuie să se potrivească cu numărul de intrări configurate în @feature_processor
decorator. În acest caz, @feature_processor
decoratorul are car-data.csv
ca intrare și car-data
grup de caracteristici ca ieșire, indicând că aceasta este o operațiune în lot cu target_store
as OfflineStore
:
- Definiți
transform()
funcția de transformare a datelor. Această funcție efectuează următoarele acțiuni:- Convertiți numele coloanelor în minuscule.
- Adăugați ora evenimentului la
ingest_time
coloana. - Eliminați semnele de punctuație și înlocuiți valorile lipsă cu NA.
- Suna
transform()
funcția de stocare a datelor încar-data
grup de caracteristici:
Rezultatul arată că datele sunt ingerate cu succes în grupul de caracteristici de date auto.
Ieșirea fișierului transform_df.show()
functia este urmatoarea:
Am transformat cu succes datele de intrare și le-am ingerat în car-data
grup de caracteristici.
Rulați codul @feature_processor de la distanță
În această secțiune, demonstrăm rularea codului de procesare a caracteristicilor de la distanță ca o aplicație Spark folosind @remote
decorator descris mai devreme. Rulem funcția de procesare de la distanță folosind Spark pentru a scala seturi mari de date. Spark oferă procesare distribuită pe clustere pentru a gestiona date prea mari pentru o singură mașină. The @remote
decorator rulează codul Python local ca un job de instruire SageMaker cu un singur nod sau cu mai multe noduri.
- Folosește
@remote
decorator împreună cu@feature_processor
decorator după cum urmează:
spark_config
parametrul indică că acesta este rulat ca a Spark application
. Instanța SparkConfig configurează configurația și dependențele Spark.
- Definiți
aggregate()
funcția de agregare a datelor utilizând PySpark SQL și funcții definite de utilizator (UDF). Această funcție efectuează următoarele acțiuni:- Înlănţui
model
,year
, șistatus
pentru a creamodel_year_status
. - Luați media de
price
pentru a creaavg_price
. - Luați valoarea maximă a
price
pentru a creamax_price
. - Luați media de
mileage
pentru a creaavg_mileage
. - Luați valoarea maximă a
mileage
pentru a creamax_mileage
. - Luați media de
msrp
pentru a creaavg_msrp
. - Luați valoarea maximă a
msrp
pentru a creamax_msrp
. - A se grupa cu
model_year_status
.
- Înlănţui
- Pornește
aggregate()
funcția, care creează un job de instruire SageMaker pentru a rula aplicația Spark:
Ca rezultat, SageMaker creează un job de instruire pentru aplicația Spark definită mai devreme. Acesta va crea un mediu de rulare Spark folosind sagemaker-spark-processing image
.
Folosim joburi SageMaker Training aici pentru a rula aplicația noastră de procesare a caracteristicilor Spark. Cu SageMaker Training, puteți reduce timpii de pornire la 1 minut sau mai puțin utilizând gruparea la cald, care nu este disponibilă în SageMaker Processing. Acest lucru face ca SageMaker Training să fie mai bine optimizat pentru lucrări în loturi scurte, cum ar fi procesarea caracteristicilor, unde timpul de pornire este important.
- Pentru a vizualiza detaliile, pe consola SageMaker, alegeți Locuri de muncă de formare în Pregătire în panoul de navigare, apoi alegeți jobul cu numele
aggregate-<timestamp>
.
Ieșirea fișierului agregat() funcția generează cod de telemetrie. În interiorul rezultatului, veți vedea datele agregate după cum urmează:
Când munca de formare este finalizată, ar trebui să vedeți următoarele rezultate:
Operaționalizați procesorul de caracteristici prin conducte SageMaker
În această secțiune, demonstrăm cum să operaționalizați procesorul de caracteristici prin promovarea acestuia într-o conductă SageMaker și programând rulări.
- Mai întâi, încărcați transform_code.py fișier care conține logica de procesare a caracteristicilor către Amazon S3:
- Apoi, creați o conductă de procesor de caracteristici car_data_pipeline folosind .to_pipeline() funcţie:
- Pentru a rula conducta, utilizați următorul cod:
- În mod similar, puteți crea o conductă pentru caracteristicile agregate numite
car_data_aggregated_pipeline
și începe o alergare. - Programează
car_data_aggregated_pipeline
să ruleze la fiecare 24 de ore:
În secțiunea de ieșire, veți vedea ARN-ul conductei și rolul de execuție al conductei, precum și detaliile programului:
- Pentru a obține toate conductele Procesor de caracteristici din acest cont, utilizați
list_pipelines()
funcția pe procesorul de caracteristici:
Ieșirea va fi după cum urmează:
Am creat cu succes pipeline SageMaker Feature Processor.
Explorați conductele de procesare a caracteristicilor și descendența ML
În SageMaker Studio, parcurgeți următorii pași:
- Pe consola SageMaker Studio, pe Acasă meniu, alegeți Conducte.
Ar trebui să vedeți două conducte create: car-data-ingestion-pipeline
și car-data-aggregated-ingestion-pipeline
.
- Alege
car-data-ingestion-pipeline
.
Afișează detaliile rulării pe Execuții tab.
- Pentru a vedea grupul de caracteristici populat de conductă, alegeți Magazin de funcții în Date Și alegeți
car-data
.
Veți vedea cele două grupuri de caracteristici pe care le-am creat în pașii anteriori.
- Alege
car-data
grup de caracteristici.
Veți vedea detaliile caracteristicilor pe DESCRIERE tab.
Vedeți cursele conductei
Pentru a vedea rulajele conductei, parcurgeți următorii pași:
- Pe Execuția conducteifila s, selectați
car-data-ingestion-pipeline
.
Aceasta va afișa toate alergările.
- Alegeți unul dintre linkuri pentru a vedea detaliile cursei.
- Pentru a vedea descendența, alegeți descendență.
Genealogia completă pentru car-data
arată sursa datelor de intrare car_data.csv
și entități din amonte. Genealogia pentru car-data-aggregated
arată intrarea car-data
grup de caracteristici.
- Alege Încărcați caracteristici și apoi alegeți Interogați descendența în amonte on
car-data
șicar-data-ingestion-pipeline
pentru a vedea toate entitățile din amonte.
Genealogia completă pentru car-data
grupul de caracteristici ar trebui să arate ca următoarea captură de ecran.
În mod similar, descendența pentru car-aggregated-data
grupul de caracteristici ar trebui să arate ca următoarea captură de ecran.
SageMaker Studio oferă un singur mediu pentru a urmări conductele programate, a vizualiza rulările, a explora descendența și a vizualiza codul de procesare a caracteristicilor.
Caracteristicile agregate, cum ar fi prețul mediu, prețul maxim, kilometrajul mediu și multe altele în car-data-aggregated
grupul de caracteristici oferă o perspectivă asupra naturii datelor. De asemenea, puteți utiliza aceste funcții ca set de date pentru a antrena un model pentru a prezice prețurile mașinilor sau pentru alte operațiuni. Cu toate acestea, instruirea modelului nu este în domeniul de aplicare pentru această postare, care se concentrează pe demonstrarea capabilităților Magazinului de caracteristici SageMaker pentru inginerie de caracteristici.
A curăța
Nu uitați să curățați resursele create ca parte a acestei postări pentru a evita costurile curente.
- Dezactivați conducta programată prin intermediul
fp.schedule()
metoda cu parametrul de stare caDisabled
:
- Ștergeți ambele grupuri de caracteristici:
Datele care se află în compartimentul S3 și în magazinul de funcții offline pot genera costuri, așa că ar trebui să le ștergeți pentru a evita orice taxe.
- Ștergeți obiectele S3.
- Ștergeți înregistrările din magazinul de caracteristici.
Concluzie
În această postare, am demonstrat cum o companie de vânzări de mașini a folosit SageMaker Feature Store Feature Processor pentru a obține informații valoroase din datele sale brute de vânzări prin:
- Ingerarea și transformarea datelor de lot la scară folosind Spark
- Operaționalizarea fluxurilor de lucru de inginerie a caracteristicilor prin conducte SageMaker
- Furnizarea de urmărire a descendenței și un mediu unic pentru a monitoriza conductele și a explora funcții
- Pregătirea funcțiilor agregate optimizate pentru antrenarea modelelor ML
Urmând acești pași, compania a reușit să transforme date inutilizabile anterior în caracteristici structurate care ar putea fi apoi folosite pentru a antrena un model care să prezică prețurile mașinilor. SageMaker Feature Store le-a permis să se concentreze mai degrabă pe ingineria caracteristicilor decât pe infrastructura de bază.
Sperăm că această postare vă va ajuta să deblocați informații valoroase ML din propriile date folosind Procesorul de caracteristici SageMaker Feature Store!
Pentru mai multe informații despre aceasta, consultați Procesarea caracteristicilor și exemplul SageMaker pe Magazin de funcții Amazon SageMaker: Introducere procesor de caracteristici.
Despre Autori
Dhaval Shah este arhitect senior de soluții la AWS, specializat în Machine Learning. Cu un accent puternic pe afacerile native digitale, el dă putere clienților să folosească AWS și să le impulsioneze creșterea afacerii. În calitate de pasionat de ML, Dhaval este condus de pasiunea sa pentru crearea de soluții de impact care aduc schimbări pozitive. În timpul liber, se complace în dragostea lui pentru călătorii și prețuiește momente de calitate alături de familie.
Ninad Joshi este arhitect senior de soluții la AWS, ajutând clienții globali AWS să proiecteze soluții sigure, scalabile și rentabile în cloud pentru a-și rezolva provocările complexe de afaceri din lumea reală. Activitatea sa în Machine Learning (ML) acoperă o gamă largă de cazuri de utilizare AI/ML, cu un accent principal pe ML end-to-end, procesarea limbajului natural și viziunea pe computer. Înainte de a se alătura AWS, Ninad a lucrat ca dezvoltator de software timp de peste 12 ani. În afara eforturilor sale profesionale, lui Ninad îi place să joace șah și să exploreze diferite gambit-uri.
- Distribuție de conținut bazat pe SEO și PR. Amplifică-te astăzi.
- PlatoData.Network Vertical Generative Ai. Împuterniciți-vă. Accesați Aici.
- PlatoAiStream. Web3 Intelligence. Cunoștințe amplificate. Accesați Aici.
- PlatoESG. carbon, CleanTech, Energie, Mediu inconjurator, Solar, Managementul deșeurilor. Accesați Aici.
- PlatoHealth. Biotehnologie și Inteligență pentru studii clinice. Accesați Aici.
- Sursa: https://aws.amazon.com/blogs/machine-learning/unlock-ml-insights-using-the-amazon-sagemaker-feature-store-feature-processor/
- :are
- :este
- :nu
- :Unde
- $UP
- 1
- 10
- 100
- 11
- 116
- 12
- 13
- 14
- 15%
- 16
- 20
- 24
- 26%
- 40
- 7
- 8
- 9
- a
- Capabil
- Cont
- precis
- peste
- acțiuni
- adăuga
- agregat
- agregare
- AI / ML
- TOATE
- permite
- de-a lungul
- de asemenea
- Amazon
- Amazon SageMaker
- Amazon Web Services
- an
- și
- O alta
- Orice
- aplicație
- SUNT
- argumente
- AS
- At
- automatizarea
- în mod automat
- disponibil
- in medie
- evita
- AWS
- de bază
- BE
- înainte
- CEL MAI BUN
- Mai bine
- Mare
- atât
- aduce
- povară
- afaceri
- întreprinderi
- by
- denumit
- CAN
- capacități
- mașină
- masini
- caz
- cazuri
- provocări
- Schimbare
- taxe
- Şah
- Alege
- Cloud
- cod
- Coloană
- Coloane
- vine
- companie
- Completă
- complex
- calculator
- Computer Vision
- Configuraţie
- configurat
- Consoleze
- conține
- continuu
- converti
- A costat
- Cheltuieli
- ar putea
- Covers
- crea
- a creat
- creează
- Crearea
- critic
- greoaie
- personalizat
- clienţii care
- de date
- seturi de date
- definit
- definiție
- demonstra
- demonstrat
- demonstrează
- demonstrând
- dependențe
- descris
- descriere
- Amenajări
- dorit
- detalii
- dezvolta
- Dezvoltator
- diferit
- digital
- invalid
- afișarea
- distribuite
- făcut
- conduce
- condus
- fiecare
- Mai devreme
- Eficace
- efort
- imputerniceste
- activat
- permite
- permițând
- un capăt la altul
- eforturi
- Inginerie
- inginerii
- asigura
- entuziast
- entități
- Mediu inconjurator
- eveniment
- Fiecare
- exemplu
- a executa
- execuție
- Părăsirea
- Explica
- explora
- Explorarea
- familie
- mai repede
- Caracteristică
- DESCRIERE
- Fișier
- Fişiere
- Concentra
- se concentrează
- urma
- următor
- urmează
- Pentru
- fracționar
- din
- Complet
- funcţie
- funcții
- Câştig
- generează
- obține
- Caritate
- grup
- Grupului
- Creștere
- manipula
- Mânere
- Avea
- he
- anteturile
- greu
- ridicare de greutati
- ajutor
- ajută
- aici
- subliniind
- extrem de
- lui
- Acasă
- speranţă
- ORE
- Cum
- Cum Pentru a
- Totuși
- HTML
- HTTPS
- ID
- identificator
- if
- imagine
- impactant
- implementarea
- import
- important
- in
- Inclusiv
- indică
- info
- informații
- Infrastructură
- inițială
- intrare
- intrări
- în interiorul
- înţelegere
- perspective
- instala
- instanță
- în
- IT
- repetare
- ESTE
- Loc de munca
- Locuri de munca
- aderarea
- jpg
- A pastra
- limbă
- mare
- învăţare
- mai puțin
- Permite
- Pârghie
- ridicare
- ca
- descendență
- Link-uri
- Listă
- încărca
- loturile
- local
- la nivel local
- log
- logică
- Uite
- arată ca
- dragoste
- maşină
- masina de învățare
- Principal
- FACE
- de conducere
- manual
- multe
- Meci
- max
- maxim
- mdx
- semnificativ
- Meniu
- metodă
- minut
- dispărut
- ML
- model
- Modele
- Momente
- monitor
- mai mult
- trebuie sa
- nume
- nume
- nativ
- Natural
- Procesarea limbajului natural
- Natură
- Navigaţi
- Navigare
- Nevoie
- necesar
- Nou
- nod
- caiet
- număr
- of
- Offline
- de multe ori
- on
- ONE
- în curs de desfășurare
- afară
- operaţie
- Operațiuni
- optimizate
- Opțiune
- or
- Altele
- al nostru
- afară
- producție
- exterior
- peste
- propriu
- pâine
- parametru
- parametrii
- parte
- pasiune
- Efectua
- efectuează
- conducte
- Plato
- Informații despre date Platon
- PlatoData
- joc
- populat
- pozitiv
- Post
- pr
- prezice
- precedent
- în prealabil
- preţ
- Prețuri
- primar
- anterior
- prelucrare
- procesor
- profesional
- Promovarea
- furniza
- prevăzut
- furnizează
- Piton
- calitate
- gamă
- mai degraba
- Crud
- lumea reală
- record
- înregistrări
- Roșu
- reduce
- reduce
- trimite
- scoate
- repetitiv
- înlocui
- necesita
- Resurse
- rezultat
- rezultând
- reveni
- Rol
- Alerga
- funcţionare
- ruleaza
- s
- sagemaker
- sare
- de vânzări
- scalabil
- Scară
- programa
- programată
- programare
- oamenii de stiinta
- domeniu
- sdk
- sdn
- secunde
- Secțiune
- sigur
- vedea
- senior
- Servicii
- Pantaloni scurți
- să
- Arăta
- Emisiuni
- semnificativ
- simplu
- singur
- mediu unic
- So
- Software
- vândut
- soluţie
- soluţii
- REZOLVAREA
- Sursă
- Scânteie
- specializata
- Specificaţii
- specificată
- sportiv
- Începe
- început
- lansare
- Stat
- Stare
- paşi
- depozitare
- stoca
- Stocați datele
- Şir
- puternic
- structurat
- studio
- prezenta
- Ulterior
- de succes
- Reușit
- astfel de
- potrivit
- tabel
- decât
- acea
- Statul
- lor
- Lor
- apoi
- Acestea
- acest
- trei
- timp
- ori
- la
- de asemenea
- top
- urmări
- Urmărire
- Tren
- Pregătire
- tranzacție
- Transforma
- Transformare
- transformări
- transformat
- transformare
- călătorie
- Tendinţe
- tutorial
- Două
- tip
- Tipuri
- ui
- în
- care stau la baza
- deschide
- actualizat
- us
- utilizare
- carcasa de utilizare
- utilizat
- folosind
- Valoros
- valoare
- Valori
- diverse
- Vehicule
- de
- Vizualizare
- viziune
- vs
- cald
- a fost
- we
- web
- servicii web
- care
- larg
- Gamă largă
- voi
- cu
- Apartamente
- a lucrat
- fluxuri de lucru
- scrie
- an
- ani
- Tu
- Ta
- zephyrnet