Mange applikationer beregnet til vedligeholdelse af industrielt udstyr, handelsovervågning, flådestyring og ruteoptimering er bygget ved hjælp af open source Cassandra API'er og drivere til at behandle data ved høje hastigheder og lav latenstid. Det kan være tidskrævende og dyrt at administrere Cassandra-borde selv. Amazon Keyspaces (til Apache Cassandra) lader dig opsætte, sikre og skalere Cassandra-tabeller i AWS Cloud uden at administrere yderligere infrastruktur.
I dette indlæg vil vi guide dig gennem AWS Services relateret til træning af maskinlæringsmodeller (ML) ved hjælp af Amazon Keyspaces på et højt niveau, og vi giver dig trin for trin instruktioner til indlæsning af data fra Amazon Keyspaces i Amazon SageMaker og træning af en model, som kan bruges til en specifik kundesegmentering use case.
AWS har flere tjenester til at hjælpe virksomheder med at implementere ML-processer i skyen.
AWS ML Stack har tre lag. I mellemlaget er SageMaker, som giver udviklere, datavidenskabsfolk og ML-ingeniører mulighed for at bygge, træne og implementere ML-modeller i stor skala. Det fjerner kompleksiteten fra hvert trin i ML-arbejdsgangen, så du nemmere kan implementere dine ML-brugssager. Dette inkluderer alt fra forudsigelig vedligeholdelse til computervision for at forudsige kundeadfærd. Kunder opnår op til 10 gange forbedring af dataforskeres produktivitet med SageMaker.
Apache Cassandra er et populært valg til læstunge brugssager med ustrukturerede eller semistrukturerede data. For eksempel estimerer en populær fødevareleveringsvirksomhed leveringstidspunktet, og en detailkunde kan blive ved med at bruge produktkatalogoplysninger i Apache Cassandra-databasen. Amazon nøglerum er en skalerbar, meget tilgængelig og administreret serverløs Apache Cassandra-kompatibel databasetjeneste. Du behøver ikke at klargøre, patche eller administrere servere, og du behøver ikke installere, vedligeholde eller betjene software. Tabeller kan skaleres op og ned automatisk, og du betaler kun for de ressourcer, du bruger. Amazon Keyspaces lader dig køre dine Cassandra-arbejdsbelastninger på AWS ved hjælp af den samme Cassandra-applikationskode og udviklerværktøjer, som du bruger i dag.
SageMaker giver en suite af indbyggede algoritmer for at hjælpe dataforskere og ML-praktikere hurtigt i gang med at træne og implementere ML-modeller. I dette indlæg viser vi dig, hvordan en detailkunde kan bruge kundekøbshistorik i Keyspaces-databasen og målrette mod forskellige kundesegmenter til marketingkampagner.
K-betyder er en uovervåget læringsalgoritme. Den forsøger at finde diskrete grupperinger inden for data, hvor medlemmer af en gruppe ligner hinanden så meget som muligt og så forskellige som muligt fra medlemmer af andre grupper. Du definerer de attributter, som du ønsker, at algoritmen skal bruge til at bestemme lighed. SageMaker bruger en modificeret version af web-skala k-betyder klyngealgoritme. Sammenlignet med den originale version af algoritmen er den version, der bruges af SageMaker, mere nøjagtig. Men ligesom den originale algoritme skalerer den til massive datasæt og leverer forbedringer i træningstid.
Løsningsoversigt
Instruktionerne antager, at du ville bruge SageMaker Studio til at køre koden. Den tilknyttede kode er blevet delt på AWS-eksempel på GitHub. Ved at følge instruktionerne i laboratoriet kan du gøre følgende:
- Installer nødvendige afhængigheder.
- Opret forbindelse til Amazon Keyspaces, opret en tabel, og indtag prøvedata.
- Byg en klassifikations-ML-model ved hjælp af dataene i Amazon Keyspaces.
- Udforsk modelresultater.
- Ryd op i nyoprettede ressourcer.
Når du er færdig, har du integreret SageMaker med Amazon Keyspaces for at træne ML-modeller som vist på følgende billede.
Nu kan du følge trinvise instruktioner i dette indlæg for at indtage rådata, der er gemt i Amazon Keyspaces ved hjælp af SageMaker, og de data, der således hentes til ML-behandling.
Forudsætninger
Først skal du navigere til SageMaker.
Dernæst, hvis det er første gang, du bruger SageMaker, skal du vælge Kom i gang.
Vælg derefter Konfigurer SageMaker Domain.
Opret derefter en ny brugerprofil med Navn – sagemakerbruger, og vælg Opret ny rolle i Standard eksekveringsrolle underafsnit.
Dernæst skal du på skærmen, der popper op, vælge en hvilken som helst Amazon Simple Storage Service (Amazon S3) spand, og vælg Opret rolle.
Denne rolle vil blive brugt i de følgende trin for at tillade SageMaker at få adgang til Keyspaces Table ved hjælp af midlertidige legitimationsoplysninger fra rollen. Dette eliminerer behovet for at gemme et brugernavn og en adgangskode i den bærbare computer.
Derefter skal du hente den rolle, der er knyttet til sagemakerbruger der blev oprettet i det forrige trin fra oversigtssektionen.
Naviger derefter til AWS-konsol og se op AWS Identity and Access Management (IAM). I IAM skal du navigere til Roller. Inden for Roller skal du søge efter den udførelsesrolle, der blev identificeret i det foregående trin.
Vælg derefter den rolle, der blev identificeret i det foregående trin, og vælg Tilføj tilladelser. I rullemenuen, der vises, skal du vælge Opret inline politik. SageMaker giver dig mulighed for at give et detaljeret adgangsniveau, der begrænser, hvilke handlinger en bruger/applikation kan udføre baseret på forretningskrav.
Vælg derefter fanen JSON og kopier politikken fra Note-sektionen i Github side. Denne politik gør det muligt for SageMaker-notebooken at oprette forbindelse til Keyspaces og hente data til yderligere behandling.
Vælg derefter Tilføj tilladelser igen og fra rullemenuen, og vælg Vedhæft politik.
Slå AmazonKeyspacesFullAccess-politikken op, og marker afkrydsningsfeltet ud for det matchende resultat, og vælg Vedhæft politikker.
Bekræft, at sektionen om tilladelsespolitikker indeholder AmazonS3FullAccess
, AmazonSageMakerFullAccess
, AmazonKeyspacesFullAccess
, samt den nyligt tilføjede inline-politik.
Derefter skal du navigere til SageMaker Studio ved hjælp af AWS-konsollen og vælge SageMaker Studio. Når du er der, skal du vælge Start app og vælge Studio.
Notebook gennemgang
Den foretrukne måde at oprette forbindelse til Keyspaces fra SageMaker Notebook på er ved at bruge AWS Signature Version 4-proces (SigV4) baseret Midlertidige legitimationsoplysninger til autentificering. I dette scenarie behøver vi IKKE at generere eller gemme Keyspaces-legitimationsoplysninger og kan bruge legitimationsoplysningerne til at godkende med SigV4-plugin'et. Midlertidige sikkerhedsoplysninger består af et adgangsnøgle-id og en hemmelig adgangsnøgle. De inkluderer dog også et sikkerhedstoken, der angiver, hvornår legitimationsoplysningerne udløber. I dette indlæg opretter vi en IAM-rolle og genererer midlertidige sikkerhedsoplysninger.
Først installerer vi en driver (cassandra-sigv4). Denne driver giver dig mulighed for at tilføje autentificeringsoplysninger til dine API-anmodninger ved hjælp af AWS Signature Version 4 Process (SigV4). Ved at bruge pluginnet kan du give brugere og applikationer kortsigtede legitimationsoplysninger for at få adgang til Amazon Keyspaces (til Apache Cassandra) ved hjælp af IAM-brugere og roller. Efter dette importerer du et påkrævet certifikat sammen med yderligere pakkeafhængigheder. I sidste ende vil du tillade notesbogen at påtage sig rollen at tale med Keyspaces.
Forbind derefter til Amazon Keyspaces og læs systemdata fra Keyspaces ind i Pandas DataFrame for at validere forbindelsen.
Forbered derefter dataene til træning på rådatasættet. I den python-notesbog, der er knyttet til dette indlæg, skal du bruge et detaildatasæt, der er downloadet fra link., og behandle det. Vores forretningsmål givet datasættet er at gruppere kunderne ved hjælp af et specifikt metrisk opkald RFM. RFM-modellen er baseret på tre kvantitative faktorer:
- Seneste: Hvor nylig en kunde har foretaget et køb.
- Hyppighed: Hvor ofte en kunde foretager et køb.
- Monetær værdi: Hvor mange penge en kunde bruger på køb.
RFM-analyse rangerer numerisk en kunde i hver af disse tre kategorier, generelt på en skala fra 1 til 5 (jo højere tal, jo bedre resultat). Den "bedste" kunde ville modtage en topscore i hver kategori. Vi vil bruge pandas's Quantile-baserede diskretiseringsfunktion (qcut). Det vil hjælpe med at diskretisere værdier i ens store spande baseret på eller baseret på prøvekvantiler.
I dette eksempel bruger vi CQL til at læse poster fra Keyspace-tabellen. I nogle ML-brugstilfælde skal du muligvis læse de samme data fra den samme Keyspaces-tabel flere gange. I dette tilfælde vil vi anbefale, at du gemmer dine data i en Amazon S3-bøtte for at undgå at pådrage dig yderligere kostes læsning fra Amazon Keyspaces. Afhængigt af dit scenarie kan du også bruge Amazon EMR til indtager en meget stor Amazon S3-fil ind i SageMaker.
Dernæst træner vi en ML-model ved hjælp af KMeans-algoritmen og sørger for, at klyngerne er oprettet. I dette særlige scenarie vil du se, at de oprettede klynger udskrives, hvilket viser, at kunderne i rådatasættet er blevet grupperet sammen baseret på forskellige attributter i datasættet. Denne klyngeinformation kan bruges til målrettede marketingkampagner.
(Valgfrit) Dernæst gemmer vi de kundesegmenter, der er blevet identificeret af ML-modellen, tilbage til en Amazon Keyspaces-tabel til målrettet markedsføring. Et batchjob kunne læse disse data og køre målrettede kampagner til kunder i specifikke segmenter.
Endelig, vi rydde op i ressourcerne oprettet i løbet af denne øvelse for at undgå at pådrage sig yderligere omkostninger.
Det kan tage et par sekunder til et minut at fuldføre sletningen af nøglerum og tabeller. Når du sletter et tasterum, slettes tasterummet og alle dets tabeller, og du stopper med at påløbe gebyrer fra dem.
Konklusion
Dette indlæg viste dig, hvordan du indtager kundedata fra Amazon Keyspaces i SageMaker og træner en klyngemodel, der gjorde det muligt for dig at segmentere kunder. Du kan bruge disse oplysninger til målrettet markedsføring og dermed i høj grad forbedre din virksomheds KPI. For at lære mere om Amazon Keyspaces, gennemgå følgende ressourcer:
- Træn maskinlæringsmodeller ved hjælp af Amazon Keyspaces som datakilde (SageMaker notesbog)
- Opret forbindelse til Amazon Keyspaces fra dit skrivebord ved hjælp af IntelliJ, PyCharm eller DataGrip IDE'er
- CQL Language Reference for Amazon Keyspaces (til Apache Cassandra)
- Sådan konfigureres kommandolinjeadgang til Amazon Keyspaces (til Apache Cassandra) ved at bruge det nye udviklerværktøjssæt Docker image
- Identitets- og adgangsstyring til Amazon Keyspaces (til Apache Cassandra)
- Opretter forbindelse til Amazon Keyspaces fra SageMaker med servicespecifikke legitimationsoplysninger
- Seneste, frekvens, pengeværdi (RFM)
- Kaggle-kodereference
Om forfatterne
Vadim Lyakhovich er Senior Solutions Architect hos AWS i San Francisco Bay Area, der hjælper kunder med at migrere til AWS. Han arbejder med organisationer lige fra store virksomheder til små startups for at støtte deres innovationer. Han hjælper også kunder med at udvikle skalerbare, sikre og omkostningseffektive løsninger på AWS.
Parth Patel er Solutions Architect hos AWS i San Francisco Bay Area. Parth guider kunder til at fremskynde deres rejse til skyen og hjælpe dem med at implementere AWS-skyen med succes. Han fokuserer på ML og applikationsmodernisering.
Ram Pathangi er Solutions Architect hos AWS i San Francisco Bay Area. Han har hjulpet kunder inden for landbrug, forsikring, bank, detailhandel, sundhedspleje og biovidenskab, gæstfrihed og højteknologiske vertikaler med at drive deres forretning med succes på AWS-skyen. Han har specialiseret sig i Databaser, Analytics og ML.
- '
- "
- &
- 10
- 100
- 9
- evne
- Om
- fremskynde
- adgang
- præcis
- opnå
- aktioner
- Yderligere
- Landbrug
- forude
- algoritme
- Alle
- Amazon
- analyse
- analytics
- En anden
- api
- API'er
- app
- Anvendelse
- applikationer
- OMRÅDE
- opmærksomhed
- attributter
- Godkendelse
- automatisk
- til rådighed
- AWS
- Bank
- Bugt
- Blog
- grænse
- bygge
- virksomhed
- virksomheder
- ringe
- Kampagner
- hvilken
- tilfælde
- Boligtype
- certifikat
- afgifter
- valg
- klassificering
- Cloud
- kode
- sammenlignet
- computer
- Tilslut
- tilslutning
- Konsol
- omkostningseffektiv
- kunne
- land
- skabe
- oprettet
- Legitimationsoplysninger
- kunde
- Kunder
- data
- datasæt
- Database
- databaser
- leverer
- levering
- Afhængigt
- indsætte
- implementering
- desktop
- Bestem
- Udvikler
- udviklere
- forskellige
- Docker
- ned
- driver
- Drop
- i løbet af
- nemt
- Ingeniører
- virksomheder
- udstyr
- skøn
- eksempel
- udførelse
- faktorer
- Fornavn
- første gang
- FLÅDE
- fokuserer
- følger
- efter
- mad
- Francisco
- funktion
- yderligere
- generelt
- generere
- få
- GitHub
- stærkt
- gruppe
- Gruppens
- Guides
- Helse
- Health Care
- hjælpe
- hjælpe
- Høj
- højere
- stærkt
- historie
- Hvordan
- How To
- Men
- HTTPS
- Identity
- billede
- gennemføre
- forbedring
- omfatter
- omfatter
- indeks
- industrielle
- oplysninger
- Infrastruktur
- innovationer
- installere
- forsikring
- integreret
- IT
- Job
- rejse
- Nøgle
- lab
- Sprog
- stor
- lancere
- lag
- LÆR
- læring
- Niveau
- Life Sciences
- Se
- loyal
- maskine
- machine learning
- lavet
- vedligeholde
- maerker
- administrere
- lykkedes
- ledelse
- styring
- Marketing
- massive
- matchende
- Medlemmer
- ML
- model
- modeller
- Monetære
- penge
- overvågning
- mere
- mest
- flere
- nødvendig
- notesbog
- nummer
- betjene
- optimering
- organisationer
- Andet
- pakke
- særlig
- Adgangskode
- patch
- Betal
- plugin
- politikker
- politik
- Populær
- mulig
- potentiale
- forudsige
- Forbered
- tidligere
- pris
- primære
- behandle
- Processer
- forarbejdning
- Produkt
- produktivitet
- Profil
- lovende
- give
- giver
- køb
- indkøb
- kvantitativ
- hurtigt
- spænder
- Raw
- Læsning
- modtage
- for nylig
- anbefaler
- optegnelser
- anmodninger
- påkrævet
- Krav
- Ressourcer
- Resultater
- detail
- gennemgå
- Risiko
- roller
- R
- Kør
- San
- San Francisco
- SC
- skalerbar
- Scale
- VIDENSKABER
- forskere
- Skærm
- Søg
- sekunder
- sikker
- sikkerhed
- sikkerhedsbogstav
- segment
- segmentering
- segmenter
- Serverless
- tjeneste
- Tjenester
- sæt
- delt
- kort sigt
- vist
- lignende
- Simpelt
- søvn
- lille
- So
- Software
- solid
- Løsninger
- nogle
- specialiseret
- stable
- påbegyndt
- Nystartede
- opbevaring
- butik
- Studio
- Succesfuld
- support
- systemet
- Systemer
- Tal
- mål
- målrettet
- midlertidig
- Gennem
- tid
- gange
- i dag
- sammen
- token
- toolkit
- værktøjer
- top
- handle
- Kurser
- brug
- brugssager
- brugere
- værdi
- forskellige
- udgave
- vertikaler
- vision
- Hvad
- inden for
- uden
- arbejder
- ville
- Din