“In plaats van zich te concentreren op de code, zouden bedrijven zich moeten concentreren op het ontwikkelen van systematische engineeringpraktijken om gegevens te verbeteren op een manier die betrouwbaar, efficiënt en systematisch is. Met andere woorden, bedrijven moeten overstappen van een modelgerichte benadering naar een datagerichte benadering.” – Andrew Ng
Een datacentrische AI-benadering omvat het bouwen van AI-systemen met kwaliteitsgegevens, waarbij gegevensvoorbereiding en functie-engineering betrokken zijn. Dit kan een vervelende taak zijn waarbij het gaat om het verzamelen, ontdekken, profileren, opschonen, structureren, transformeren, verrijken, valideren en veilig opslaan van gegevens.
Amazon SageMaker-gegevens Wrangler is een dienst in Amazon SageMaker Studio dat een end-to-end oplossing biedt voor het importeren, voorbereiden, transformeren, kenmerken en analyseren van gegevens met weinig tot geen codering. U kunt een Data Wrangler-stroom voor gegevensvoorbereiding integreren in uw machine learning-workflows (ML) om de voorverwerking van gegevens en feature-engineering te vereenvoudigen, waardoor gegevensvoorbereiding sneller naar productie gaat zonder dat u PySpark-code hoeft te schrijven, Apache Spark hoeft te installeren of clusters moet opstarten.
Voor scenario's waarin u uw eigen aangepaste scripts voor gegevenstransformaties moet toevoegen, kunt u uw transformatielogica schrijven in Pandas, PySpark, PySpark SQL. Data Wrangler ondersteunt nu NLTK- en SciPy-bibliotheken voor het schrijven van aangepaste transformaties om tekstgegevens voor ML voor te bereiden en beperkingsoptimalisatie uit te voeren.
U kunt scenario's tegenkomen waarin u uw eigen aangepaste scripts voor gegevenstransformatie moet toevoegen. Met de aangepaste transformatiemogelijkheid van Data Wrangler kunt u uw transformatielogica schrijven in Pandas, PySpark, PySpark SQL.
In dit bericht bespreken we hoe u uw aangepaste transformatie in NLTK kunt schrijven om tekstgegevens voor ML voor te bereiden. We zullen ook enkele voorbeelden van aangepaste codetransformatie delen met behulp van andere veelgebruikte frameworks zoals NLTK, NumPy, SciPy en scikit-learn, evenals AWS AI Services. Voor deze oefening gebruiken we de Titanic-gegevensset, een populaire dataset in de ML-community, die nu is toegevoegd als een voorbeeldgegevensset binnen Data Wrangler.
Overzicht oplossingen
Data Wrangler biedt meer dan 40 ingebouwde connectoren voor het importeren van gegevens. Nadat de gegevens zijn geïmporteerd, kunt u uw gegevensanalyse en transformaties bouwen met behulp van meer dan 300 ingebouwde transformaties. U kunt vervolgens geïndustrialiseerde pijplijnen genereren om de functies naar toe te pushen Amazon eenvoudige opslagservice (Amazon S3) of Amazon SageMaker Feature Store. Het volgende diagram toont de end-to-end architectuur op hoog niveau.
Voorwaarden
Data Wrangler is een SageMaker-functie die beschikbaar is binnen Amazon SageMaker Studio. Je kunt volgen het Studio onboarding-proces om de Studio-omgeving en notebooks op gang te brengen. Hoewel u kunt kiezen uit een aantal authenticatiemethoden, is de eenvoudigste manier om een Studio-domein te maken, het volgen van de Snelstartinstructies. De Snelstart gebruikt dezelfde standaardinstellingen als de standaard Studio-opstelling. U kunt er ook voor kiezen om aan boord te gaan met behulp van AWS IAM Identiteitscentrum (opvolger van AWS Single Sign-On) voor authenticatie (zie Aan boord van Amazon SageMaker Domain met IAM Identity Center).
Importeer de Titanic-gegevensset
Start uw Studio-omgeving en maak een nieuwe Data Wrangler-stroom. U kunt uw eigen dataset importeren of een voorbeelddataset (Titanic) gebruiken, zoals weergegeven in de volgende schermafbeelding. Met Data Wrangler kunt u datasets uit verschillende databronnen importeren. Voor onze use case importeren we de voorbeelddataset uit een S3-bucket.
Na het importeren ziet u twee knooppunten (het bronknooppunt en het gegevenstypeknooppunt) in de gegevensstroom. Data Wrangler identificeert automatisch het datatype voor alle kolommen in de dataset.
Transformaties op maat met NLTK
Voor gegevensvoorbereiding en functie-engineering met Data Wrangler kunt u meer dan 300 ingebouwde transformaties gebruiken of uw eigen aangepaste transformaties bouwen. Aangepaste transformaties kan worden geschreven als afzonderlijke stappen binnen Data Wrangler. Ze worden onderdeel van het .flow-bestand binnen Data Wrangler. De aangepaste transformatiefunctie ondersteunt Python, PySpark en SQL als verschillende stappen in codefragmenten. Nadat notebookbestanden (.ipynb) zijn gegenereerd op basis van het .flow-bestand of het .flow-bestand is gebruikt als recepten, blijven de aangepaste transformatiecodefragmenten behouden zonder dat er wijzigingen nodig zijn. Dit ontwerp van Data Wrangler maakt het mogelijk dat aangepaste transformaties onderdeel worden van een SageMaker Processing-taak voor het verwerken van enorme datasets met aangepaste transformaties.
Titanic-dataset heeft een aantal functies (naam en home.dest) die tekstinformatie bevatten. We gebruiken NLTK om de naamkolom te splitsen en de achternaam te extraheren, en de frequentie van achternamen af te drukken. NLTK is een toonaangevend platform voor het bouwen van Python-programma's om met menselijke taalgegevens te werken. Het biedt gebruiksvriendelijke interfaces voor meer dan 50 corpora en lexicale middelen zoals WordNet, samen met een reeks tekstverwerkingsbibliotheken voor classificatie, tokenisatie, staming, tagging, parsing en semantisch redeneren, en wrappers voor industriële bibliotheken voor natuurlijke taalverwerking (NLP).
Voer de volgende stappen uit om een nieuwe transformatie toe te voegen:
- Kies het plusteken en kies Voeg Transform toe.
- Kies Stap toevoegen En kies Aangepaste transformatie.
U kunt een aangepaste transformatie maken met behulp van Panda's, PySpark, door de gebruiker gedefinieerde Python-functies en SQL PySpark.
- Kies Python (panda's) en voeg de volgende code toe om de achternaam uit de naamkolom te extraheren:
- Kies Voorbeschouwing om de resultaten te bekijken.
De volgende schermafbeelding toont de last_name
kolom geëxtraheerd.
- Voeg nog een aangepaste transformatiestap toe om de frequentieverdeling van de achternamen te identificeren, met behulp van de volgende code:
- Kies Voorbeschouwing om de resultaten van de frequentie te bekijken.
Transformaties op maat met AWS AI-services
AWS vooraf getrainde AI-services bieden kant-en-klare intelligentie voor uw applicaties en workflows. AWS AI-services kunnen eenvoudig worden geïntegreerd met uw applicaties om veelvoorkomende use-cases aan te pakken. U kunt nu de mogelijkheden voor AWS AI-services gebruiken als een aangepaste transformatiestap in Data Wrangler.
Amazon begrijpt het gebruikt NLP om inzichten te verkrijgen over de inhoud van documenten. Het ontwikkelt inzichten door de entiteiten, sleutelzinnen, taal, sentimenten en andere gemeenschappelijke elementen in een document te herkennen.
We gebruiken Amazon Comprehend om de entiteiten uit de naamkolom te halen. Voer de volgende stappen uit:
- Voeg een aangepaste transformatiestap toe.
- Kies Python (panda's).
- Voer de volgende code in om de entiteiten te extraheren:
- Kies Voorbeschouwing en visualiseer de resultaten.
We hebben nu drie aangepaste transformaties toegevoegd in Data Wrangler.
- Kies Informatiestroom om de end-to-end datastroom te visualiseren.
Aangepaste transformaties met NumPy en SciPy
NumPy is een open-sourcebibliotheek voor Python met uitgebreide wiskundige functies, generatoren van willekeurige getallen, lineaire algebra-routines, Fourier-transformaties en meer. scipy is een open-source Python-bibliotheek die wordt gebruikt voor wetenschappelijk computergebruik en technisch computergebruik, met modules voor optimalisatie, lineaire algebra, integratie, interpolatie, speciale functies, snelle Fourier-transformatie (FFT), signaal- en beeldverwerking, oplossers en meer.
Met aangepaste transformaties van Data Wrangler kunt u Python, PySpark en SQL als verschillende stappen combineren. In de volgende Data Wrangler-flow worden verschillende functies van Python-pakketten, NumPy en SciPy in meerdere stappen toegepast op de Titanic-dataset.
NumPy-transformaties
De tariefkolom van de Titanic-dataset bevat instaptarieven van verschillende passagiers. Het histogram van de tariefkolom laat een uniforme verdeling zien, behalve de laatste bak. Door NumPy-transformaties toe te passen, zoals log of vierkantswortel, kunnen we de verdeling wijzigen (zoals weergegeven door de vierkantsworteltransformatie).
Zie de volgende code:
SciPy-transformaties
SciPy-functies zoals z-score worden toegepast als onderdeel van de aangepaste transformatie om tariefverdeling te standaardiseren met gemiddelde en standaarddeviatie.
Zie de volgende code:
Beperkingsoptimalisatie met NumPy en SciPy
Data Wrangler-transformaties op maat kunnen geavanceerde transformaties aan, zoals beperkingsoptimalisatie, het toepassen van SciPy-optimalisatiefuncties en het combineren van SciPy met NumPy. In het volgende voorbeeld laat het tarief als functie van leeftijd geen waarneembare trend zien. Beperkingsoptimalisatie kan het tarief echter transformeren als een functie van leeftijd. De randvoorwaarde is in dit geval dat het nieuwe totaaltarief gelijk blijft aan het oude totaaltarief. Met aangepaste transformaties van Data Wrangler kunt u de SciPy-optimalisatiefunctie uitvoeren om de optimale coëfficiënt te bepalen die het tarief kan transformeren als een functie van leeftijd onder beperkte omstandigheden.
Optimalisatiedefinitie, objectieve definitie en meerdere beperkingen kunnen worden genoemd als verschillende functies bij het formuleren van beperkingsoptimalisatie in een aangepaste Data Wrangler-transformatie met behulp van SciPy en NumPy. Aangepaste transformaties kunnen ook verschillende oplossermethoden opleveren die beschikbaar zijn als onderdeel van het SciPy-optimalisatiepakket. Een nieuwe getransformeerde variabele kan worden gegenereerd door de optimale coëfficiënt te vermenigvuldigen met de oorspronkelijke kolom en op te tellen bij bestaande kolommen van Data Wrangler. Zie de volgende code:
De aangepaste transformatiefunctie van Data Wrangler heeft de UI-mogelijkheid om de resultaten van SciPy-optimalisatiefuncties weer te geven, zoals de waarde van de optimale coëfficiënt (of meerdere coëfficiënten).
Aangepaste transformaties met scikit-learn
scikit-leren is een Python-module voor machine learning die bovenop SciPy is gebouwd. Het is een open-source ML-bibliotheek die begeleid en onbewaakt leren ondersteunt. Het biedt ook verschillende hulpmiddelen voor modelaanpassing, gegevensvoorverwerking, modelselectie, modelevaluatie en vele andere hulpprogramma's.
discretisatie
discretisatie (ook wel bekend als kwantisering or weggooien) biedt een manier om doorlopende kenmerken te verdelen in discrete waarden. Bepaalde datasets met continue kenmerken kunnen profiteren van discretisatie, omdat discretisatie de dataset van continue attributen kan transformeren naar een dataset met alleen nominale attributen. One-hot gecodeerde gediscretiseerde functies kunnen een model expressiever maken, terwijl de interpreteerbaarheid behouden blijft. Voorbewerking met een discretizer kan bijvoorbeeld niet-lineariteit introduceren in lineaire modellen.
In de volgende code gebruiken we KBinsDiscretizer
om de leeftijdskolom in 10 bakken te verdelen:
U kunt de bakranden zien die zijn afgedrukt in de volgende schermafbeelding.
One-hot codering
Waarden in de kolommen Ingescheept zijn categorische waarden. Daarom moeten we deze strings weergeven als numerieke waarden om onze classificatie met ons model uit te voeren. We zouden dit ook kunnen doen met een one-hot coderingstransformatie.
Er zijn drie waarden voor Embarked: S, C en Q. We vertegenwoordigen deze met getallen. Zie de volgende code:
Opruimen
Als u Data Wrangler niet gebruikt, is het belangrijk om de instantie waarop het wordt uitgevoerd af te sluiten om extra kosten te voorkomen.
Data Wrangler slaat uw gegevensstroom automatisch elke 60 seconden op. Om te voorkomen dat u werk kwijtraakt, slaat u uw gegevensstroom op voordat u Data Wrangler afsluit.
- Om uw gegevensstroom in Studio op te slaan, kiest u Dien in, kies dan Gegevens Wrangler-stroom opslaan.
- Om de Data Wrangler-instantie af te sluiten, kiest u in Studio: Instanties en kernels uitvoeren.
- Onder ACTIEVE APPS, kies het afsluitpictogram naast de app sagemaker-data-wrangler-1.0.
- Kies Alles afsluiten bevestigen.
Data Wrangler draait op een ml.m5.4xlarge instantie. Deze instantie verdwijnt uit LOPENDE INSTANTIES wanneer u de Data Wrangler-app afsluit.
Nadat u de Data Wrangler-app hebt afgesloten, moet deze opnieuw worden opgestart de volgende keer dat u een Data Wrangler-stroombestand opent. Dit kan enkele minuten duren.
Conclusie
In dit bericht hebben we laten zien hoe u aangepaste transformaties kunt gebruiken in Data Wrangler. We hebben de bibliotheken en het framework binnen de Data Wrangler-container gebruikt om de ingebouwde mogelijkheden voor gegevenstransformatie uit te breiden. De voorbeelden in dit bericht vertegenwoordigen een subset van de gebruikte frameworks. De transformaties in de Data Wrangler-stroom kunnen nu worden ingeschaald naar een pijplijn voor DataOps.
Raadpleeg voor meer informatie over het gebruik van gegevensstromen met Data Wrangler: Een Data Wrangler-stroom maken en gebruiken en Amazon SageMaker-prijzen. Om aan de slag te gaan met Data Wrangler, zie Bereid ML-gegevens voor met Amazon SageMaker Data Wrangler. Ga voor meer informatie over Autopilot en AutoML op SageMaker naar Automatiseer modelontwikkeling met Amazon SageMaker Autopilot.
Over de auteurs
Meenakshisundaram Thandavarayan is een Senior AI/ML-specialist bij AWS. Hij helpt hi-tech strategische accounts op hun AI- en ML-reis. Hij heeft een grote passie voor datagedreven AI.
Sovik Kumar Nath is een AI/ML-oplossingsarchitect met AWS. Hij heeft uitgebreide ervaring met end-to-end ontwerpen en oplossingen voor machine learning; bedrijfsanalyses binnen financiële, operationele en marketinganalyses; gezondheidszorg; bevoorradingsketen; en het internet der dingen. Buiten het werk houdt Sovik van reizen en films kijken.
Abigail is een Software Development Engineer bij Amazon SageMaker. Ze is gepassioneerd door het helpen van klanten bij het voorbereiden van hun gegevens in DataWrangler en het bouwen van gedistribueerde machine learning-systemen. In haar vrije tijd houdt Abigail van reizen, wandelen, skiën en bakken.
- Door SEO aangedreven content en PR-distributie. Word vandaag nog versterkt.
- Platoblockchain. Web3 Metaverse Intelligentie. Kennis versterkt. Toegang hier.
- De toekomst slaan met Adryenn Ashley. Toegang hier.
- Bron: https://aws.amazon.com/blogs/machine-learning/authoring-custom-transformations-in-amazon-sagemaker-data-wrangler-using-nltk-and-scipy/
- : heeft
- :is
- $UP
- 1
- 10
- 100
- 7
- 8
- 9
- a
- Over
- accounts
- toegevoegd
- Extra
- adres
- vergevorderd
- Na
- Leeftijden
- AI
- AI-diensten
- AI / ML
- Alles
- toestaat
- langs
- Hoewel
- Amazone
- Amazon begrijpt het
- Amazon Sage Maker
- Amazon SageMaker-gegevens Wrangler
- analyse
- analytics
- analyseren
- en
- Andrew
- Nog een
- elke
- apache
- gebruiken
- toepassingen
- toegepast
- Het toepassen van
- nadering
- architectuur
- ZIJN
- AS
- At
- attributen
- authenticatie
- auteur
- schrijven
- webmaster.
- AutoML
- Beschikbaar
- AWS
- BE
- omdat
- worden
- geweest
- vaardigheden
- voordeel
- BIN
- boarding
- brengen
- bouw
- Gebouw
- bebouwd
- ingebouwd
- bedrijfsdeskundigen
- by
- CAN
- mogelijkheden
- geval
- gevallen
- zeker
- keten
- verandering
- Wijzigingen
- Kies
- classificatie
- code
- codering
- Collectie
- Kolom
- columns
- combineren
- combineren
- Gemeen
- gemeenschap
- Bedrijven
- compleet
- begrijpen
- uitgebreid
- computergebruik
- voorwaarde
- voorwaarden
- Bevestigen
- NADELEN
- beperkingen
- bevatten
- Containers
- content
- doorlopend
- kon
- Koppel
- en je merk te creëren
- gewoonte
- Klanten
- gegevens
- gegevensanalyse
- Data voorbereiding
- Gegevensgestuurde
- datasets
- Standaard
- gedemonstreerd
- Design
- ontwerpen
- Bepalen
- het ontwikkelen van
- Ontwikkeling
- ontwikkelt
- afwijking
- anders
- ontdekking
- bespreken
- verdeeld
- distributie
- document
- documenten
- Nee
- domein
- beneden
- gemakkelijk
- gemakkelijk te gebruiken
- doeltreffend
- beide
- geeft je de mogelijkheid
- eind tot eind
- ingenieur
- Engineering
- verrijkende
- entiteiten
- entiteit
- Milieu
- evaluatie
- Alle
- voorbeeld
- voorbeelden
- Behalve
- Oefening
- bestaand
- ervaring
- expressief
- verlengen
- uitgebreid
- Uitgebreide ervaring
- extract
- SNELLE
- sneller
- Kenmerk
- Voordelen
- vergoedingen
- weinig
- Dien in
- Bestanden
- financieel
- fitting
- stroom
- Stromen
- Focus
- gericht
- volgen
- volgend
- Voor
- formuleren
- Achtergrond
- frameworks
- Gratis
- Frequentie
- oppompen van
- leuke
- functie
- functies
- voortbrengen
- gegenereerde
- generatoren
- krijgen
- handvat
- Hebben
- he
- gezondheidszorg
- het helpen van
- helpt
- hi-tech
- high-level
- Home
- Hoe
- Echter
- HTML
- http
- HTTPS
- menselijk
- ICON
- identificeert
- identificeren
- Identiteit
- beeld
- importeren
- belangrijk
- importeren
- het verbeteren van
- in
- Anders
- informatie
- inzichten
- installeren
- instantie
- integreren
- integratie
- Intelligentie
- interfaces
- voorstellen
- iot
- IT
- Jobomschrijving:
- jpg
- sleutel
- bekend
- taal
- Achternaam*
- leidend
- LEARN
- leren
- bibliotheken
- Bibliotheek
- als
- Elke kleine stap levert grote resultaten op!
- kwijt te raken
- machine
- machine learning
- Het handhaven
- maken
- veel
- Marketing
- massief
- wiskundig
- Mei..
- vermeld
- methoden
- macht
- minuten
- ML
- model
- modellen
- Module
- Modules
- meer
- beweging
- Films
- meervoudig
- vermenigvuldigen
- naam
- namen
- Naturel
- Natural Language Processing
- Noodzaak
- New
- volgende
- nlp
- knooppunt
- knooppunten
- notitieboekje
- aantal
- nummers
- numpy
- doel van de persoon
- of
- het aanbieden van
- Oud
- on
- Aan boord
- Onboarding
- EEN
- open
- open source
- operationele
- optimale
- optimalisatie
- Optimaliseer
- bestellen
- origineel
- Overige
- anders-
- onze
- buiten
- over
- het te bezitten.
- pakket
- Paketten
- panda's
- deel
- hartstochtelijk
- Uitvoeren
- zinnen
- pijpleiding
- platform
- Plato
- Plato gegevensintelligentie
- PlatoData
- plus
- Populair
- Post
- praktijken
- Voorbereiden
- verwerking
- productie
- profilering
- Programma's
- zorgen voor
- biedt
- doel
- Duwen
- Python
- kwaliteit
- Quick
- willekeurige
- Rauw
- betrouwbaar
- stoffelijk overschot
- vertegenwoordigen
- antwoord
- Resultaten
- terugkeer
- beoordelen
- wortel
- lopen
- s
- sagemaker
- dezelfde
- Voorbeeldgegevensset
- Bespaar
- scenario's
- wetenschappelijk
- scikit-leren
- scripts
- seconden
- vast
- selectie
- senior
- apart
- service
- Diensten
- settings
- setup
- Delen
- moet
- tonen
- getoond
- Shows
- stilgelegd
- stillegging
- teken
- Signaal
- Eenvoudig
- vereenvoudigen
- single
- Software
- software development
- oplossing
- Oplossingen
- sommige
- bron
- bronnen
- Vonk
- special
- specialist
- spinnen
- spleet
- vierkant
- standaard
- begin
- gestart
- stats
- Stap voor
- Stappen
- mediaopslag
- bewaartemperatuur
- strategisch
- structurering
- studio
- dergelijk
- suite
- leveren
- toeleveringsketen
- steunen
- Systems
- tafel
- Nemen
- het nemen
- Taak
- Technisch
- dat
- De
- De Bron
- hun
- daarom
- Deze
- drie
- niet de tijd of
- naar
- teken
- tokenization
- tokens
- tools
- top
- Totaal
- Transformeren
- Transformatie
- transformaties
- getransformeerd
- transformeren
- Reizend
- trend
- ui
- voor
- .
- use case
- gebruikt
- utilities
- waarde
- Values
- divers
- Bezoek
- kijken
- Manier..
- manieren
- GOED
- welke
- en
- wil
- Met
- binnen
- zonder
- woorden
- Mijn werk
- workflows
- schrijven
- geschreven
- You
- Your
- zephyrnet