Bereid gegevens van Databricks voor voor machine learning met Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.

Gegevens uit Databricks voorbereiden voor machine learning met Amazon SageMaker Data Wrangler

Datawetenschaps- en data-engineeringteams brengen een aanzienlijk deel van hun tijd door in de datavoorbereidingsfase van een machine learning (ML)-levenscyclus, waarbij ze gegevensselectie, opschoning en transformatiestappen uitvoeren. Het is een noodzakelijke en belangrijke stap in elke ML-workflow om zinvolle inzichten en voorspellingen te genereren, omdat slechte gegevens of gegevens van lage kwaliteit de relevantie van de verkregen inzichten aanzienlijk verminderen.

Data-engineeringteams zijn traditioneel verantwoordelijk voor de opname, consolidatie en transformatie van onbewerkte gegevens voor downstream-consumptie. Datawetenschappers moeten vaak aanvullende gegevensverwerking uitvoeren voor domeinspecifieke ML-gebruiksscenario's, zoals natuurlijke taal en tijdreeksen. Bepaalde ML-algoritmen kunnen bijvoorbeeld gevoelig zijn voor ontbrekende waarden, schaarse kenmerken of uitschieters en vereisen speciale aandacht. Zelfs in gevallen waarin de dataset zich in een goede staat bevindt, willen datawetenschappers mogelijk de kenmerkverdelingen transformeren of nieuwe kenmerken creëren om de inzichten die uit de modellen worden verkregen te maximaliseren. Om deze doelstellingen te bereiken moeten datawetenschappers vertrouwen op data-engineeringteams om de gevraagde wijzigingen op te vangen, wat resulteert in afhankelijkheid en vertraging in het modelontwikkelingsproces. Als alternatief kunnen datawetenschapsteams ervoor kiezen om datavoorbereiding en feature-engineering intern uit te voeren met behulp van verschillende programmeerparadigma's. Het vereist echter een investering van tijd en moeite in de installatie en configuratie van bibliotheken en raamwerken, wat niet ideaal is omdat die tijd beter besteed kan worden aan het optimaliseren van de modelprestaties.

Amazon SageMaker-gegevens Wrangler vereenvoudigt de datavoorbereiding en het feature-engineeringproces, waardoor de tijd die nodig is om data te verzamelen en voor te bereiden voor ML wordt verkort van weken tot minuten door één enkele visuele interface te bieden waarmee datawetenschappers hun datasets kunnen selecteren, opschonen en verkennen. Data Wrangler biedt meer dan 300 ingebouwde datatransformaties om functies te normaliseren, transformeren en combineren zonder code te schrijven. U kunt gegevens importeren uit meerdere gegevensbronnen, zoals Amazon Simple Storage-service (Amazon S3), Amazone Athene, Amazon roodverschuiving en Sneeuwvlok. Je kunt nu ook gebruiken Databricks als gegevensbron in Data Wrangler om eenvoudig gegevens voor ML voor te bereiden.

Het Databricks Lakehouse Platform combineert de beste elementen van datameren en datawarehouses om de betrouwbaarheid, het sterke bestuur en de prestaties van datawarehouses te leveren met de openheid, flexibiliteit en machine learning-ondersteuning van datameren. Met Databricks als gegevensbron voor Data Wrangler kunt u nu snel en eenvoudig verbinding maken met Databricks, interactief query's uitvoeren op gegevens die zijn opgeslagen in Databricks met behulp van SQL, en een voorbeeld van gegevens bekijken voordat u ze importeert. Bovendien kunt u uw gegevens in Databricks samenvoegen met gegevens die zijn opgeslagen in Amazon S3 en gegevens die zijn opgevraagd via Amazon Athena, Amazon Redshift en Snowflake om de juiste dataset voor uw ML-gebruiksscenario te creëren.

In dit bericht transformeren we de Lending Club Loan-dataset met behulp van Amazon SageMaker Data Wrangler voor gebruik in ML-modeltraining.

Overzicht oplossingen

Het volgende diagram illustreert onze oplossingsarchitectuur.

Bereid gegevens van Databricks voor voor machine learning met Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.

De Lending Club Loan-dataset bevat volledige leninggegevens voor alle leningen die zijn uitgegeven tussen 2007 en 2011, inclusief de huidige leningstatus en de laatste betalingsinformatie. Het heeft 39,717 rijen, 22 functiekolommen en 3 doellabels.

Om onze gegevens te transformeren met Data Wrangler, doorlopen we de volgende stappen op hoog niveau:

  1. Download en splits de dataset.
  2. Maak een Data Wrangler-stroom.
  3. Gegevens importeren uit Databricks naar Data Wrangler.
  4. Importeer gegevens van Amazon S3 naar Data Wrangler.
  5. Sluit je aan bij de gegevens.
  6. Transformaties toepassen.
  7. Exporteer de gegevensset.

Voorwaarden

In het bericht wordt ervan uitgegaan dat u een actief Databricks-cluster hebt. Als uw cluster op AWS draait, controleer dan of u het volgende hebt geconfigureerd:

Databricks-installatie

  • An instantieprofiel met de vereiste machtigingen voor toegang tot een S3-bucket
  • A bucket-beleid met de vereiste machtigingen voor de doel-S3-bucket

Volg Beveilig de toegang tot S3-buckets met behulp van exemplaarprofielen voor de vereiste AWS Identiteits- en toegangsbeheer (IAM)-rollen, S3-bucketbeleid en Databricks-clusterconfiguratie. Zorg ervoor dat het Databricks-cluster is geconfigureerd met de juiste Instance Profile, geselecteerd onder de geavanceerde opties, om toegang te krijgen tot de gewenste S3-bucket.

Bereid gegevens van Databricks voor voor machine learning met Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.

Nadat het Databricks-cluster actief is met de vereiste toegang tot Amazon S3, kunt u het JDBC URL vanuit uw Databricks-cluster dat door Data Wrangler moet worden gebruikt om er verbinding mee te maken.

Haal de JDBC-URL op

Voer de volgende stappen uit om de JDBC-URL op te halen:

  1. Navigeer in Databricks naar de gebruikersinterface van clusters.
  2. Kies je cluster.
  3. Op de Configuratie tabblad, kies geavanceerde opties.
  4. Onder geavanceerde opties, kies de JDBC/ODBC Tab.
  5. Kopieer de JDBC-URL.
    Bereid gegevens van Databricks voor voor machine learning met Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.

Zorg ervoor dat u uw persoonlijke toegang vervangt teken in de URL.

Data Wrangler-installatie

Bij deze stap wordt ervan uitgegaan dat u toegang heeft tot Amazon SageMaker, een exemplaar van Amazon SageMaker Studioen een Studio-gebruiker.

Om toegang tot de Databricks JDBC-verbinding vanuit Data Wrangler mogelijk te maken, heeft de Studio-gebruiker de volgende toestemming nodig:

  • secretsmanager:PutResourcePolicy

Volg onderstaande stappen om de IAM-uitvoeringsrol bij te werken die is toegewezen aan de Studio-gebruiker met bovenstaande toestemming, als IAM-beheerder.

  1. Kies op de IAM-console rollen in het navigatievenster.
  2. Kies de rol die aan uw Studio-gebruiker is toegewezen.
  3. Kies Machtigingen toevoegen.
  4. Kies Inline beleid maken.
  5. Kies voor Service Geheimen Manager.
  6. On Acties, kiezen Toegangsniveau.
  7. Kies Beheer van machtigingen.
  8. Kies PutResourcePolic.
  9. Voor Resources, kiezen specifiek en selecteer Elke in dit account.
    Bereid gegevens van Databricks voor voor machine learning met Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.

Download en splits de gegevensset

Je kunt beginnen het downloaden van de gegevensset. Voor demonstratiedoeleinden hebben we de gegevensset gesplitst door de functiekolommen te kopiëren id, emp_title, emp_length, home_owner en annual_inc om een ​​tweede te creëren leningen_2.csv bestand. We verwijderen de bovengenoemde kolommen uit het oorspronkelijke uitleenbestand, behalve de id kolom en hernoem het originele bestand naar leningen_1.csv. Upload de leningen_1.csv bestand naar Databricks om een ​​tafel te maken loans_1 en leningen_2.csv in een S3-emmer.

Maak een Data Wrangler-stroom

Voor informatie over de vereisten voor Data Wrangler, zie Aan de slag met Data Wrangler.

Laten we aan de slag gaan door een nieuwe gegevensstroom te maken.

  1. Op de Studio-console, op de Dien in menu, kies New.
  2. Kies Data Wrangler-stroom.
  3. Hernoem de stroom naar wens.
    Bereid gegevens van Databricks voor voor machine learning met Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.

Als alternatief kunt u vanuit de Launcher een nieuwe gegevensstroom maken.

  • Kies op de Studio-console Amazon SageMaker Studio in het navigatievenster.
  • Kies Nieuwe datastroom.
    Bereid gegevens van Databricks voor voor machine learning met Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.

Het maken van een nieuwe stroom kan enkele minuten duren. Nadat de stroom is gemaakt, ziet u het Datums importeren pagina.

Importeer gegevens uit Databricks in Data Wrangler

Vervolgens hebben we Databricks (JDBC) ingesteld als gegevensbron in Data Wrangler. Om gegevens uit Databricks te importeren, moeten we Databricks eerst als gegevensbron toevoegen.

  1. Op de Datums importeren tabblad van uw Data Wrangler-stroom, kies Gegevensbron toevoegen.
  2. Kies in het vervolgkeuzemenu Databricks (JDBC).
    Bereid gegevens van Databricks voor voor machine learning met Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.

Op de Gegevens importeren uit Databricks pagina, voert u uw clustergegevens in.

  1. Voor Naam datasetVoer een naam in die u in het stroombestand wilt gebruiken.
  2. Voor bestuurder, kies de bestuurder com.simba.spark.jdbc.Driver.
  3. Voor JDBC-URLVoer de URL van uw Databricks-cluster in die u eerder hebt verkregen.

De URL moet de volgende indeling hebben jdbc:spark://<serve- hostname>:443/default;transportMode=http;ssl=1;httpPath=<http- path>;AuthMech=3;UID=token;PWD=<personal-access-token>.

  1. Geef in de SQL-queryeditor de volgende SQL SELECT-instructie op:
    select * from loans_1

Als u een andere tabelnaam hebt gekozen tijdens het uploaden van gegevens naar Databricks, vervangt u leningen_1 in de bovenstaande SQL-query dienovereenkomstig.

In het SQL-query In de Data Wrangler-sectie kunt u query's uitvoeren op elke tabel die is verbonden met de JDBC Databricks-database. De voorgeselecteerde Steekproeven inschakelen instelling haalt standaard de eerste 50,000 rijen van uw dataset op. Afhankelijk van de grootte van de gegevensset, deselecteren Steekproeven inschakelen kan resulteren in een langere importtijd.

  1. Kies lopen.

Als u de query uitvoert, krijgt u rechtstreeks in Data Wrangler een voorbeeld van uw Databricks-gegevensset.
Bereid gegevens van Databricks voor voor machine learning met Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.

  1. Kies import.
    Bereid gegevens van Databricks voor voor machine learning met Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.

Data Wrangler biedt de flexibiliteit om indien nodig meerdere gelijktijdige verbindingen op te zetten met het ene Databricks-cluster of meerdere clusters, waardoor analyse en voorbereiding op gecombineerde datasets mogelijk wordt.

Importeer de gegevens van Amazon S3 in Data Wrangler

Laten we vervolgens de loan_2.csv bestand van Amazon S3.

  1. Kies op het tabblad Importeren Amazon S3 als de gegevensbron.
    Bereid gegevens van Databricks voor voor machine learning met Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.
  2. Navigeer naar de S3-bucket voor de loan_2.csv bestand.

Wanneer u het CSV-bestand selecteert, kunt u een voorbeeld van de gegevens bekijken.

  1. In het Details kies het venster Geavanceerde configuratie om er zeker van te zijn Steekproeven inschakelen is geselecteerd en KOMMA is gekozen voor Delimiter.
  2. Kies import.
    Bereid gegevens van Databricks voor voor machine learning met Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.

Na het loans_2.csv gegevensset is geïmporteerd, geeft de gegevensstroominterface zowel de Databricks JDBC- als Amazon S3-gegevensbronnen weer.

Bereid gegevens van Databricks voor voor machine learning met Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.

Sluit je aan bij de gegevens

Nu we gegevens uit Databricks en Amazon S3 hebben geïmporteerd, gaan we de gegevenssets samenvoegen met behulp van een gemeenschappelijke unieke ID-kolom.

  1. Op de Informatiestroom tabblad, voor Datatypen, kies het plusteken voor loans_1.
  2. Kies Aanmelden.
    Bereid gegevens van Databricks voor voor machine learning met Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.
  3. Kies de loans_2.csv bestand als de Rechts gegevensset.
  4. Kies Configure om de deelnamecriteria in te stellen.
    Bereid gegevens van Databricks voor voor machine learning met Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.
  5. Voor Naam, voer een naam in voor de join.
  6. Voor Deelnemen aan type, kiezen Binnenste voor dit bericht.
  7. Kies de id kolom om mee te doen.
  8. Kies Solliciteer om een ​​voorbeeld van de samengevoegde gegevensset te bekijken.
  9. Kies Toevoegen om het aan de gegevensstroom toe te voegen.
    Bereid gegevens van Databricks voor voor machine learning met Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.

Transformaties toepassen

Data Wrangler wordt geleverd met meer dan 300 ingebouwde transformaties, waarvoor geen codering nodig is. Laten we ingebouwde transformaties gebruiken om de gegevensset voor te bereiden.

Kolom laten vallen

Eerst laten we de redundante ID-kolom vallen.

  1. Kies op het samengevoegde knooppunt het plusteken.
  2. Kies Voeg transformatie toe.
    Bereid gegevens van Databricks voor voor machine learning met Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.
  3. Onder Transformeert, kiezen + Stap toevoegen.
  4. Kies Beheer kolommen.
  5. Voor Transformeren, kiezen Kolom laten vallen.
  6. Voor Kolommen om te laten vallen, kies de kolom id_0.
  7. Kies Voorbeschouwing.
    Bereid gegevens van Databricks voor voor machine learning met Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.
  8. Kies Toevoegen.

Tekenreeks opmaken

Laten we tekenreeksopmaak toepassen om het percentagesymbool uit de int_rate en revol_util kolommen.

  1. Op de Data tab, onder transformaties, kiezen + Stap toevoegen.
    Bereid gegevens van Databricks voor voor machine learning met Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.
  2. Kies Tekenreeks opmaken.
  3. Voor Transformeren, kiezen Strip karakters van rechts.

Met Data Wrangler kunt u de door u gekozen transformatie tegelijkertijd op meerdere kolommen toepassen.

  1. Voor Invoerkolommen, kiezen int_rate en revol_util.
  2. Voor Tekens om te verwijderen, ga naar binnen %.
  3. Kies Voorbeschouwing.
    Bereid gegevens van Databricks voor voor machine learning met Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.
  4. Kies Toevoegen.

Tekst uitlichten

Laten we nu vectoriseren verification_status, een kolom met tekstkenmerken. We converteren de tekstkolom naar termfrequentie-inverse documentfrequentie (TF-IDF)-vectoren door de count-vectorizer en een standaard tokenizer toe te passen, zoals hieronder beschreven. Data Wrangler biedt indien gewenst ook de mogelijkheid om uw eigen tokenizer mee te nemen.

  1. Onder transformers, kiezen + Stap toevoegen.
  2. Kies Tekst uitlichten.
  3. Voor Transformeren, kiezen Vectoriseren.
  4. Voor Invoerkolommen, kiezen verification_status.
  5. Kies Voorbeschouwing.
    Bereid gegevens van Databricks voor voor machine learning met Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.
  6. Kies Toevoegen.

Exporteer de dataset

Nadat we meerdere transformaties hebben toegepast op verschillende kolomtypen, waaronder tekst, categorisch en numeriek, zijn we klaar om de getransformeerde gegevensset te gebruiken voor ML-modeltraining. De laatste stap is het exporteren van de getransformeerde dataset naar Amazon S3. In Data Wrangler heeft u meerdere opties waaruit u kunt kiezen voor het downstream-gebruik van de transformaties:

In dit bericht maken we gebruik van de Exportgegevens optie in het Transformeren bekijken om de getransformeerde dataset rechtstreeks naar Amazon S3 te exporteren.

  1. Kies Exportgegevens.
    Bereid gegevens van Databricks voor voor machine learning met Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.
  2. Voor S3 locatie, kiezen Blader en kies je S3-emmer.
  3. Kies Exportgegevens.
    Bereid gegevens van Databricks voor voor machine learning met Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.

Opruimen

Als uw werk met Data Wrangler voltooid is, sluit uw Data Wrangler-instantie af om extra kosten te voorkomen.

Conclusie

In dit bericht hebben we besproken hoe u Databricks snel en eenvoudig kunt instellen en verbinden als gegevensbron in Data Wrangler, interactief query's kunt uitvoeren op gegevens die zijn opgeslagen in Databricks met behulp van SQL, en een voorbeeld van gegevens kunt bekijken voordat u deze importeert. Daarnaast hebben we gekeken hoe u uw gegevens in Databricks kunt samenvoegen met gegevens die zijn opgeslagen in Amazon S3. Vervolgens hebben we datatransformaties toegepast op de gecombineerde dataset om een ​​datavoorbereidingspijplijn te creëren. Raadpleeg de volgende blogpost om meer analysemogelijkheden van Data Wrangler te verkennen, waaronder het genereren van rapporten over doellekkage en bias Versnel de voorbereiding van gegevens met behulp van Amazon SageMaker Data Wrangler voor het voorspellen van de heropname van diabetespatiënten.

Om aan de slag te gaan met Data Wrangler, zie Bereid ML-gegevens voor met Amazon SageMaker Data Wrangleren bekijk de laatste informatie over de Data Wrangler product pagina.


Over de auteurs

Bereid gegevens van Databricks voor voor machine learning met Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.Roep Bains is Solutions Architect bij AWS met een focus op AI/ML. Hij heeft een passie om klanten te helpen innoveren en hun bedrijfsdoelstellingen te bereiken met behulp van kunstmatige intelligentie en machine learning. In zijn vrije tijd houdt Roop van lezen en wandelen.

Bereid gegevens van Databricks voor voor machine learning met Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.Igor Alekseev is Partner Solution Architect bij AWS in Data en Analytics. Igor werkt samen met strategische partners die hen helpen bij het bouwen van complexe, AWS-geoptimaliseerde architecturen. Voordat hij bij AWS kwam werken als Data/Solution Architect, implementeerde hij veel projecten in Big Data, waaronder verschillende datameren in het Hadoop-ecosysteem. Als Data Engineer was hij betrokken bij het toepassen van AI/ML op fraudedetectie en kantoorautomatisering. Igor's projecten waren in verschillende sectoren, waaronder communicatie, financiën, openbare veiligheid, productie en gezondheidszorg. Eerder werkte Igor als full-stack engineer/tech lead.

Bereid gegevens van Databricks voor voor machine learning met Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.Huong Nguyen is een Sr. Product Manager bij AWS. Ze leidt de gebruikerservaring voor SageMaker Studio. Ze heeft 13 jaar ervaring met het maken van door de klant geobsedeerde en datagestuurde producten voor zowel ondernemingen als consumenten. In haar vrije tijd houdt ze van lezen, in de natuur zijn en tijd doorbrengen met haar gezin.

Bereid gegevens van Databricks voor voor machine learning met Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.Henry Wang is een softwareontwikkelingsingenieur bij AWS. Hij sloot zich onlangs aan bij het Data Wrangler-team nadat hij was afgestudeerd aan UC Davis. Hij heeft interesse in data science en machine learning en doet 3D-printen als hobby.

Tijdstempel:

Meer van AWS-machine learning