„În loc să se concentreze pe cod, companiile ar trebui să se concentreze pe dezvoltarea unor practici sistematice de inginerie pentru îmbunătățirea datelor în moduri care sunt fiabile, eficiente și sistematice. Cu alte cuvinte, companiile trebuie să treacă de la o abordare centrată pe model la o abordare centrată pe date.” – Andrew Ng
O abordare AI centrată pe date implică construirea de sisteme AI cu date de calitate care implică pregătirea datelor și ingineria caracteristicilor. Aceasta poate fi o sarcină obositoare care implică colectarea datelor, descoperirea, crearea de profiluri, curățarea, structurarea, transformarea, îmbogățirea, validarea și stocarea în siguranță a datelor.
Amazon SageMaker Data Wrangler este un serviciu în Amazon SageMaker Studio care oferă o soluție end-to-end pentru importarea, pregătirea, transformarea, prezentarea și analiza datelor folosind puțină sau deloc codificare. Puteți integra un flux de pregătire a datelor Data Wrangler în fluxurile de lucru de învățare automată (ML) pentru a simplifica preprocesarea datelor și ingineria caracteristicilor, ducând pregătirea datelor în producție mai rapid, fără a fi nevoie să creați codul PySpark, să instalați Apache Spark sau să creați clustere.
Pentru scenariile în care trebuie să adăugați propriile scripturi personalizate pentru transformările de date, puteți scrie logica de transformare în Pandas, PySpark, PySpark SQL. Data Wrangler acceptă acum bibliotecile NLTK și SciPy pentru crearea de transformări personalizate pentru a pregăti date text pentru ML și pentru a realiza optimizarea constrângerilor.
S-ar putea să întâlniți scenarii în care trebuie să adăugați propriile scripturi personalizate pentru transformarea datelor. Cu capacitatea de transformare personalizată Data Wrangler, vă puteți scrie logica de transformare în Pandas, PySpark, PySpark SQL.
În această postare, discutăm cum vă puteți scrie transformarea personalizată în NLTK pentru a pregăti date text pentru ML. De asemenea, vom împărtăși câteva exemple de transformare a codului personalizat folosind alte cadre comune, cum ar fi NLTK, NumPy, SciPy și scikit-learn, precum și AWS AI Services. În scopul acestui exercițiu, folosim Setul de date Titanic, un set de date popular în comunitatea ML, care a fost acum adăugat ca a set de date eșantion în cadrul Data Wrangler.
Prezentare generală a soluțiilor
Data Wrangler oferă peste 40 de conectori încorporați pentru importarea datelor. După ce datele sunt importate, vă puteți construi analiza și transformările datelor folosind peste 300 de transformări încorporate. Puteți genera apoi conducte industrializate pentru a împinge caracteristicile Serviciul Amazon de stocare simplă (Amazon S3) sau Magazinul de caracteristici Amazon SageMaker. Următoarea diagramă arată arhitectura de nivel înalt de la capăt la capăt.
Cerințe preliminare
Data Wrangler este o caracteristică SageMaker disponibilă în interior Amazon SageMaker Studio. Puteți urmări procesul de înscriere la Studio pentru a dezvolta mediul Studio și notebook-uri. Deși puteți alege dintre câteva metode de autentificare, cel mai simplu mod de a crea un domeniu Studio este să urmați Instrucțiuni de pornire rapidă. Pornirea rapidă utilizează aceleași setări implicite ca și configurația standard Studio. De asemenea, puteți alege să vă îmbarcați folosind Centrul de identitate AWS IAM (succesorul AWS Single Sign-On) pentru autentificare (consultați Accesați domeniul Amazon SageMaker folosind IAM Identity Center).
Importați setul de date Titanic
Porniți mediul Studio și creați unul nou Fluxul de date Wrangler. Puteți fie să importați propriul set de date, fie să utilizați un exemplu de set de date (Titanic), așa cum se arată în următoarea captură de ecran. Data Wrangler vă permite să importați seturi de date din diferite surse de date. Pentru cazul nostru de utilizare, importăm setul de date eșantion dintr-o găleată S3.
Odată importat, veți vedea două noduri (nodul sursă și nodul tip de date) în fluxul de date. Data Wrangler identifică automat tipul de date pentru toate coloanele din setul de date.
Transformări personalizate cu NLTK
Pentru pregătirea datelor și ingineria caracteristicilor cu Data Wrangler, puteți utiliza peste 300 de transformări încorporate sau puteți construi propriile transformări personalizate. Transformări personalizate poate fi scris ca pași separati în Data Wrangler. Acestea devin parte din fișierul .flow din Data Wrangler. Funcția de transformare personalizată acceptă Python, PySpark și SQL ca pași diferiți în fragmente de cod. După ce fișierele notebook (.ipynb) sunt generate din fișierul .flow sau fișierul .flow este utilizat ca rețete, fragmentele de cod de transformare personalizate persistă fără a necesita modificări. Acest design al Data Wrangler permite transformărilor personalizate să devină parte dintr-o lucrare de procesare SageMaker pentru procesarea seturi de date masive cu transformări personalizate.
Setul de date Titanic are câteva caracteristici (nume și home.dest) care conțin informații text. Folosim NLTK pentru a împărți coloana de nume și a extrage numele de familie și a tipări frecvența numelor de familie. NLTK este o platformă de top pentru construirea de programe Python pentru a lucra cu date din limbajul uman. Oferă interfețe ușor de utilizat pentru peste 50 de corpus și resurse lexicale cum ar fi WordNet, împreună cu o suită de biblioteci de procesare a textului pentru clasificare, tokenizare, stemming, etichetare, parsare și raționament semantic, și wrapper-uri pentru biblioteci de procesare a limbajului natural (NLP) cu putere industrială.
Pentru a adăuga o nouă transformare, parcurgeți următorii pași:
- Alegeți semnul plus și alegeți Adăugați Transform.
- Alege Adăugați Pasul Și alegeți Transformare personalizată.
Puteți crea o transformare personalizată folosind Pandas, PySpark, funcții Python definite de utilizator și SQL PySpark.
- Alege Python (Panda) și adăugați următorul cod pentru a extrage numele de familie din coloana nume:
- Alege Anunţ pentru a revizui rezultatele.
Următoarea captură de ecran arată ecranul last_name
coloană extrasă.
- Adăugați un alt pas de transformare personalizat pentru a identifica distribuția de frecvență a numelor de familie, folosind următorul cod:
- Alege Anunţ pentru a revizui rezultatele frecvenței.
Transformări personalizate cu servicii AWS AI
Serviciile AI pregătite de AWS oferă informații gata făcute pentru aplicațiile și fluxurile dvs. de lucru. Serviciile AWS AI se integrează cu ușurință cu aplicațiile dvs. pentru a aborda multe cazuri de utilizare obișnuite. Acum puteți utiliza capabilitățile pentru serviciile AWS AI ca pas de transformare personalizată în Data Wrangler.
Amazon Comprehend folosește NLP pentru a extrage informații despre conținutul documentelor. Ea dezvoltă perspective prin recunoașterea entităților, expresiilor cheie, limbajului, sentimentelor și a altor elemente comune dintr-un document.
Folosim Amazon Comprehend pentru a extrage entitățile din coloana de nume. Parcurgeți următorii pași:
- Adăugați un pas de transformare personalizat.
- Alege Python (Panda).
- Introduceți următorul cod pentru a extrage entitățile:
- Alege Anunţ și vizualizați rezultatele.
Acum am adăugat trei transformări personalizate în Data Wrangler.
- Alege Flux de date pentru a vizualiza fluxul de date de la capăt la capăt.
Transformări personalizate cu NumPy și SciPy
NumPy este o bibliotecă open-source pentru Python care oferă funcții matematice cuprinzătoare, generatoare de numere aleatorii, rutine de algebră liniară, transformări Fourier și multe altele. SciPy este o bibliotecă Python cu sursă deschisă folosită pentru calcul științific și pentru calcul tehnic, care conține module pentru optimizare, algebră liniară, integrare, interpolare, funcții speciale, transformată Fourier rapidă (FFT), procesare a semnalului și a imaginii, rezolutori și multe altele.
Transformările personalizate ale Data Wrangler vă permit să combinați Python, PySpark și SQL ca pași diferiți. În următorul flux de date Wrangler, diferite funcții din pachetele Python, NumPy și SciPy sunt aplicate pe setul de date Titanic în mai mulți pași.
Transformări NumPy
Coloana de tarife a setului de date Titanic conține tarife de îmbarcare ale diferiților pasageri. Histograma coloanei de tarif arată o distribuție uniformă, cu excepția ultimului bin. Aplicând transformări NumPy, cum ar fi log sau rădăcină pătrată, putem schimba distribuția (după cum arată transformarea rădăcinii pătrate).
Consultați următorul cod:
Transformări SciPy
Funcțiile SciPy precum z-score sunt aplicate ca parte a transformării personalizate pentru a standardiza distribuția tarifelor cu medie și abatere standard.
Consultați următorul cod:
Optimizarea constrângerilor cu NumPy și SciPy
Transformările personalizate ale Data Wrangler pot gestiona transformări avansate, cum ar fi optimizarea constrângerilor, aplicarea funcțiilor de optimizare SciPy și combinarea SciPy cu NumPy. În exemplul următor, tariful în funcție de vârstă nu arată nicio tendință observabilă. Cu toate acestea, optimizarea constrângerilor poate transforma tariful în funcție de vârstă. Condiția de constrângere în acest caz este ca noul tarif total să rămână același cu vechiul tarif total. Transformările personalizate ale Data Wrangler vă permit să rulați funcția de optimizare SciPy pentru a determina coeficientul optim care poate transforma tariful în funcție de vârstă în condiții de constrângere.
Definiția optimizării, definiția obiectivului și constrângerile multiple pot fi menționate ca funcții diferite în timp ce se formulează optimizarea constrângerilor într-o transformare personalizată Data Wrangler folosind SciPy și NumPy. Transformările personalizate pot aduce, de asemenea, diferite metode de rezolvare care sunt disponibile ca parte a pachetului de optimizare SciPy. O nouă variabilă transformată poate fi generată prin înmulțirea coeficientului optim cu coloana originală și adăugată la coloanele existente ale Data Wrangler. Vezi următorul cod:
Caracteristica de transformare personalizată Data Wrangler are capacitatea de a afișa rezultatele funcțiilor de optimizare SciPy, cum ar fi valoarea coeficientului optim (sau coeficienții multipli).
Transformări personalizate cu scikit-learn
scikit-learn este un modul Python pentru învățarea automată, construit pe baza SciPy. Este o bibliotecă ML open-source care acceptă învățarea supravegheată și nesupravegheată. De asemenea, oferă diverse instrumente pentru adaptarea modelului, preprocesarea datelor, selecția modelului, evaluarea modelului și multe alte utilități.
Discretizarea
Discretizarea (altfel cunoscut ca cuantizare or binning) oferă o modalitate de a împărți caracteristicile continue în valori discrete. Anumite seturi de date cu caracteristici continue pot beneficia de discretizare, deoarece discretizarea poate transforma setul de date de atribute continue într-unul cu doar atribute nominale. Caracteristicile discretizate one-hot codificate pot face un model mai expresiv, menținând în același timp interpretabilitatea. De exemplu, preprocesarea cu un discretizator poate introduce neliniaritatea modelelor liniare.
În următorul cod, folosim KBinsDiscretizer
pentru a discretiza coloana de vârstă în 10 casete:
Puteți vedea marginile coșului tipărite în următoarea captură de ecran.
Codificare one-hot
Valorile din coloanele Imbarcate sunt valori categorice. Prin urmare, trebuie să reprezentăm aceste șiruri ca valori numerice pentru a realiza clasificarea noastră cu modelul nostru. De asemenea, am putea face acest lucru folosind o transformare de codificare one-hot.
Există trei valori pentru Embarked: S, C și Q. Acestea le reprezentăm cu numere. Vezi următorul cod:
A curăța
Când nu utilizați Data Wrangler, este important să închideți instanța pe care rulează pentru a evita costurile suplimentare.
Data Wrangler salvează automat fluxul de date la fiecare 60 de secunde. Pentru a evita pierderea muncii, salvați fluxul de date înainte de a închide Data Wrangler.
- Pentru a salva fluxul de date în Studio, alegeți Fișier, Apoi alegeți Salvați fluxul de date Wrangler.
- Pentru a închide instanța Data Wrangler, în Studio, alegeți Rularea instanțelor și a nucleelor.
- În RULEAȚI APLICAȚII, alegeți pictograma de închidere de lângă aplicația sagemaker-data-wrangler-1.0.
- Alege Închideți totul a confirma.
Data Wrangler rulează pe o instanță ml.m5.4xlarge. Această instanță dispare din INSTANȚE DE RELARE când închideți aplicația Data Wrangler.
După ce închideți aplicația Data Wrangler, aceasta trebuie să repornească data viitoare când deschideți un fișier de flux Data Wrangler. Acest lucru poate dura câteva minute.
Concluzie
În această postare, am demonstrat cum puteți utiliza transformări personalizate în Data Wrangler. Am folosit bibliotecile și cadrul din containerul Data Wrangler pentru a extinde capacitățile de transformare a datelor încorporate. Exemplele din această postare reprezintă un subset al cadrelor utilizate. Transformările din fluxul Data Wrangler pot fi acum scalate la o conductă pentru DataOps.
Pentru a afla mai multe despre utilizarea fluxurilor de date cu Data Wrangler, consultați Creați și utilizați un flux de date Wrangler și Prețuri Amazon SageMaker. Pentru a începe cu Data Wrangler, consultați Pregătiți datele ML cu Amazon SageMaker Data Wrangler. Pentru a afla mai multe despre Autopilot și AutoML pe SageMaker, vizitați Automatizați dezvoltarea modelului cu Amazon SageMaker Autopilot.
Despre autori
Meenakshisundaram Thandavarayan este un specialist senior AI/ML cu AWS. El ajută conturile strategice de înaltă tehnologie în călătoria lor AI și ML. Este foarte pasionat de IA bazată pe date.
Sovik Kumar Nath este un arhitect de soluții AI/ML cu AWS. Are o vastă experiență în proiecte și soluții end-to-end pentru învățarea automată; analiză de afaceri în cadrul analizei financiare, operaționale și de marketing; sănătate; lanț de aprovizionare; și IoT. În afara serviciului, lui Sovik îi place să călătorească și să se uite la filme.
Subretă este inginer de dezvoltare software la Amazon SageMaker. Este pasionată de a ajuta clienții să își pregătească datele în DataWrangler și să construiască sisteme de învățare automată distribuite. În timpul ei liber, lui Abigail îi place să călătorească, să facă drumeții, să schieze și să gătească.
- Distribuție de conținut bazat pe SEO și PR. Amplifică-te astăzi.
- Platoblockchain. Web3 Metaverse Intelligence. Cunoștințe amplificate. Accesați Aici.
- Mintând viitorul cu Adryenn Ashley. Accesați Aici.
- Sursa: https://aws.amazon.com/blogs/machine-learning/authoring-custom-transformations-in-amazon-sagemaker-data-wrangler-using-nltk-and-scipy/
- :are
- :este
- $UP
- 1
- 10
- 100
- 7
- 8
- 9
- a
- Despre Noi
- Conturi
- adăugat
- Suplimentar
- adresa
- avansat
- După
- Evul
- AI
- Servicii AI
- AI / ML
- TOATE
- permite
- de-a lungul
- Cu toate ca
- Amazon
- Amazon Comprehend
- Amazon SageMaker
- Amazon SageMaker Data Wrangler
- analiză
- Google Analytics
- analiza
- și
- Andrew
- O alta
- Orice
- Apache
- aplicaţia
- aplicatii
- aplicat
- Aplicarea
- abordare
- arhitectură
- SUNT
- AS
- At
- atribute
- Autentificare
- autor
- autor
- în mod automat
- AutoML
- disponibil
- AWS
- BE
- deoarece
- deveni
- fost
- înainte
- beneficia
- BIN
- îmbarcare
- aduce
- construi
- Clădire
- construit
- construit-in
- afaceri
- by
- CAN
- capacități
- caz
- cazuri
- sigur
- lanţ
- Schimbare
- Modificări
- Alege
- clasificare
- cod
- Codificare
- colectare
- Coloană
- Coloane
- combina
- combinând
- Comun
- comunitate
- Companii
- Completă
- înţelege
- cuprinzător
- tehnica de calcul
- condiție
- Condiții
- Confirma
- Contra
- constrângeri
- conţine
- Recipient
- conţinut
- continuu
- ar putea
- Cuplu
- crea
- personalizat
- clienţii care
- de date
- analiza datelor
- Pregătirea datelor
- Pe bază de date
- seturi de date
- Mod implicit
- demonstrat
- Amenajări
- modele
- Determina
- în curs de dezvoltare
- Dezvoltare
- dezvoltă
- deviere
- diferit
- descoperire
- discuta
- distribuite
- distribuire
- document
- documente
- Nu
- domeniu
- jos
- cu ușurință
- ușor de folosit
- eficient
- oricare
- element
- un capăt la altul
- inginer
- Inginerie
- îmbogățitor
- entități
- entitate
- Mediu inconjurator
- evaluare
- Fiecare
- exemplu
- exemple
- Cu excepția
- Exercita
- existent
- experienţă
- expresiv
- extinde
- extensiv
- Experiență vastă
- extrage
- FAST
- mai repede
- Caracteristică
- DESCRIERE
- Taxe
- puțini
- Fișier
- Fişiere
- financiar
- montaj
- debit
- fluxurilor
- Concentra
- concentrându-se
- urma
- următor
- Pentru
- formulând
- Cadru
- cadre
- Gratuit
- Frecvență
- din
- distracţie
- funcţie
- funcții
- genera
- generată
- Generatoare
- obține
- manipula
- Avea
- he
- de asistență medicală
- ajutor
- ajută
- hi-tech
- la nivel înalt
- Acasă
- Cum
- Totuși
- HTML
- http
- HTTPS
- uman
- ICON
- identifică
- identifica
- Identitate
- imagine
- import
- important
- importatoare
- îmbunătățirea
- in
- În altele
- informații
- perspective
- instala
- instanță
- integra
- integrare
- Inteligență
- interfeţe
- introduce
- IoT
- IT
- Loc de munca
- călătorie
- jpg
- Cheie
- cunoscut
- limbă
- Nume
- conducere
- AFLAȚI
- învăţare
- biblioteci
- Bibliotecă
- ca
- mic
- care pierde
- maşină
- masina de învățare
- Mentine
- face
- multe
- Marketing
- masiv
- matematic
- Mai..
- menționat
- Metode
- ar putea
- minute
- ML
- model
- Modele
- Module
- Module
- mai mult
- muta
- Filme
- multiplu
- multiplicându-se
- nume
- nume
- Natural
- Procesarea limbajului natural
- Nevoie
- Nou
- următor
- nlp
- nod
- noduri
- caiet
- număr
- numere
- NumPy
- obiectiv
- of
- oferind
- Vechi
- on
- bord
- La imbarcare
- ONE
- deschide
- open-source
- operațional
- optimă
- optimizare
- Optimizați
- comandă
- original
- Altele
- in caz contrar
- al nostru
- exterior
- peste
- propriu
- pachet
- ofertele
- panda
- parte
- pasionat
- Efectua
- Expresii
- conducte
- platformă
- Plato
- Informații despre date Platon
- PlatoData
- la care se adauga
- Popular
- Post
- practicile
- Pregăti
- prelucrare
- producere
- profilare
- Programe
- furniza
- furnizează
- scop
- Împinge
- Piton
- calitate
- Rapid
- aleator
- Crud
- de încredere
- rămășițe
- reprezenta
- răspuns
- REZULTATE
- reveni
- revizuiască
- rădăcină
- Alerga
- s
- sagemaker
- acelaşi
- Exemplu de set de date
- Economisiți
- scenarii
- ştiinţific
- scikit-learn
- script-uri
- secunde
- în siguranță,
- selecţie
- senior
- distinct
- serviciu
- Servicii
- setări
- configurarea
- Distribuie
- să
- Arăta
- indicat
- Emisiuni
- Închide
- închidere
- semna
- Semnal
- simplu
- simplifica
- singur
- Software
- de dezvoltare de software
- soluţie
- soluţii
- unele
- Sursă
- Surse
- Scânteie
- special
- specialist
- Rotire
- împărţi
- pătrat
- standard
- Începe
- început
- Statistici
- Pas
- paşi
- depozitare
- stocarea
- Strategic
- structurarea
- studio
- astfel de
- suită
- livra
- lanțului de aprovizionare
- Sprijină
- sisteme
- tabel
- Lua
- luare
- Sarcină
- Tehnic
- acea
- Sursa
- lor
- prin urmare
- Acestea
- trei
- timp
- la
- semn
- tokenizarea
- indicativele
- Unelte
- top
- Total
- Transforma
- Transformare
- transformări
- transformat
- transformare
- Traveling
- tendință
- ui
- în
- utilizare
- carcasa de utilizare
- utilizat
- utilitati
- valoare
- Valori
- diverse
- Vizita
- vizionarea
- Cale..
- modalități de
- BINE
- care
- în timp ce
- voi
- cu
- în
- fără
- cuvinte
- Apartamente
- fluxuri de lucru
- scrie
- scris
- Tu
- Ta
- zephyrnet