Învățarea automată (ML) perturbă o mulțime de industrii într-un ritm fără precedent. Industria asistenței medicale și științelor vieții (HCLS) a trecut printr-o evoluție rapidă în ultimii ani, îmbrățișând ML într-o multitudine de cazuri de utilizare pentru furnizarea de îngrijiri de calitate și îmbunătățirea rezultatelor pacienților.
Într-un ciclu de viață tipic ML, inginerii de date și oamenii de știință își petrec cea mai mare parte a timpului pe pregătirea datelor și pașii de inginerie a caracteristicilor chiar înainte de a începe procesul de construire și formare a modelelor. Având un instrument care poate reduce bariera de intrare pentru pregătirea datelor, îmbunătățind astfel productivitatea, este o solicitare extrem de dorită pentru aceste persoane. Amazon SageMaker Data Wrangler este conceput de AWS pentru a reduce curba de învățare și pentru a permite practicienilor de date să realizeze pregătirea datelor, curățarea și sarcinile de inginerie a caracteristicilor în mai puțin efort și timp. Oferă o interfață GUI cu multe funcții încorporate și integrări cu alte servicii AWS, cum ar fi Serviciul Amazon de stocare simplă (Amazon S3) și Magazinul de caracteristici Amazon SageMaker, precum și surse de date partenere, inclusiv Snowflake și Databricks.
În această postare, demonstrăm cum să folosiți Data Wrangler pentru a pregăti datele de asistență medicală pentru formarea unui model care să prezică insuficiența cardiacă, având în vedere datele demografice ale pacientului, condițiile medicale anterioare și istoricul rezultatelor testelor de laborator.
Prezentare generală a soluțiilor
Soluția constă din următorii pași:
- Obțineți un set de date de asistență medicală ca intrare în Data Wrangler.
- Utilizați funcțiile de transformare încorporate ale Data Wrangler pentru a transforma setul de date. Aceasta include eliminarea coloanelor, prezentarea datelor/timpului, alăturarea setului de date, imputarea valorilor lipsă, codificarea variabilelor categoriale, scalarea valorilor numerice, echilibrarea setului de date și multe altele.
- Utilizați funcția de transformare personalizată a Data Wrangler (codul Pandas sau PySpark) pentru a completa transformările suplimentare necesare dincolo de transformările încorporate și pentru a demonstra extensibilitatea Data Wrangler. Aceasta include rânduri de filtrare, date grupate, forme noi de cadre de date bazate pe condiții și multe altele.
- Utilizați funcțiile de vizualizare încorporate ale Data Wrangler pentru a efectua analize vizuale. Aceasta include scurgerile țintei, corelarea caracteristicilor, modelul rapid și multe altele.
- Utilizați opțiunile de export încorporate ale Data Wrangler pentru a exporta setul de date transformat în Amazon S3.
- Lansați un notebook Jupyter pentru a utiliza setul de date transformat din Amazon S3 ca intrare pentru a antrena un model.
Generați un set de date
Acum că ne-am hotărât cu declarația problemei ML, mai întâi ne-am pus ochii pe obținerea datelor de care avem nevoie. Studii de cercetare precum Predicția insuficienței cardiace poate furniza date care sunt deja în stare bună. Cu toate acestea, întâlnim adesea scenarii în care datele sunt destul de dezordonate și necesită alăturare, curățare și alte câteva transformări care sunt foarte specifice domeniului de asistență medicală înainte de a putea fi utilizate pentru instruirea ML. Dorim să găsim sau să generăm date destul de dezordonate și să vă ghidăm prin pașii pregătirii lor folosind Data Wrangler. Având în vedere acest lucru, am ales Synthea ca instrument pentru a genera date sintetice care se potrivesc obiectivului nostru. Synthea este un generator de pacienți sintetici open-source care modelează istoricul medical al pacienților sintetici. Pentru a genera setul de date, parcurgeți următorii pași:
- Urmați instrucțiunile conform pornire rapidă documentație pentru a crea un Amazon SageMaker Studio domeniu și lansați Studio.
Acesta este un pas obligatoriu. Este opțional dacă Studio este deja configurat în contul dvs. - După lansarea Studio, pe Launcher fila, alegeți Terminal de sistem.
Aceasta lansează o sesiune de terminal care vă oferă o interfață de linie de comandă cu care să lucrați. - Pentru a instala Synthea și a genera setul de date în format CSV, rulați următoarele comenzi în sesiunea de terminal lansată:
Furnizăm un parametru pentru a genera seturile de date cu o populație de 10,000. Rețineți că parametrul de dimensiune denotă numărul de membri vii ai populației. În plus, Synthea generează și date pentru membrii morți ai populației, care ar putea adăuga câteva puncte de date suplimentare peste dimensiunea eșantionului specificat.
Așteptați până când generarea datelor este completă. Acest pas durează de obicei aproximativ o oră sau mai puțin. Synthea generează mai multe seturi de date, inclusiv patients
, medications
, allergies
, conditions
, și altele. Pentru această postare, folosim trei dintre seturile de date rezultate:
- pacienţi.csv – Acest set de date are aproximativ 3.2 MB și conține aproximativ 11,000 de rânduri de date despre pacient (25 de coloane, inclusiv ID-ul pacientului, data nașterii, sexul, adresa și multe altele)
- condiţii.csv – Acest set de date are aproximativ 47 MB și conține aproximativ 370,000 de rânduri de date despre starea medicală (șase coloane, inclusiv ID-ul pacientului, data de începere a stării, codul de afecțiune și multe altele)
- observații.csv – Acest set de date are aproximativ 830 MB și conține aproximativ 5 milioane de rânduri de date de observare (opt coloane, inclusiv ID-ul pacientului, data observării, codul de observație, valoarea și multe altele)
Există o relație unu-la-mulți între patients
și conditions
seturi de date. Există, de asemenea, o relație unu-la-mulți între patients
și observations
seturi de date. Pentru un dicționar de date detaliat, consultați Dicţionar de date fişier CSV.
- Pentru a încărca seturile de date generate într-un compartiment sursă în Amazon S3, executați următoarele comenzi în sesiunea terminalului:
Lansați Data Wrangler
Alege Resurse SageMaker în pagina de navigare din Studio și pe Proiecte meniu, alegeți Data Wrangler pentru a crea un flux de date Data Wrangler. Pentru pași detaliați despre cum să lansați Data Wrangler din Studio, consultați Începeți cu Data Wrangler.
Date de import
Pentru a importa datele, parcurgeți următorii pași:
- Alege Amazon S3 și localizați fișierul patients.csv în găleata S3.
- În Detalii panoul, alegeți În primul rând K pentru Prelevarea de probe.
- Intrați
1100
pentru Marime de mostra.
În panoul de previzualizare, Data Wrangler extrage primele 100 de rânduri din setul de date și le afișează ca previzualizare. - Alege Import.
Data Wrangler selectează primii 1,100 de pacienți din totalul de pacienți (11,000 de rânduri) generat de Synthea și importă datele. Abordarea de eșantionare permite Data Wrangler să prelucreze doar datele eșantionului. Ne permite să ne dezvoltăm fluxul de date cu un set de date mai mic, ceea ce are ca rezultat o procesare mai rapidă și o buclă de feedback mai scurtă. După ce creăm fluxul de date, putem trimite rețeta dezvoltată la a Prelucrare SageMaker sarcina de a extinde pe orizontal procesarea pentru setul de date complet sau mai mare într-un mod distribuit. - Repetați acest proces pentru
conditions
șiobservations
seturi de date.- Pentru
conditions
set de date, introduceți37000
pentru Marime de mostra, care reprezintă 1/10 din totalul de 370,000 de rânduri generate de Synthea. - Pentru
observations
set de date, introduceți500000
pentru Marime de mostra, care reprezintă 1/10 din observațiile totale 5 milioane de rânduri generate de Synthea.
- Pentru
Ar trebui să vedeți trei seturi de date, așa cum se arată în următoarea captură de ecran.
Transformă datele
Transformarea datelor este procesul de modificare a structurii, valorii sau formatului uneia sau mai multor coloane din setul de date. Procesul este de obicei dezvoltat de un inginer de date și poate fi o provocare pentru persoanele cu un set mai mic de abilități de inginerie a datelor să descifreze logica propusă pentru transformare. Transformarea datelor face parte din procesul mai larg de inginerie a caracteristicilor, iar succesiunea corectă a pașilor este un alt criteriu important de care trebuie să țineți cont atunci când concepeți astfel de rețete.
Data Wrangler este conceput pentru a fi un instrument low-code pentru a reduce bariera de intrare pentru o pregătire eficientă a datelor. Vine cu peste 300 de transformări de date preconfigurate din care puteți alege fără a scrie o singură linie de cod. În secțiunile următoare, vedem cum să transformăm seturile de date importate în Data Wrangler.
Aruncă coloanele în pacienti.csv
Mai întâi aruncăm câteva coloane din patients
set de date. Eliminarea coloanelor redundante elimină informațiile nerelevante din setul de date și ne ajută să reducem cantitatea de resurse de calcul necesare procesării setului de date și antrenării unui model. În această secțiune, aruncăm coloane precum SSN sau numărul pașaportului, pe baza bunului simț că aceste coloane nu au valoare predictivă. Cu alte cuvinte, ele nu ajută modelul nostru să prezică insuficiența cardiacă. De asemenea, studiul nostru nu este preocupat de alte coloane, cum ar fi locul nașterii sau influența cheltuielilor de îngrijire a sănătății asupra insuficienței cardiace a pacientului, așa că le renunțăm și la acestea. Coloanele redundante pot fi identificate și prin rularea analizelor încorporate, cum ar fi scurgerea țintei, corelarea caracteristicilor, multicoliniaritatea și multe altele, care sunt încorporate în Data Wrangler. Pentru mai multe detalii despre tipurile de analize acceptate, consultați Analizați și vizualizați. În plus, puteți utiliza Raport privind calitatea datelor și perspective pentru a efectua analize automate pe seturile de date pentru a ajunge la o listă de coloane redundante de eliminat.
- Alegeți semnul plus de lângă Tipuri de date pentru setul de date patients.csv și alegeți Adăugați transformare.
- Alege Adăugați pasul Și alegeți Gestionați coloanele.
- Pentru Transforma¸ alege Aruncați coloana.
- Pentru Coloane de aruncat, alegeți următoarele coloane:
SSN
DRIVERS
PASSPORT
PREFIX
FIRST
LAST
SUFFIX
MAIDEN
RACE
ETHNICITY
BIRTHPLACE
ADDRESS
CITY
STATE
COUNTY
ZIP
LAT
LON
HEALTHCARE_EXPENSES
HEALTHCARE_COVERAGE
- Alege Anunţ pentru a examina setul de date transformat, apoi alegeți Adăuga.
Ar trebui să vezi pasul Aruncați coloana în lista ta de transformări.
Prezentați data/ora în patients.csv
Acum folosim funcția Featurize data/ora pentru a genera noua caracteristică Year
de la BIRTHDATE
coloana din patients
set de date. Folosim noua caracteristică într-un pas ulterior pentru a calcula vârsta pacientului în momentul în care are loc observația.
- În transformări panoul dvs Aruncați coloana pagina pentru
patients
set de date, alegeți Adăugați pasul. - Alege Prezentați data/ora transforma.
- Alege Extrageți coloanele.
- Pentru Coloane de intrare, adăugați coloana
BIRTHDATE
. - Selectați An și deselectați Lună, Zi, oră, Minut, Al doilea.
- Alege Anunţ, Apoi alegeți Adăuga.
Adăugați transformări în observations.csv
Data Wrangler acceptă transformări personalizate folosind Python (funcții definite de utilizator), PySpark, Pandas sau PySpark (SQL). Puteți alege tipul de transformare în funcție de familiaritatea dvs. cu fiecare opțiune și preferință. Pentru ultimele trei opțiuni, Data Wrangler expune variabila df
pentru ca dvs. să accesați cadrul de date și să aplicați transformări pe acesta. Pentru o explicație detaliată și exemple, consultați Transformări personalizate. În această secțiune, adăugăm trei transformări personalizate la observations
set de date.
- Adăugați o transformare la observations.csv și plasați
DESCRIPTION
coloana. - Alege Anunţ, Apoi alegeți Adăuga.
- În transformări panoul, alegeți Adăugați pasul Și alegeți Transformare personalizată.
- În meniul derulant, alegeți Python (Panda).
- Introduceți următorul cod:
Acestea sunt coduri LONIC care corespund următoarelor observații pe care ne interesează să le folosim ca caracteristici pentru prezicerea insuficienței cardiace:
- Alege Anunţ, Apoi alegeți Adăuga.
- Adăugați o transformare pentru a extrage
Year
șiQuarter
de laDATE
coloana. - Alege Anunţ, Apoi alegeți Adăuga.
- Alege Adăugați pasul Și alegeți Transformare personalizată.
- În meniul derulant, alegeți Python (PySpark).
Este posibil ca cele cinci tipuri de observații să nu fie înregistrate întotdeauna la aceeași dată. De exemplu, un pacient poate să-și viziteze medicul de familie pe 21 ianuarie și să li se măsoare și să se înregistreze tensiunea arterială sistolica, tensiunea arterială diastolică, ritmul cardiac și indicele de masă corporală. Cu toate acestea, un test de laborator care include trombocite poate fi efectuat la o dată ulterioară, pe 2 februarie. Prin urmare, nu este întotdeauna posibil să se alăture cadrelor de date până la data observării. Aici unim cadre de date pe o granularitate grosieră la trimestru. - Introduceți următorul cod:
- Alege Anunţ, Apoi alegeți Adăuga.
- Alege Adăugați pasul, Apoi alegeți Gestionați rândurile.
- Pentru Transforma, alege Eliminați duplicatele.
- Alege Anunţ, Apoi alegeți Adăuga.
- Alege Adăugați pasul Și alegeți Transformare personalizată.
- În meniul derulant, alegeți Python (Panda).
- Introduceți următorul cod pentru a lua o medie a punctelor de date care au aceeași valoare de timp:
- Alege Anunţ, Apoi alegeți Adăuga.
Alăturați-vă pacientilor.csv și observațiilor.csv
În acest pas, vă prezentăm cum să realizați eficient și ușor alinări complexe pe seturi de date fără a scrie niciun cod prin interfața de utilizare puternică a Data Wrangler. Pentru a afla mai multe despre tipurile de îmbinări acceptate, consultați Transformarea datelor.
- La dreapta de Transform: pacienti.csv, alegeți semnul plus de lângă paşi Și alegeți Alatura-te.
Puteți vedea fișierul patients.csv transformat enumerat mai jos Datasets în panoul din stânga. - La dreapta de Transformă: observații.csv, faceți clic pe paşi pentru a iniția operația de alăturare.
Fișierul transformat observations.csv este acum listat sub Datasets în panoul din stânga. - Alege Configurare.
- Pentru Alăturați-vă tipului, alege Interior.
- Pentru Stânga, alege Id.
- Pentru Dreapta, alege pacient.
- Alege Anunţ, Apoi alegeți Adăuga.
Adăugați o transformare personalizată la seturile de date unite
În acest pas, calculăm vârsta unui pacient în momentul observării. Aruncăm și coloanele care nu mai sunt necesare.
- Alegeți semnul plus de lângă Prima alăturare Și alegeți Adăugați transformare.
- Adăugați o transformare personalizată în Pandas:
- Alege Anunţ, Apoi alegeți Adăuga.
Adăugați transformări personalizate la conditions.csv
- Alegeți semnul plus de lângă Transformă: conditions.csv Și alegeți Adăugați transformare.
- Adăugați o transformare personalizată în Pandas:
Notă: După cum am demonstrat mai devreme, puteți elimina coloanele fie folosind cod personalizat, fie utilizând transformările încorporate furnizate de Data Wrangler. Transformările personalizate din Data Wrangler oferă flexibilitatea de a vă aduce propria logică de transformare sub formă de fragmente de cod în cadrele acceptate. Aceste fragmente pot fi căutate și aplicate ulterior, dacă este necesar.
Codurile din transformarea precedentă sunt coduri SNOMED-CT care corespund următoarelor condiții. The heart failure
or chronic congestive heart failure
starea devine eticheta. Folosim condițiile rămase ca caracteristici pentru prezicerea insuficienței cardiace. Aruncăm și câteva coloane care nu mai sunt necesare.
- Apoi, să adăugăm o transformare personalizată în PySpark:
Efectuăm o îmbinare exterioară stângă pentru a păstra toate intrările din cadrul de date pentru insuficiență cardiacă. O nouă coloană
has_xxx
este calculat pentru fiecare condiție, alta decât insuficiența cardiacă, pe baza datei de începere a afecțiunii. Suntem interesați doar de afecțiunile medicale care au fost înregistrate înainte de insuficiența cardiacă și le folosim ca caracteristici pentru prezicerea insuficienței cardiace. - Adăugați un încorporat Gestionați coloanele transformați pentru a elimina coloanele redundante care nu mai sunt necesare:
hypertension
diabetes
coronary
smoke
atrial
- Extrage
Year
șiQuarter
de laheartfailure
coloana.
Aceasta se potrivește cu granularitatea pe care am folosit-o mai devreme în transformareaobservations
set de date. - Ar trebui să avem un total de 6 pași pentru conditions.csv.
Conectați condition.csv la setul de date alăturat
Acum efectuăm o nouă îmbinare pentru a alătura setul de date de condiții la unire patients
și observations
set de date.
- Alege Transformare: prima alăturare.
- Alegeți semnul plus și alegeți Alatura-te.
- Alege paşi chiar lângă Transformă: conditions.csv.
- Alege Configurare.
- Pentru Alăturați-vă tipului, alege Stânga în exterior.
- Pentru Stânga, alege Id.
- Pentru Dreapta, alege pacient.
- Alege Anunţ, Apoi alegeți Adăuga.
Adăugați transformări la seturile de date unite
Acum că avem toate cele trei seturi de date unite, să aplicăm câteva transformări suplimentare.
- Adăugați următoarea transformare personalizată în PySpark, deci
has_heartfailure
devine coloana noastră de etichete: - Adăugați următoarea transformare personalizată în PySpark:
- Eliminați coloanele redundante care nu mai sunt necesare:
Id
DATE_year
DATE_quarter
patient
heartfailure
heartfailure_year
heartfailure_quarter
- Pe Analiză filă, pentru Tipul analizei¸ alege Rezumatul tabelului.
O scanare rapidă prin rezumat arată căMARITAL
coloana are date lipsă. - Alege Date filă și adăugați un pas.
- Alege Mâner Lipsă.
- Pentru Transforma, alege Umplere lipsă.
- Pentru Coloane de intrare, alege MARITAL.
- Pentru Valoarea de umplere, introduce
S
.
Strategia noastră aici este să presupunem că pacientul este singur dacă starea civilă are valoare lipsă. Poți avea o strategie diferită. - Alege Anunţ, Apoi alegeți Adăuga.
- Completați valoarea lipsă ca 0 pentru
has_hypertension
,has_diabetes
,has_coronary
,has_smoke
,has_atrial
.
Marital
și Gender
sunt variabile categoriale. Data Wrangler are o funcție încorporată pentru a codifica variabilele categoriale.
- Adăugați un pas și alegeți Codificare categorială.
- Pentru Transforma, alege One-hot codificare.
- Pentru Coloane de intrare, alege MARITAL.
- Pentru Stilul de ieșire, alege Coloană.
Acest stil de ieșire produce valori codificate în coloane separate. - Alege Anunţ, Apoi alegeți Adăuga.
- Repetați acești pași pentru Gen coloana.
Codificarea one-hot împarte coloana Marital în Marital_M
(căsătorit) și Marital_S
(singur) și împarte coloana Sex în Gender_M
(masculin) și Gender_F
(Femeie). Deoarece Marital_M
și Marital_S
se exclud reciproc (cum sunt Gender_M
și Gender_F
), putem arunca o coloană pentru a evita caracteristicile redundante.
- Picătură
Marital_S
șiGender_F
.
Caracteristicile numerice, cum ar fi sistolica, ritmul cardiac și vârsta au standarde de unitate diferite. Pentru un model bazat pe regresie liniară, trebuie să normalizăm mai întâi aceste caracteristici numerice. În caz contrar, unele caracteristici cu valori absolute mai mari pot avea un avantaj nejustificat față de alte caracteristici cu valori absolute mai mici și pot duce la performanțe slabe ale modelului. Data Wrangler are scalatorul de transformare Min-max încorporat pentru a normaliza datele. Pentru un model de clasificare bazat pe arborele de decizie, normalizarea nu este necesară. Studiul nostru este o problemă de clasificare, așa că nu trebuie să aplicăm normalizarea. Clasele dezechilibrate sunt o problemă comună în clasificare. Dezechilibrul are loc atunci când setul de date de antrenament conține o distribuție de clasă grav denaturată. De exemplu, atunci când setul nostru de date conține în mod disproporționat mai mulți pacienți fără insuficiență cardiacă decât pacienți cu insuficiență cardiacă, poate face ca modelul să fie părtinitor spre a nu prezice insuficiență cardiacă și poate avea performanțe slabe. Data Wrangler are o funcție încorporată pentru a rezolva problema.
- Adăugați o transformare personalizată în Pandas pentru a converti tipul de date al coloanelor din tipul „obiect” în tipul numeric:
- Alege Analiză tab.
- Pentru Tipul analizei¸ alege Histogramă.
- Pentru Axa X, alege are_insuficienţă cardiacă.
- Alege Anunţ.
Este evident că avem o clasă dezechilibrată (mai multe puncte de date etichetate ca fără insuficiență cardiacă decât puncte de date etichetate ca insuficiență cardiacă). - Du-te înapoi la Date filă. Alege Adăugați pasul Și alegeți Datele de echilibru.
- Pentru Coloana țintă, alege are_insuficienţă cardiacă.
- Pentru Raportul dorit, introduce
1
. - Pentru Transforma, alege bătuseră,.
SMOTE înseamnă Synthetic Minority Over-sampling Technique. Este o tehnică de a crea noi instanțe minoritare și de a le adăuga la setul de date pentru a ajunge la echilibrul clasei. Pentru informații detaliate, consultați SMOTE: Tehnica de supraeșantionare a minorității sintetice. - Alege Anunţ, Apoi alegeți Adăuga.
- Repetați analiza histogramei la pasul 20-23. Rezultatul este o clasă echilibrată.
Vizualizați scurgerea țintă și corelarea caracteristicilor
În continuare, vom efectua câteva analize vizuale folosind setul bogat de instrumente Data Wrangler de tipuri de analize avansate acceptate de ML. În primul rând, ne uităm la scurgerea țintă. Scurgerea țintă are loc atunci când datele din setul de date de antrenament sunt strâns corelate cu eticheta țintă, dar nu sunt disponibile în datele din lumea reală la momentul deducerii.
- Pe Fila Analiză, Pentru Tipul analizei¸ alege Scurgere țintă.
- Pentru Tipul problemei, alege clasificare.
- Pentru Ţintă, alege are_insuficienţă cardiacă.
- Alege Anunţ.
Pe baza analizei,hr
este o scurgere țintă. Îl vom renunța într-un pas ulterior.age
este semnalată o scurgere țintă. Este rezonabil să spunem că vârsta unui pacient va fi disponibilă în timpul perioadei de inferență, așa că păstrăm vârsta ca o caracteristică.Systolic
șidiastolic
sunt, de asemenea, semnalate ca fiind probabil scurgeri țintă. Ne așteptăm să avem cele două măsurători în timpul timpului de inferență, așa că le păstrăm ca caracteristici. - Alege Adăuga pentru a adăuga analiza.
Apoi, ne uităm la corelarea caracteristicilor. Dorim să selectăm caracteristici care sunt corelate cu ținta, dar care sunt necorelate între ele.
- Pe Fila Analiză, Pentru Tipul analizei¸ alege Corelația caracteristicilor.
- Pentru Tipul de corelație¸ alege liniar.
- Alege Anunţ.
Scorurile coeficientului indică corelații puternice între următoarele perechi:
systolic
șidiastolic
bmi
șiage
has_hypertension
șihas_heartfailure
(eticheta)
Pentru caracteristicile care sunt puternic corelate, matricele sunt dificil de inversat din punct de vedere computațional, ceea ce poate duce la estimări instabile numeric. Pentru a atenua corelația, putem elimina pur și simplu unul din pereche. Scăpăm diastolic
și bmi
și păstrează systolic
și age
într-o etapă ulterioară.
Aruncați coloanele diastolice și IMC
Adăugați pași de transformare suplimentari pentru a renunța la hr
, diastolic
și bmi
coloane folosind transformarea încorporată.
Generați raportul privind calitatea datelor și informații
AWS recent a anunțat noua funcție de raport privind calitatea datelor și statisticile din Data Wrangler. Acest raport verifică automat calitatea datelor și detectează anomalii în datele dvs. Oamenii de știință de date și inginerii de date pot folosi acest instrument pentru a aplica eficient și rapid cunoștințele de domeniu pentru a procesa seturi de date pentru formarea modelului ML. Acest pas este opțional. Pentru a genera acest raport pe seturile noastre de date, parcurgeți următorii pași:
- Pe Analiză filă, pentru Tipul analizei, alege Raport privind calitatea datelor și perspective.
- Pentru Coloana țintă, alege are_insuficienţă cardiacă.
- Pentru Tipul problemei, Selectați Clasificare.
- Alege Crea.
În câteva minute, generează un raport cu un rezumat, elemente vizuale și recomandări.
Generați o analiză rapidă a modelului
Am finalizat pregătirea datelor, curățarea și ingineria caracteristicilor. Data Wrangler are o funcție încorporată care oferă o estimare aproximativă a calității estimate așteptate și a puterii de predicție a caracteristicilor din setul nostru de date.
- Pe Analiză filă, pentru Tipul analizei¸ alege Model rapid.
- Pentru Etichetă, alege are_insuficienţă cardiacă.
- Alege Anunţ.
Conform analizei noastre Quick Model, putem vedea caracteristica has_hypertension
are cel mai mare scor de importanță a caracteristicilor dintre toate caracteristicile.
Exportați datele și antrenați modelul
Acum haideți să exportăm caracteristicile transformate pregătite pentru ML într-un compartiment S3 de destinație și să scalam întreaga conductă de inginerie de caracteristici pe care am creat-o până acum utilizând mostrele în întregul set de date într-un mod distribuit.
- Alegeți semnul plus de lângă ultima casetă din fluxul de date și alegeți Adăugați destinația.
- Alege Amazon S3.
- Introduceţi un Numele setului de date. Pentru Locație Amazon S3, alegeți o găleată S3, apoi alegeți Adăugați o destinație.
- Alege Creați loc de muncă pentru a lansa o lucrare de procesare PySpark distribuită pentru a efectua transformarea și a scoate datele în compartimentul S3 de destinație.
În funcție de dimensiunea seturilor de date, această opțiune ne permite să configuram cu ușurință clusterul și să scalam orizontal fără cod. Nu trebuie să ne facem griji cu privire la partiționarea setului de date sau la gestionarea clusterului și a elementelor interne Spark. Toate acestea sunt îngrijite automat pentru noi de Data Wrangler. - În panoul din stânga, alegeți Apoi, 2. Configurați job.
- Atunci alege Alerga.
Alternativ, putem exporta și ieșirea transformată în S3 printr-un notebook Jupyter. Cu această abordare, Data Wrangler generează automat un blocnotes Jupyter cu tot codul necesar pentru a începe o lucrare de procesare pentru a aplica pașii fluxului de date (creați folosind un eșantion) pe setul de date complet mai mare și pentru a utiliza setul de date transformat ca caracteristici pentru a lansa mai târziu de la un loc de muncă. Codul notebook-ului poate fi rulat cu ușurință cu sau fără modificări. Să parcurgem acum pașii despre cum să faceți acest lucru prin interfața de utilizare a Data Wrangler.
- Alegeți semnul plus de lângă ultimul pas din fluxul de date și alegeți Export către.
- Alege Amazon S3 (prin Jupyter Notebook).
- Deschide automat o filă nouă cu un blocnotes Jupyter.
- În blocnotesul Jupyter, localizați celula din (Opțional) Următorii pași secțiune și schimbare
run_optional_steps
dinFalse
laTrue
.
Pașii opționali activați în notebook efectuează următoarele: - Reveniți în partea de sus a caietului și pe Alerga meniu, alegeți Rulați toate celulele.
Dacă utilizați blocnotesul generat așa cum este, acesta lansează o sarcină de procesare SageMaker care extinde procesarea în două instanțe m5.4xlarge pentru a procesa setul complet de date din compartimentul S3. Puteți ajusta numărul de instanțe și tipurile de instanțe în funcție de dimensiunea setului de date și de timpul de care aveți nevoie pentru a finaliza lucrarea.
Așteptați până la finalizarea lucrării de antrenament din ultima celulă. Acesta generează un model în găleata S3 implicită SageMaker.
Modelul instruit este gata pentru implementare fie pentru inferență în timp real, fie pentru transformare în lot. Rețineți că am folosit date sintetice pentru a demonstra funcționalitățile în Data Wrangler și am folosit date procesate pentru modelul de antrenament. Având în vedere că datele pe care le-am folosit sunt sintetice, rezultatul inferenței din modelul antrenat nu este menit pentru diagnosticarea stării medicale în lumea reală sau înlocuirea raționamentului din partea medicilor.
De asemenea, puteți exporta direct setul de date transformat în Amazon S3, alegând Export în partea de sus a paginii de previzualizare a transformării. Opțiunea de export direct exportă proba transformată numai dacă eșantionarea a fost activată în timpul importului. Această opțiune este cea mai potrivită dacă aveți de-a face cu seturi de date mai mici. Datele transformate pot fi, de asemenea, ingerate direct într-un magazin de caracteristici. Pentru mai multe informații, consultați Magazinul de caracteristici Amazon SageMaker. Fluxul de date poate fi, de asemenea, exportat ca o conductă SageMaker care poate fi orchestrată și programată conform cerințelor dumneavoastră. Pentru mai multe informații, vezi Pipelines Amazon SageMaker.
Concluzie
În această postare, am arătat cum să folosim Data Wrangler pentru a procesa datele de asistență medicală și pentru a realiza inginerie scalabilă a caracteristicilor într-un mod bazat pe instrumente, cu cod redus. Am învățat cum să aplicăm transformările și analizele încorporate în mod adecvat oriunde este necesar, combinându-le cu transformări personalizate pentru a adăuga și mai multă flexibilitate fluxului nostru de lucru de pregătire a datelor. De asemenea, am parcurs diferitele opțiuni pentru extinderea rețetei fluxului de date prin joburi de procesare distribuită. De asemenea, am învățat cum datele transformate pot fi utilizate cu ușurință pentru antrenarea unui model care să prezică insuficiența cardiacă.
Există multe alte funcții în Data Wrangler pe care nu le-am acoperit în această postare. Explorați ce este posibil în Pregătiți datele ML cu Amazon SageMaker Data Wrangler și învață cum să folosești Data Wrangler pentru următorul tău proiect de știință a datelor sau de învățare automată.
Despre Autori
Forrest Sun este arhitect senior de soluții cu echipa AWS Public Sector din Toronto, Canada. În ultimele două decenii, a lucrat în domeniul sănătății și al finanțelor. În afara serviciului, îi place să campeze împreună cu familia.
Arunprasath Shankar este un arhitect specializat în soluții de inteligență artificială și învățare automată (AI / ML) cu AWS, ajutând clienții globali să își scaleze soluțiile de AI în mod eficient și eficient în cloud. În timpul liber, lui Arun îi place să urmărească filme SF și să asculte muzică clasică.
- AI
- ai art
- ai art generator
- ai robot
- Amazon SageMaker
- Amazon SageMaker Data Wrangler
- inteligență artificială
- certificare de inteligență artificială
- inteligența artificială în domeniul bancar
- robot cu inteligență artificială
- roboți cu inteligență artificială
- software de inteligență artificială
- Învățare automată AWS
- blockchain
- conferință blockchain ai
- coingenius
- inteligența artificială conversațională
- criptoconferință ai
- dall-e
- învățare profundă
- google ai
- masina de învățare
- Plato
- platoul ai
- Informații despre date Platon
- Jocul lui Platon
- PlatoData
- platogaming
- scara ai
- sintaxă
- zephyrnet