Många applikationer avsedda för underhåll av industriell utrustning, handelsövervakning, flotthantering och ruttoptimering är byggda med Cassandra API:er och drivrutiner med öppen källkod för att bearbeta data med höga hastigheter och låg latens. Att hantera Cassandra-bord själv kan vara tidskrävande och dyrt. Amazon Keyspaces (för Apache Cassandra) låter dig ställa in, säkra och skala Cassandra-tabeller i AWS-molnet utan att hantera ytterligare infrastruktur.
I det här inlägget går vi igenom AWS-tjänster relaterade till träningsmodeller för maskininlärning (ML) som använder Amazon Keyspaces på hög nivå, och ger dig steg-för-steg-instruktioner för att mata in data från Amazon Keyspaces Amazon SageMaker och utbildning av en modell som kan användas för ett specifikt användningsfall för kundsegmentering.
AWS har flera tjänster för att hjälpa företag att implementera ML-processer i molnet.
AWS ML Stack har tre lager. I det mellersta lagret är SageMaker, som ger utvecklare, datavetare och ML-ingenjörer möjligheten att bygga, träna och distribuera ML-modeller i stor skala. Det tar bort komplexiteten från varje steg i ML-arbetsflödet så att du lättare kan distribuera dina ML-användningsfall. Detta inkluderar allt från prediktivt underhåll till datorseende för att förutsäga kundbeteenden. Kunder uppnår upp till 10 gånger förbättring av datavetares produktivitet med SageMaker.
Apache Cassandra är ett populärt val för lästunga användningsfall med ostrukturerad eller semistrukturerad data. Till exempel uppskattar ett populärt matleveransföretag leveranstiden, och en detaljhandelskund skulle kunna fortsätta använda produktkataloginformation i Apache Cassandra-databasen. Amazon Keyspaces är en skalbar, högtillgänglig och hanterad serverlös Apache Cassandra-kompatibel databastjänst. Du behöver inte tillhandahålla, korrigera eller hantera servrar, och du behöver inte installera, underhålla eller använda programvara. Tabeller kan skalas upp och ner automatiskt och du betalar bara för de resurser du använder. Amazon Keyspaces låter dig köra dina Cassandra-arbetsbelastningar på AWS med samma Cassandra-applikationskod och utvecklarverktyg som du använder idag.
SageMaker erbjuder en svit av inbyggda algoritmer för att hjälpa datavetare och ML-utövare att snabbt komma igång med utbildning och implementering av ML-modeller. I det här inlägget visar vi dig hur en detaljkund kan använda kundköphistorik i Keyspaces-databasen och rikta in sig på olika kundsegment för marknadsföringskampanjer.
K-medel är en oövervakad inlärningsalgoritm. Den försöker hitta diskreta grupperingar inom data, där medlemmar i en grupp är så lika varandra som möjligt och så olika som möjligt från medlemmar i andra grupper. Du definierar de attribut som du vill att algoritmen ska använda för att bestämma likhet. SageMaker använder en modifierad version av webbskala k-medel klustringsalgoritm. Jämfört med den ursprungliga versionen av algoritmen är versionen som används av SageMaker mer exakt. Men, liksom den ursprungliga algoritmen, skalas den till massiva datamängder och levererar förbättringar i träningstid.
Lösningsöversikt
Instruktionerna förutsätter att du skulle använda SageMaker Studio för att köra koden. Den associerade koden har delats på AWS exempel på GitHub. Genom att följa instruktionerna i labbet kan du göra följande:
- Installera nödvändiga beroenden.
- Anslut till Amazon Keyspaces, skapa en tabell och mata in exempeldata.
- Bygg en klassificerings-ML-modell med hjälp av data i Amazon Keyspaces.
- Utforska modellresultat.
- Rensa upp nyskapade resurser.
När du är klar kommer du att ha integrerat SageMaker med Amazon Keyspaces för att träna ML-modeller som visas i följande bild.
Nu kan du följa steg-för-steg-instruktioner i det här inlägget för att få in rådata lagrad i Amazon Keyspaces med SageMaker och den data som på så sätt hämtas för ML-bearbetning.
Förutsättningar
Navigera först till SageMaker.
Därefter, om det här är första gången du använder SageMaker, välj Kom igång.
Välj sedan Konfigurera SageMaker Domain.
Skapa sedan en ny användarprofil med Namn – sagemakeruser, och välj Skapa ny roll i Standard exekveringsroll undersektion.
Välj sedan någon på skärmen som dyker upp Amazon Simple Storage Service (Amazon S3) hink och välj Skapa roll.
Den här rollen kommer att användas i följande steg för att tillåta SageMaker att komma åt Keyspaces Table med hjälp av tillfälliga referenser från rollen. Detta eliminerar behovet av att lagra ett användarnamn och lösenord i den bärbara datorn.
Hämta sedan rollen som är kopplad till sagemakeruser som skapades i föregående steg från sammanfattningssektionen.
Navigera sedan till AWS-konsol och titta upp AWS Identity and Access Management (IAM). Inom IAM, navigera till Roller. Inom Roller, sök efter exekveringsrollen som identifierades i föregående steg.
Välj sedan rollen som identifierades i föregående steg och välj Lägg till behörigheter. Välj Skapa Inline Policy i rullgardinsmenyn som visas. SageMaker låter dig tillhandahålla en detaljerad åtkomstnivå som begränsar vilka åtgärder en användare/applikation kan utföra baserat på affärskrav.
Välj sedan JSON-fliken och kopiera policyn från Note-avsnittet i Github sida. Denna policy tillåter SageMaker-anteckningsboken att ansluta till Keyspaces och hämta data för vidare bearbetning.
Välj sedan Lägg till behörigheter igen och från rullgardinsmenyn och välj Bifoga policy.
Slå upp AmazonKeyspacesFullAccess-policyn och markera kryssrutan bredvid det matchande resultatet och välj Bifoga policyer.
Kontrollera att avsnittet med behörighetspolicyer innehåller AmazonS3FullAccess
, AmazonSageMakerFullAccess
, AmazonKeyspacesFullAccess
, såväl som den nyligen tillagda inline-policyn.
Navigera sedan till SageMaker Studio med AWS-konsolen och välj SageMaker Studio. Väl där, välj Starta app och välj Studio.
Anteckningsbok genomgång
Det föredragna sättet att ansluta till Keyspaces från SageMaker Notebook är att använda AWS Signature version 4-process (SigV4) baserat Tillfälliga inloggningsuppgifter för autentisering. I det här scenariot behöver vi INTE generera eller lagra Keyspaces-uppgifter och kan använda autentiseringsuppgifterna för att autentisera med SigV4-plugin. Tillfälliga säkerhetsuppgifter består av ett åtkomstnyckel-ID och en hemlig åtkomstnyckel. Men de inkluderar också en säkerhetstoken som indikerar när autentiseringsuppgifterna går ut. I det här inlägget skapar vi en IAM-roll och genererar tillfälliga säkerhetsuppgifter.
Först installerar vi en drivrutin (cassandra-sigv4). Denna drivrutin gör att du kan lägga till autentiseringsinformation till dina API-förfrågningar med hjälp av AWS Signature Version 4 Process (SigV4). Genom att använda insticksprogrammet kan du förse användare och applikationer med kortsiktiga referenser för att komma åt Amazon Keyspaces (för Apache Cassandra) med IAM-användare och roller. Efter detta kommer du att importera ett obligatoriskt certifikat tillsammans med ytterligare paketberoenden. I slutändan kommer du att tillåta anteckningsboken att ta rollen att prata med Keyspaces.
Anslut sedan till Amazon Keyspaces och läs systemdata från Keyspaces till Pandas DataFrame för att validera anslutningen.
Förbered sedan data för träning på rådatauppsättningen. I python-anteckningsboken som är kopplad till det här inlägget, använd en detaljhandelsdatauppsättning som laddats ner från här.och bearbeta det. Vårt affärsmål med tanke på datamängden är att klustera kunderna med hjälp av ett specifikt metriskt samtal RFM. RFM-modellen bygger på tre kvantitativa faktorer:
- Nyhet: Hur nyligen en kund har gjort ett köp.
- Frekvens: Hur ofta en kund gör ett köp.
- Monetärt värde: Hur mycket pengar en kund spenderar på köp.
RFM-analys rangordnar en kund numeriskt i var och en av dessa tre kategorier, vanligtvis på en skala från 1 till 5 (ju högre antal, desto bättre resultat). Den "bästa" kunden skulle få ett toppbetyg i varje kategori. Vi kommer att använda pandas Quantile-baserade diskretiseringsfunktion (qcut). Det kommer att hjälpa till att diskretisera värden till lika stora hinkar baserade på eller baserat på provkvantiler.
I det här exemplet använder vi CQL för att läsa poster från Keyspace-tabellen. I vissa ML-användningsfall kan du behöva läsa samma data från samma Keyspaces-tabell flera gånger. I det här fallet skulle vi rekommendera att du sparar dina data i en Amazon S3-hink för att undvika att du får ytterligare kostas läsning från Amazon Keyspaces. Beroende på ditt scenario kan du också använda Amazon EMR till inta en mycket stor Amazon S3-fil till SageMaker.
Därefter tränar vi en ML-modell med hjälp av KMeans-algoritmen och ser till att klustren skapas. I det här specifika scenariot skulle du se att de skapade klustren skrivs ut, vilket visar att kunderna i rådatauppsättningen har grupperats tillsammans baserat på olika attribut i datauppsättningen. Denna klusterinformation kan användas för riktade marknadsföringskampanjer.
(Valfritt) Därefter sparar vi kundsegmenten som har identifierats av ML-modellen tillbaka till en Amazon Keyspaces-tabell för riktad marknadsföring. Ett batchjobb kan läsa denna data och köra riktade kampanjer till kunder i specifika segment.
Slutligen, vi rensa upp resurserna skapas under denna handledning för att undvika extra kostnader.
Det kan ta några sekunder till en minut att slutföra raderingen av tangentutrymme och tabeller. När du tar bort ett tangentutrymme raderas tangentutrymmet och alla dess tabeller och du slutar samla på dig avgifter från dem.
Slutsats
Det här inlägget visade dig hur du matar in kunddata från Amazon Keyspaces till SageMaker och tränar en klustringsmodell som gjorde att du kunde segmentera kunder. Du kan använda denna information för riktad marknadsföring och på så sätt förbättra ditt företags KPI avsevärt. För att lära dig mer om Amazon Keyspaces, granska följande resurser:
- Träna maskininlärningsmodeller med Amazon Keyspaces som datakälla (SageMaker Notebook)
- Anslut till Amazon Keyspaces från ditt skrivbord med IntelliJ, PyCharm eller DataGrip IDE
- CQL Language Reference för Amazon Keyspaces (för Apache Cassandra)
- Hur man ställer in kommandoradsåtkomst till Amazon Keyspaces (för Apache Cassandra) genom att använda den nya utvecklarverktygssatsen Docker image
- Identitets- och åtkomsthantering för Amazon Keyspaces (för Apache Cassandra)
- Ansluter till Amazon Keyspaces från SageMaker med tjänstespecifika referenser
- Nyhet, frekvens, monetärt värde (RFM)
- Kaggle-kodreferens
Om författarna
Vadim Lyakhovich är Senior Solutions Architect på AWS i San Francisco Bay Area som hjälper kunder att migrera till AWS. Han arbetar med organisationer som sträcker sig från stora företag till små startups för att stödja deras innovationer. Han hjälper också kunder att utforma skalbara, säkra och kostnadseffektiva lösningar på AWS.
Parth Patel är en lösningsarkitekt på AWS i San Francisco Bay Area. Parth vägleder kunder att påskynda sin resa till molnet och hjälpa dem att framgångsrikt använda AWS-molnet. Han fokuserar på ML och applikationsmodernisering.
Ram Pathangi är en lösningsarkitekt på AWS i San Francisco Bay Area. Han har hjälpt kunder inom jordbruks-, försäkrings-, bank-, detaljhandels-, hälsovårds- och livsvetenskaper, gästfrihet och högteknologiska vertikaler att driva sin verksamhet framgångsrikt i AWS-molnet. Han är specialiserad på Databaser, Analytics och ML.
- '
- "
- &
- 10
- 100
- 9
- förmåga
- Om oss
- accelerera
- tillgång
- exakt
- Uppnå
- åtgärder
- Annat
- jordbruket
- framåt
- algoritm
- Alla
- amason
- analys
- analytics
- Annan
- api
- API: er
- app
- Ansökan
- tillämpningar
- OMRÅDE
- uppmärksamhet
- attribut
- Autentisering
- automatiskt
- tillgänglig
- AWS
- Banking
- bukt
- Blogg
- gränsen
- SLUTRESULTAT
- företag
- företag
- Ring
- Kampanjer
- vilken
- fall
- Kategori
- certifikat
- avgifter
- val
- klassificering
- cloud
- koda
- jämfört
- dator
- Kontakta
- anslutning
- Konsol
- kostnadseffektiv
- kunde
- land
- skapa
- skapas
- referenser
- kund
- Kunder
- datum
- datauppsättning
- Databas
- databaser
- levererar
- leverans
- beroende
- distribuera
- utplacera
- desktop
- Bestämma
- Utvecklare
- utvecklare
- olika
- Hamnarbetare
- ner
- chaufför
- Drop
- under
- lätt
- Ingenjörer
- företag
- Utrustning
- uppskattningar
- exempel
- utförande
- faktorer
- Förnamn
- första gången
- FLOTTA
- fokuserar
- följer
- efter
- livsmedelsproduktion
- Francisco
- fungera
- ytterligare
- allmänhet
- generera
- få
- GitHub
- kraftigt
- Grupp
- Gruppens
- Guider
- Hälsa
- Hälsovård
- hjälpa
- hjälpa
- Hög
- högre
- höggradigt
- historia
- Hur ser din drömresa ut
- How To
- Men
- HTTPS
- Identitet
- bild
- genomföra
- förbättring
- förbättra
- innefattar
- innefattar
- index
- industriell
- informationen
- Infrastruktur
- innovationer
- installera
- försäkring
- integrerade
- IT
- Jobb
- resa
- Nyckel
- lab
- språk
- Large
- lansera
- lager
- LÄRA SIG
- inlärning
- Nivå
- Life Sciences
- se
- lojala
- Maskinen
- maskininlärning
- gjord
- bibehålla
- GÖR
- hantera
- förvaltade
- ledning
- hantera
- Marknadsföring
- massiv
- matchande
- Medlemmar
- ML
- modell
- modeller
- Monetär
- pengar
- övervakning
- mer
- mest
- multipel
- nödvändigt för
- anteckningsbok
- antal
- driva
- optimering
- organisationer
- Övriga
- paket
- särskilt
- Lösenord
- Lappa
- Betala
- plugin
- Strategier
- policy
- Populära
- möjlig
- potentiell
- förutse
- Förbered
- föregående
- pris
- primär
- process
- processer
- bearbetning
- Produkt
- produktivitet
- Profil
- lovande
- ge
- ger
- inköp
- inköp
- kvantitativ
- snabbt
- som sträcker sig
- Raw
- Läsning
- motta
- nyligen
- rekommenderar
- register
- förfrågningar
- Obligatorisk
- Krav
- Resurser
- Resultat
- detaljhandeln
- översyn
- Risk
- Roll
- Rutt
- Körning
- San
- San Francisco
- SC
- skalbar
- Skala
- VETENSKAPER
- vetenskapsmän
- screen
- Sök
- sekunder
- säkra
- säkerhet
- säkerhetstoken
- segmentet
- segmentering
- segment
- Server
- service
- Tjänster
- in
- delas
- kortsiktigt
- visas
- liknande
- Enkelt
- sova
- Small
- So
- Mjukvara
- fast
- Lösningar
- några
- specialiserat
- stapel
- igång
- Startups
- förvaring
- lagra
- studio
- Framgångsrikt
- stödja
- system
- System
- Diskussion
- Målet
- riktade
- temporär
- Smakämnen
- Genom
- tid
- gånger
- i dag
- tillsammans
- token
- toolkit
- verktyg
- topp
- handla
- Utbildning
- användning
- användarfall
- användare
- värde
- olika
- version
- vertikaler
- syn
- Vad
- inom
- utan
- arbetssätt
- skulle
- Din