Förbered data från Databricks för maskininlärning med Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.

Förbered data från Databricks för maskininlärning med Amazon SageMaker Data Wrangler

Datavetenskap och datateknikteam tillbringar en betydande del av sin tid i dataförberedelsefasen av en livscykel för maskininlärning (ML) och utför dataurval, rengöring och transformationssteg. Det är ett nödvändigt och viktigt steg i alla ML-arbetsflöden för att generera meningsfulla insikter och förutsägelser, eftersom data av dålig eller låg kvalitet avsevärt minskar relevansen av de härledda insikterna.

Datateknikteam är traditionellt ansvariga för intag, konsolidering och omvandling av rådata för nedströmskonsumtion. Datavetare behöver ofta göra ytterligare bearbetning av data för domänspecifika ML-användningsfall som naturligt språk och tidsserier. Till exempel kan vissa ML-algoritmer vara känsliga för saknade värden, glesa funktioner eller extremvärden och kräver särskild hänsyn. Även i de fall där datasetet är i gott skick kan datavetare vilja omvandla funktionsfördelningarna eller skapa nya funktioner för att maximera insikterna som erhålls från modellerna. För att uppnå dessa mål måste datavetare förlita sig på datateknikteam för att tillgodose begärda ändringar, vilket resulterar i beroende och förseningar i modellutvecklingsprocessen. Alternativt kan datavetenskapsteam välja att utföra dataförberedelser och funktionsteknik internt med hjälp av olika programmeringsparadigm. Det kräver dock en investering av tid och ansträngning i installation och konfiguration av bibliotek och ramverk, vilket inte är idealiskt eftersom den tiden kan användas bättre för att optimera modellprestanda.

Amazon SageMaker Data Wrangler förenklar dataförberedelsen och funktionsutvecklingsprocessen, vilket minskar tiden det tar att aggregera och förbereda data för ML från veckor till minuter genom att tillhandahålla ett enda visuellt gränssnitt för datavetare att välja, rengöra och utforska sina datauppsättningar. Data Wrangler erbjuder över 300 inbyggda datatransformationer för att normalisera, transformera och kombinera funktioner utan att behöva skriva någon kod. Du kan importera data från flera datakällor, som t.ex Amazon Simple Storage Service (Amazon S3), Amazonas Athena, Amazon RedShiftoch Snöflinga. Du kan nu också använda Databrickor som en datakälla i Data Wrangler för att enkelt förbereda data för ML.

Databricks Lakehouse-plattformen kombinerar de bästa delarna av datasjöar och datalager för att leverera tillförlitlighet, stark styrning och prestanda hos datalager med öppenhet, flexibilitet och maskininlärningsstöd från datasjöar. Med Databricks som datakälla för Data Wrangler kan du nu snabbt och enkelt ansluta till Databricks, interaktivt söka efter data som lagras i Databricks med hjälp av SQL och förhandsgranska data innan import. Dessutom kan du sammanfoga dina data i Databricks med data lagrade i Amazon S3 och data som efterfrågas via Amazon Athena, Amazon Redshift och Snowflake för att skapa rätt datauppsättning för ditt ML-användningsfall.

I det här inlägget transformerar vi Lending Club Loan-datauppsättningen med hjälp av Amazon SageMaker Data Wrangler för användning i ML-modellutbildning.

Lösningsöversikt

Följande diagram illustrerar vår lösningsarkitektur.

Förbered data från Databricks för maskininlärning med Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.

Databasen Lending Club Loan innehåller fullständiga lånedata för alla lån utfärdade under 2007–2011, inklusive aktuell lånestatus och senaste betalningsinformation. Den har 39,717 22 rader, 3 funktionskolumner och XNUMX måletiketter.

För att omvandla vår data med Data Wrangler genomför vi följande steg på hög nivå:

  1. Ladda ner och dela upp datasetet.
  2. Skapa ett Data Wrangler-flöde.
  3. Importera data från Databricks till Data Wrangler.
  4. Importera data från Amazon S3 till Data Wrangler.
  5. Gå med i data.
  6. Tillämpa transformationer.
  7. Exportera datauppsättningen.

Förutsättningar

Inlägget förutsätter att du har ett körande Databricks-kluster. Om ditt kluster körs på AWS, kontrollera att du har följande konfigurerade:

Databricks-inställning

  • An instansprofil med nödvändiga behörigheter för att komma åt en S3-hink
  • A hinkpolicy med nödvändiga behörigheter för mål S3-skopan

Följ Säker åtkomst till S3-hinkar med hjälp av instansprofiler för det erforderliga AWS identitets- och åtkomsthantering (IAM)-roller, S3-segmentpolicy och Databricks-klusterkonfiguration. Se till att Databricks-klustret är konfigurerat med rätt Instance Profile, vald under de avancerade alternativen, för att komma åt önskad S3-skopa.

Förbered data från Databricks för maskininlärning med Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.

Efter att Databricks-klustret är igång med nödvändig åtkomst till Amazon S3 kan du hämta JDBC URL från ditt Databricks-kluster för att användas av Data Wrangler för att ansluta till det.

Hämta JDBC URL

Utför följande steg för att hämta JDBC-URL:

  1. I Databricks navigerar du till klustergränssnittet.
  2. Välj ditt kluster.
  3. konfiguration fliken, välj Avancerade alternativ.
  4. Enligt Avancerade alternativ, Välj den JDBC/ODBC fliken.
  5. Kopiera JDBC URL.
    Förbered data från Databricks för maskininlärning med Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.

Se till att ersätta din personliga åtkomst token i webbadressen.

Data Wrangler-inställning

Det här steget förutsätter att du har tillgång till Amazon SageMaker, en instans av Amazon SageMaker Studio, och en Studio-användare.

För att tillåta åtkomst till Databricks JDBC-anslutningen från Data Wrangler, kräver Studio-användaren följande behörighet:

  • secretsmanager:PutResourcePolicy

Följ stegen nedan för att uppdatera IAM-exekveringsrollen som tilldelats Studio-användaren med ovanstående behörighet, som administrativ IAM-användare.

  1. Välj på IAM-konsolen roller i navigeringsfönstret.
  2. Välj rollen som tilldelats din Studio-användare.
  3. Välja Lägg till behörigheter.
  4. Välja Skapa inline policy.
  5. För Service, välj Secrets Manager.
  6. On Handlingarväljer Åtkomstnivå.
  7. Välja Behörighetshantering.
  8. Välja PutResourcePolicy.
  9. För Resurserväljer Specifik och välj Alla på det här kontot.
    Förbered data från Databricks för maskininlärning med Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.

Ladda ner och dela upp datasetet

Du kan börja med laddar ner datasetet. I demonstrationssyfte delar vi upp datasetet genom att kopiera funktionskolumnerna id, emp_title, emp_length, home_owneroch annual_inc att skapa en andra lån_2.csv fil. Vi tar bort de ovan nämnda kolumnerna från den ursprungliga lånefilen förutom id kolumn och byt namn på originalfilen till lån_1.csv. Ladda upp lån_1.csv fil till Databrickor för att skapa en tabell loans_1 och lån_2.csv i en S3 hink.

Skapa ett Data Wrangler-flöde

För information om Data Wrangler-förutsättningar, se Kom igång med Data Wrangler.

Låt oss komma igång med att skapa ett nytt dataflöde.

  1. På studiokonsolen, på Fil meny, välj Nya.
  2. Välja Data Wrangler-flöde.
  3. Byt namn på flödet efter önskemål.
    Förbered data från Databricks för maskininlärning med Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.

Alternativt kan du skapa ett nytt dataflöde från startprogrammet.

  • Välj på Studio-konsolen Amazon SageMaker Studio i navigeringsfönstret.
  • Välja Nytt dataflöde.
    Förbered data från Databricks för maskininlärning med Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.

Det kan ta några minuter att skapa ett nytt flöde. Efter att flödet har skapats ser du Importera datum sida.

Importera data från Databricks till Data Wrangler

Därefter satte vi upp Databricks (JDBC) som en datakälla i Data Wrangler. För att importera data från Databricks måste vi först lägga till Databricks som en datakälla.

  1. Importera datum fliken i ditt Data Wrangler-flöde, välj Lägg till datakälla.
  2. Välj på rullgardinsmenyn Databricks (JDBC).
    Förbered data från Databricks för maskininlärning med Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.

Importera data från Databricks sida anger du dina klusterdetaljer.

  1. För Datasetnamn, ange ett namn som du vill använda i flödesfilen.
  2. För Chaufför, välj drivrutinen com.simba.spark.jdbc.Driver.
  3. För JDBC URL, ange webbadressen till ditt Databricks-kluster som du fick tidigare.

URL:en ska likna följande format jdbc:spark://<serve- hostname>:443/default;transportMode=http;ssl=1;httpPath=<http- path>;AuthMech=3;UID=token;PWD=<personal-access-token>.

  1. Ange följande SQL SELECT-sats i SQL-frågeredigeraren:
    select * from loans_1

Om du valde ett annat tabellnamn när du laddade upp data till Databricks, ersätt loans_1 i ovanstående SQL-fråga i enlighet med detta.

I SQL-fråga avsnittet i Data Wrangler, kan du fråga vilken tabell som helst som är ansluten till JDBC Databricks-databasen. Den förvalda Aktivera provtagning inställningen hämtar de första 50,000 XNUMX raderna i din datauppsättning som standard. Avmarkera beroende på datauppsättningens storlek Aktivera provtagning kan resultera i längre importtid.

  1. Välja Körning.

Att köra frågan ger en förhandsvisning av din Databricks-datauppsättning direkt i Data Wrangler.
Förbered data från Databricks för maskininlärning med Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.

  1. Välja Importera.
    Förbered data från Databricks för maskininlärning med Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.

Data Wrangler ger flexibiliteten att sätta upp flera samtidiga anslutningar till det ena Databricks-klustret eller flera kluster om det behövs, vilket möjliggör analys och förberedelse av kombinerade datauppsättningar.

Importera data från Amazon S3 till Data Wrangler

Låt oss sedan importera loan_2.csv fil från Amazon S3.

  1. Välj på fliken Importera Amazon S3 som datakälla.
    Förbered data från Databricks för maskininlärning med Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.
  2. Navigera till S3-skopan för loan_2.csv fil.

När du väljer CSV-filen kan du förhandsgranska data.

  1. I Detaljer välj Avancerad konfiguration att försäkra sig Aktivera provtagning är vald och KOMMATECKEN är vald för avgränsare.
  2. Välja Importera.
    Förbered data från Databricks för maskininlärning med Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.

Efter loans_2.csv datauppsättningen har importerats framgångsrikt, dataflödesgränssnittet visar både Databricks JDBC- och Amazon S3-datakällor.

Förbered data från Databricks för maskininlärning med Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.

Gå med i data

Nu när vi har importerat data från Databricks och Amazon S3, låt oss sammanfoga datamängderna med hjälp av en gemensam unik identifierarkolumn.

  1. Data flöde flik, för Datatyper, välj plustecknet för loans_1.
  2. Välja Ansluta sig.
    Förbered data från Databricks för maskininlärning med Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.
  3. Välj loans_2.csv fil som Höger datasätt.
  4. Välja Inställd för att ställa in anslutningskriterierna.
    Förbered data från Databricks för maskininlärning med Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.
  5. För Namn , ange ett namn för anslutningen.
  6. För Gå med typväljer Inre för detta inlägg.
  7. Välj id kolumn att gå med i.
  8. Välja Ansök för att förhandsgranska den sammanfogade datamängden.
  9. Välja Lägg till för att lägga till det i dataflödet.
    Förbered data från Databricks för maskininlärning med Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.

Tillämpa transformationer

Data Wrangler kommer med över 300 inbyggda transformationer, som inte kräver någon kodning. Låt oss använda inbyggda transformeringar för att förbereda datamängden.

Släpp kolumn

Först släpper vi den redundanta ID-kolumnen.

  1. Välj plustecknet på den sammanfogade noden.
  2. Välja Lägg till transform.
    Förbered data från Databricks för maskininlärning med Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.
  3. Enligt Förvandlar, välja + Lägg till steg.
  4. Välja Hantera kolumner.
  5. För Förvandlaväljer Släpp kolumn.
  6. För Kolumner att släppa, välj kolumnen id_0.
  7. Välja Förhandsvisning.
    Förbered data från Databricks för maskininlärning med Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.
  8. Välja Lägg till.

Formatera sträng

Låt oss använda strängformatering för att ta bort procentsymbolen från int_rate och revol_util kolumner.

  1. Data flik, under Transväljer + Lägg till steg.
    Förbered data från Databricks för maskininlärning med Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.
  2. Välja Formatera sträng.
  3. För Förvandlaväljer Ta bort tecken från höger.

Data Wrangler låter dig tillämpa din valda transformation på flera kolumner samtidigt.

  1. För Inmatningskolumnerväljer int_rate och revol_util.
  2. För Tecken att ta bort, stiga på %.
  3. Välja Förhandsvisning.
    Förbered data från Databricks för maskininlärning med Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.
  4. Välja Lägg till.

Presentera text

Låt oss nu vektorisera verification_status, en textfunktionskolumn. Vi omvandlar textkolumnen till termfrekvens–invers dokumentfrekvensvektorer (TF-IDF) genom att använda räknevektoriseraren och en standardtokenizer enligt beskrivningen nedan. Data Wrangler ger också möjlighet att ta med din egen tokenizer, om så önskas.

  1. Enligt Transformatorerväljer + Lägg till steg.
  2. Välja Presentera text.
  3. För Förvandlaväljer Vektorisera.
  4. För Inmatningskolumnerväljer verification_status.
  5. Välja Förhandsvisning.
    Förbered data från Databricks för maskininlärning med Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.
  6. Välja Lägg till.

Exportera datamängden

När vi har tillämpat flera transformationer på olika kolumntyper, inklusive text, kategorisk och numerisk, är vi redo att använda den transformerade datamängden för ML-modellutbildning. Det sista steget är att exportera den transformerade datamängden till Amazon S3. I Data Wrangler har du flera alternativ att välja mellan för nedströmsförbrukning av transformationerna:

I det här inlägget drar vi nytta av Exportera data alternativet i Förvandla visa för att exportera den transformerade datamängden direkt till Amazon S3.

  1. Välja Exportera data.
    Förbered data från Databricks för maskininlärning med Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.
  2. För S3-platsväljer Bläddra och välj din S3-skopa.
  3. Välja Exportera data.
    Förbered data från Databricks för maskininlärning med Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.

Städa upp

Om ditt arbete med Data Wrangler är klart, stäng av din Data Wrangler-instans för att undvika extra avgifter.

Slutsats

I det här inlägget tog vi upp hur du snabbt och enkelt kan ställa in och ansluta Databricks som en datakälla i Data Wrangler, interaktivt söka efter data lagrad i Databricks med SQL och förhandsgranska data innan import. Dessutom tittade vi på hur du kan sammanfoga din data i Databricks med data lagrad i Amazon S3. Vi tillämpade sedan datatransformationer på den kombinerade datamängden för att skapa en dataförberedelsepipeline. För att utforska fler data Wranglers analysmöjligheter, inklusive målläckage och generering av biasrapporter, se följande blogginlägg Accelerera databeredningen med Amazon SageMaker Data Wrangler för att förutsäga återinläggning av diabetiker.

För att komma igång med Data Wrangler, se Förbered ML-data med Amazon SageMaker Data Wrangler, och se den senaste informationen om Data Wrangler Produktsida.


Om författarna

Förbered data från Databricks för maskininlärning med Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.Roop Bains är lösningsarkitekt på AWS med fokus på AI/ML. Han brinner för att hjälpa kunder att förnya sig och uppnå sina affärsmål med hjälp av artificiell intelligens och maskininlärning. På fritiden tycker Roop om att läsa och vandra.

Förbered data från Databricks för maskininlärning med Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.Igor Alekseev är en Partner Solution Architect på AWS in Data and Analytics. Igor arbetar med strategiska partners som hjälper dem att bygga komplexa, AWS-optimerade arkitekturer. Innan han började på AWS, som Data/Solution Architect, implementerade han många projekt inom Big Data, inklusive flera datasjöar i Hadoop-ekosystemet. Som dataingenjör var han involverad i att tillämpa AI/ML för att upptäcka bedrägerier och kontorsautomation. Igors projekt var inom en mängd olika branscher, inklusive kommunikation, finans, allmän säkerhet, tillverkning och hälsovård. Tidigare arbetade Igor som full-stack ingenjör/tech lead.

Förbered data från Databricks för maskininlärning med Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.Huong Nguyen är Sr. Product Manager på AWS. Hon leder användarupplevelsen för SageMaker Studio. Hon har 13 års erfarenhet av att skapa kundbesatta och datadrivna produkter för både företags- och konsumentutrymmen. På fritiden tycker hon om att läsa, vara i naturen och umgås med sin familj.

Förbered data från Databricks för maskininlärning med Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.Henry Wang är en mjukvaruutvecklingsingenjör på AWS. Han gick nyligen med i Data Wrangler-teamet efter examen från UC Davis. Han har ett intresse för datavetenskap och maskininlärning och gör 3D-utskrift som en hobby.

Tidsstämpel:

Mer från AWS maskininlärning