Rakenduse Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence pakub laiaulatuslikku tervishoiu- ja bioteaduste projekteerimist. Vertikaalne otsing. Ai.

Rakenduse Amazon SageMaker Data Wrangler pakub laiaulatuslikku tervishoiu- ja bioteaduste projekteerimist

Masinõpe (ML) häirib paljusid tööstusharusid enneolematu kiirusega. Tervishoiu- ja bioteaduste (HCLS) tööstus on viimastel aastatel teinud läbi kiire arengu, hõlmates ML-i paljudel kasutusjuhtudel, et pakkuda kvaliteetset ravi ja parandada patsiendi tulemusi.

Tüüpilises ML-i elutsüklis kulutavad andmeinsenerid ja teadlased suurema osa oma ajast andmete ettevalmistamisele ja funktsioonide projekteerimise etappidele, enne kui alustavad mudelite loomise ja koolitusega. Nende isikute jaoks on väga soovitav omada tööriist, mis võib vähendada andmete ettevalmistamisel sisenemise barjääri ja seeläbi parandada tootlikkust. Amazon SageMaker Data Wrangler on AWS-i otstarbeks loodud, et vähendada õppimiskõverat ja võimaldada andmekasutajatel täita andmete ettevalmistamise, puhastamise ja funktsioonide projekteerimise ülesandeid väiksema vaeva ja ajaga. See pakub GUI-liidest, millel on palju sisseehitatud funktsioone ja integratsioone teiste AWS-teenustega, näiteks Amazoni lihtne salvestusteenus (Amazon S3) ja Amazon SageMakeri funktsioonipood, aga ka partnerite andmeallikad, sealhulgas Snowflake ja Databricks.

Selles postituses näitame, kuidas kasutada Data Wranglerit tervishoiuandmete ettevalmistamiseks südamepuudulikkuse prognoosimise mudeli väljaõppeks, võttes arvesse patsiendi demograafilist teavet, eelnevaid haigusseisundeid ja laboratoorsete testide tulemuste ajalugu.

Lahenduse ülevaade

Lahendus koosneb järgmistest sammudest:

  1. Hankige tervishoiuandmete kogum Data Wrangleri sisendiks.
  2. Kasutage andmestiku teisendamiseks Data Wrangleri sisseehitatud teisendusfunktsioone. See hõlmab veergude langetamist, andmete/aja iseloomustamist, andmekogumite ühendamist, puuduvate väärtuste arvutamist, kategooriliste muutujate kodeerimist, numbriliste väärtuste skaleerimist, andmestiku tasakaalustamist ja palju muud.
  3. Kasutage Data Wrangleri kohandatud teisendusfunktsiooni (Pandase või PySparki kood), et täiendada lisaks sisseehitatud teisendustele vajalikke täiendavaid teisendusi ja näidata Data Wrangleri laiendatavust. See hõlmab ridade filtreerimist, andmete rühmitamist, uute andmeraamide moodustamist tingimuste alusel ja palju muud.
  4. Visuaalse analüüsi tegemiseks kasutage Data Wrangleri sisseehitatud visualiseerimisfunktsioone. See hõlmab sihtleket, funktsioonide korrelatsiooni, kiirmudelit ja palju muud.
  5. Kasutage Data Wrangleri sisseehitatud ekspordisuvandeid, et eksportida teisendatud andmestik Amazon S3-sse.
  6. Käivitage Jupyteri sülearvuti, et kasutada Amazon S3 teisendatud andmekogumit mudeli koolitamiseks sisendina.

Andmestiku genereerimine

Nüüd, kui oleme leppinud ML-i probleemiavaldusega, seadsime esmalt sihiks vajalike andmete hankimine. Uuringud nagu Südamepuudulikkuse ennustamine võib esitada andmeid, mis on juba korras. Siiski kohtame sageli stsenaariume, kus andmed on üsna segased ja nõuavad ühendamist, puhastamist ja mitmeid muid tervishoiuvaldkonnale väga spetsiifilisi transformatsioone, enne kui neid saab kasutada ML-treeninguks. Soovime leida või genereerida piisavalt segaseid andmeid ja juhendada teid nende ettevalmistamise etapis Data Wrangleri abil. Seda silmas pidades valisime Synthea vahendiks sünteetiliste andmete genereerimiseks, mis sobivad meie eesmärgiga. Synthea on avatud lähtekoodiga sünteetiliste patsientide generaator, mis modelleerib sünteetiliste patsientide haiguslugu. Andmestiku loomiseks toimige järgmiselt.

  1. Järgige juhiseid vastavalt kiire algus dokumentatsiooni loomiseks Amazon SageMaker Studio domeen ja käivitage Studio.
    See on eeltingimus. See on valikuline, kui Studio on teie kontol juba seadistatud.
  2. Pärast Studio käivitamist Launcher valige vahekaart Süsteemi terminal.
    See käivitab terminaliseansi, mis annab teile töötamiseks käsurea liidese.
  3. Synthea installimiseks ja andmestiku genereerimiseks CSV-vormingus käivitage käivitatud terminaliseansil järgmised käsud:
    $ sudo yum install -y java-1.8.0-openjdk-devel
    $ export JAVA_HOME=/usr/lib/jvm/jre-1.8.0-openjdk.x86_64
    $ export PATH=$JAVA_HOME/bin:$PATH
    $ git clone https://github.com/synthetichealth/synthea
    $ git checkout v3.0.0
    $ cd synthea
    $ ./run_synthea --exporter.csv.export=true -p 10000

Pakume parameetrit 10,000 XNUMX suuruse populatsiooniga andmekogumite genereerimiseks. Pange tähele, et suuruse parameeter tähistab populatsiooni elusate liikmete arvu. Lisaks genereerib Synthea andmeid populatsiooni surnud liikmete kohta, mis võivad lisaks määratud valimi suurusele lisada mõned täiendavad andmepunktid.

Oodake, kuni andmete genereerimine on lõppenud. See etapp kestab tavaliselt umbes tund või vähem. Synthea genereerib mitu andmestikku, sealhulgas patients, medications, allergies, conditions, ja veel. Selle postituse jaoks kasutame kolme saadud andmekogumit:

  • patsiendid.csv - See andmestik on umbes 3.2 MB ja sisaldab ligikaudu 11,000 25 rida patsiendi andmeid (XNUMX veergu, sealhulgas patsiendi ID, sünnikuupäev, sugu, aadress ja palju muud)
  • tingimused.csv - See andmekogum on umbes 47 MB ​​ja sisaldab ligikaudu 370,000 XNUMX rida tervisliku seisundi andmeid (kuus veergu, sealhulgas patsiendi ID, seisundi alguskuupäev, seisundi kood ja palju muud)
  • tähelepanekud.csv - See andmestik on umbes 830 MB ja sisaldab ligikaudu 5 miljonit rida vaatlusandmeid (kaheksa veergu, sealhulgas patsiendi ID, vaatluskuupäev, vaatluskood, väärtus ja palju muud)

Nende vahel on suhe üks-mitmele patients ja conditions andmestikud. Nende vahel on ka üks-mitmele suhe patients ja observations andmestikud. Üksikasjaliku andmesõnastiku saamiseks vaadake CSV-faili andmete sõnastik.

  1. Loodud andmekogumite Amazon S3 allika ämbrisse üleslaadimiseks käivitage terminaliseansil järgmised käsud:
    $ cd ./output/csv
    $ aws s3 sync . s3://<source bucket name>/

Käivitage Data Wrangler

Vali SageMakeri ressursid Studio navigeerimislehel ja Projektid menüüst valige Data Wrangler Data Wrangleri andmevoo loomiseks. Üksikasjalikud juhised Data Wrangleri käivitamiseks Studiost leiate artiklist Alustage Data Wrangleriga.

Rakenduse Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence pakub laiaulatuslikku tervishoiu- ja bioteaduste projekteerimist. Vertikaalne otsing. Ai.

Andmete importimine

Andmete importimiseks toimige järgmiselt.

  1. Vali Amazon S3 ja leidke S3 ämbris fail patients.csv.
  2. aasta Detailid paneel, valige Esiteks K eest väljavõtteline uuring.
  3. sisene 1100 eest Näidissuurus.
    Eelvaatepaanil tõmbab Data Wrangler andmestikust esimesed 100 rida ja loetleb need eelvaatena.
  4. Vali Import.
    Data Wrangler valib Synthea loodud patsientide koguarvust (1,100 11,000 rida) esimesed XNUMX patsienti ja impordib andmed. Valimimeetod võimaldab Data Wrangleril töödelda ainult näidisandmeid. See võimaldab meil arendada andmevoogu väiksema andmestikuga, mille tulemuseks on kiirem töötlemine ja lühem tagasiside. Pärast andmevoo loomist saame väljatöötatud retsepti esitada aadressile a SageMakeri töötlemine töö täieliku või suurema andmestiku töötlemise horisontaalseks skaleerimiseks hajutatud viisil.
    Rakenduse Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence pakub laiaulatuslikku tervishoiu- ja bioteaduste projekteerimist. Vertikaalne otsing. Ai.
  5. Korrake seda protsessi conditions ja observations andmestikud.
    1. Jaoks conditions andmekogum, sisestage 37000 eest Näidissuurus, mis on 1/10 Synthea loodud 370,000 XNUMX reast.
    2. Jaoks observations andmekogum, sisestage 500000 eest Näidissuurus, mis on 1/10 Synthea loodud 5 miljonist reast.

Peaksite nägema kolme andmekogumit, nagu on näidatud järgmisel ekraanipildil.

Rakenduse Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence pakub laiaulatuslikku tervishoiu- ja bioteaduste projekteerimist. Vertikaalne otsing. Ai.

Muutke andmed

Andmete teisendamine on andmestiku ühe või mitme veeru struktuuri, väärtuse või vormingu muutmise protsess. Protsessi töötab tavaliselt välja andmeinsener ja väiksema andmeinseneri oskustega inimestele võib teisenduseks pakutud loogika dešifreerimine olla keeruline. Andmete teisendamine on osa laiemast funktsioonide kavandamise protsessist ja õige sammude jada on veel üks oluline kriteerium, mida selliste retseptide koostamisel meeles pidada.

Data Wrangler on loodud olema madala koodiga tööriist, mis vähendab tõhusa andmete ettevalmistamise barjääri. Kaasas üle 300 eelkonfigureeritud andmeteisendusega, mille hulgast saate valida ilma ühtegi koodirida kirjutamata. Järgmistes jaotistes näeme, kuidas Data Wrangleris imporditud andmekogumeid teisendada.

Drop veerud patsientidel.csv

Esmalt jätame mõned veerud välja patients andmestik. Üleliigsete veergude eemaldamine eemaldab andmekogumist ebaolulise teabe ja aitab meil vähendada andmestiku töötlemiseks ja mudeli koolitamiseks vajalike arvutusressursside hulka. Selles jaotises eemaldame veerud, nagu SSN või passinumber, lähtudes tervest mõistusest, et neil veergudel pole ennustavat väärtust. Teisisõnu ei aita need meie mudelil ennustada südamepuudulikkust. Meie uuring ei puuduta ka muid veerge, nagu sünnikodu või tervishoiukulude mõju patsiendi südamepuudulikkusele, seega jätame need ka välja. Üleliigseid veerge saab tuvastada ka Data Wranglerisse sisseehitatud sisseehitatud analüüside (nt sihtleke, funktsioonide korrelatsioon, multikollineaarsus ja muu) käivitamisega. Lisateavet toetatud analüüsitüüpide kohta leiate aadressilt Analüüsige ja visualiseerige. Lisaks saate kasutada Andmekvaliteedi ja ülevaate aruanne andmehulkade automatiseeritud analüüside tegemiseks, et saada kõrvaldatavate üleliigsete veergude loend.

  1. Valige kõrval olev plussmärk Andmetüübid patsientide jaoks.csv andmestik ja valige Lisa teisendus.
    Rakenduse Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence pakub laiaulatuslikku tervishoiu- ja bioteaduste projekteerimist. Vertikaalne otsing. Ai.
  2. Vali Lisa samm Ja vali Veergude haldamine.
    Rakenduse Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence pakub laiaulatuslikku tervishoiu- ja bioteaduste projekteerimist. Vertikaalne otsing. Ai.
  3. eest Muutma¸ vali Langetage veerg.
  4. eest Veerud kukutamiseks, valige järgmised veerud:
    1. SSN
    2. DRIVERS
    3. PASSPORT
    4. PREFIX
    5. FIRST
    6. LAST
    7. SUFFIX
    8. MAIDEN
    9. RACE
    10. ETHNICITY
    11. BIRTHPLACE
    12. ADDRESS
    13. CITY
    14. STATE
    15. COUNTY
    16. ZIP
    17. LAT
    18. LON
    19. HEALTHCARE_EXPENSES
    20. HEALTHCARE_COVERAGE
  5. Vali Eelvaade teisendatud andmestiku ülevaatamiseks, seejärel valige lisama.
    Rakenduse Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence pakub laiaulatuslikku tervishoiu- ja bioteaduste projekteerimist. Vertikaalne otsing. Ai.
    Peaksite sammu nägema Langetage veerg teie teisenduste loendis.
    Rakenduse Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence pakub laiaulatuslikku tervishoiu- ja bioteaduste projekteerimist. Vertikaalne otsing. Ai.

Tutvustage kuupäeva/kellaaega patsientide.csv-s

Nüüd kasutame uue funktsiooni loomiseks funktsiooni Kuupäeva/kellaaja esiletõstmine Year alates BIRTHDATE veerg patients andmestik. Kasutame uut funktsiooni järgmises etapis, et arvutada välja patsiendi vanus vaatluse ajal.

  1. aasta Transformeerub teie paan Langetage veerg leht jaoks patients andmestik, valige Lisa samm.
  2. Vali Esitage kuupäev/kellaaeg teisendada.
    Rakenduse Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence pakub laiaulatuslikku tervishoiu- ja bioteaduste projekteerimist. Vertikaalne otsing. Ai.
  3. Vali Ekstrakti veerud.
  4. eest Sisestusveerud, lisage veerg BIRTHDATE.
  5. valima Tootmisaasta ja tühistage valik kuu, päev, tund, Minut, Teiseks.
    Rakenduse Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence pakub laiaulatuslikku tervishoiu- ja bioteaduste projekteerimist. Vertikaalne otsing. Ai.
  6. Vali Eelvaade, siis vali lisama.

Lisage vaatlused.csv-s teisendused

Data Wrangler toetab kohandatud teisendusi Pythoni (kasutaja määratud funktsioonid), PySparki, Pandase või PySparki (SQL) abil. Saate valida teisendustüübi, lähtudes iga valiku ja eelistuste tundmisest. Viimase kolme valiku puhul paljastab Data Wrangler muutuja df et pääseksite juurde andmeraamile ja rakendaksite selles teisendusi. Üksikasjaliku selgituse ja näidete saamiseks vaadake Kohandatud teisendused. Selles jaotises lisame kolm kohandatud teisendust observations andmestik.

  1. Lisage failile Observations.csv teisendus ja loobuge DESCRIPTION kolonni.
    Rakenduse Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence pakub laiaulatuslikku tervishoiu- ja bioteaduste projekteerimist. Vertikaalne otsing. Ai.
  2. Vali Eelvaade, siis vali lisama.
  3. aasta Transformeerub paneel, valige Lisa samm Ja vali Kohandatud teisendus.
  4. Valige rippmenüüst Python (Pandad).
    Rakenduse Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence pakub laiaulatuslikku tervishoiu- ja bioteaduste projekteerimist. Vertikaalne otsing. Ai.
  5. Sisestage järgmine kood:
    df = df[df["CODE"].isin(['8867-4','8480-6','8462-4','39156-5','777-3'])]

    Need on LONIC-koodid, mis vastavad järgmistele tähelepanekutele, millest oleme huvitatud südamepuudulikkuse ennustamise funktsioonidena.

    heart rate: 8867-4
    systolic blood pressure: 8480-6
    diastolic blood pressure: 8462-4
    body mass index (BMI): 39156-5
    platelets [#/volume] in Blood: 777-3

  6. Vali Eelvaade, siis vali lisama.
  7. Lisage ekstraktimiseks teisendus Year ja Quarter alates DATE kolonni.
    Rakenduse Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence pakub laiaulatuslikku tervishoiu- ja bioteaduste projekteerimist. Vertikaalne otsing. Ai.
  8. Vali Eelvaade, siis vali lisama.
  9. Vali Lisa samm Ja vali Kohandatud teisendus.
  10. Valige rippmenüüst Python (PySpark).
    Rakenduse Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence pakub laiaulatuslikku tervishoiu- ja bioteaduste projekteerimist. Vertikaalne otsing. Ai.
    Viit tüüpi vaatlusi ei pruugita alati samal kuupäeval registreerida. Näiteks võib patsient pöörduda 21. jaanuaril perearsti poole ning lasta mõõta ja registreerida süstoolset vererõhku, diastoolset vererõhku, pulsisagedust ja kehamassiindeksit. Trombotsüüte sisaldava laboritesti võib siiski teha hiljem, 2. veebruaril. Seetõttu ei ole alati võimalik andmekaare vaatluskuupäevaks ühendada. Siin ühendame andmeraamid jämeda detailsuse alusel kvartalipõhiselt.
  11. Sisestage järgmine kood:
    from pyspark.sql.functions import col
    
    systolic_df = (
        df.select("patient", "DATE_year", "DATE_quarter", "value")
                       .withColumnRenamed("value", "systolic")
                       .filter((col("code") == "8480-6"))
      )
    
    diastolic_df = (
        df.select("patient", "DATE_year", "DATE_quarter", "value")
                       .withColumnRenamed('value', 'diastolic')
                       .filter((col("code") == "8462-4"))
        )
    
    hr_df = (
        df.select("patient", "DATE_year", "DATE_quarter", "value")
                       .withColumnRenamed('value', 'hr')
                       .filter((col("code") == "8867-4"))
        )
    
    bmi_df = (
        df.select("patient", "DATE_year", "DATE_quarter", "value")
                       .withColumnRenamed('value', 'bmi')
                       .filter((col("code") == "39156-5"))
        )
    
    platelets_df = (
        df.select("patient", "DATE_year", "DATE_quarter", "value")
                       .withColumnRenamed('value', 'platelets')
                       .filter((col("code") == "777-3"))
        )
    
    df = (
        systolic_df.join(diastolic_df, ["patient", "DATE_year", "DATE_quarter"])
                                .join(hr_df, ["patient", "DATE_year", "DATE_quarter"])
                                .join(bmi_df, ["patient", "DATE_year", "DATE_quarter"])
                                .join(platelets_df, ["patient", "DATE_year", "DATE_quarter"])
    )

  12. Vali Eelvaade, siis vali lisama.
  13. Vali Lisa samm, siis vali Ridade haldamine.
  14. eest Muutma, vali Loobuge duplikaadid.
    Rakenduse Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence pakub laiaulatuslikku tervishoiu- ja bioteaduste projekteerimist. Vertikaalne otsing. Ai.
  15. Vali Eelvaade, siis vali lisama.
  16. Vali Lisa samm Ja vali Kohandatud teisendus.
  17. Valige rippmenüüst Python (Pandad).
  18. Sisestage järgmine kood, et võtta sama ajaväärtusega andmepunktide keskmine:
    import pandas as pd
    df.loc[:, df.columns != 'patient']=df.loc[:, df.columns != 'patient'].apply(pd.to_numeric)
    df = df.groupby(['patient','DATE_year','DATE_quarter']).mean().round(0).reset_index()

  19. Vali Eelvaade, siis vali lisama.
    Rakenduse Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence pakub laiaulatuslikku tervishoiu- ja bioteaduste projekteerimist. Vertikaalne otsing. Ai.

Liituge patsientidega.csv ja vaatlused.csv

Selles etapis tutvustame, kuidas tõhusalt ja hõlpsalt andmehulkadega keerukaid liite teha ilma Data Wrangleri võimsa kasutajaliidese kaudu koodi kirjutamata. Toetatud liitetüüpide kohta lisateabe saamiseks vaadake Andmete teisendamine.

  1. Paremal Teisendus: patsiendid.csv, valige kõrval olev plussmärk Sammud Ja vali Liitu.
    Näete all loetletud muudetud patsientide.csv-faili Andmekogumid vasakul paanil.
    Rakenduse Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence pakub laiaulatuslikku tervishoiu- ja bioteaduste projekteerimist. Vertikaalne otsing. Ai.
  2. Paremal Teisendus: vaatlused.csv, klõpsake nuppu Sammud liitumisoperatsiooni algatamiseks.
    Teisendatud vaatlus.csv fail on nüüd loetletud all Andmekogumid vasakul paanil.
    Rakenduse Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence pakub laiaulatuslikku tervishoiu- ja bioteaduste projekteerimist. Vertikaalne otsing. Ai.
  3. Vali Seadistamine.
  4. eest Liitumise tüüp, vali Sisemine.
  5. eest Vasak, vali Id.
  6. eest Õigus, vali patsient.
  7. Vali Eelvaade, siis vali lisama.
    Rakenduse Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence pakub laiaulatuslikku tervishoiu- ja bioteaduste projekteerimist. Vertikaalne otsing. Ai.

Lisage ühendatud andmekogumitele kohandatud teisendus

Selles etapis arvutame välja patsiendi vanuse vaatluse ajal. Loobume ka veerud, mida enam ei vajata.

  1. Valige kõrval olev plussmärk 1. Liitu Ja vali Lisa teisendus.
  2. Lisage Pandas kohandatud teisendus:
    df['age'] = df['DATE_year'] - df['BIRTHDATE_year']
    df = df.drop(columns=['BIRTHDATE','DEATHDATE','BIRTHDATE_year','patient'])

  3. Vali Eelvaade, siis vali lisama.

Lisage faili condition.csv kohandatud teisendused

  1. Valige kõrval olev plussmärk Teisendus: tingimused.csv Ja vali Lisa teisendus.
  2. Lisage Pandas kohandatud teisendus:
    df = df[df["CODE"].isin(['84114007', '88805009', '59621000', '44054006', '53741008', '449868002', '49436004'])]
    df = df.drop(columns=['DESCRIPTION','ENCOUNTER','STOP'])

Märge: Nagu me varem näitasime, saate veerge maha jätta kas kohandatud koodi või Data Wrangleri pakutavate sisseehitatud teisenduste abil. Data Wrangleri kohandatud teisendused pakuvad paindlikkust, et tuua toetatud raamistikesse oma teisendusloogika koodilõikude kujul. Neid juppe saab hiljem vajadusel otsida ja rakendada.

Eelmise teisenduse koodid on SNOMED-CT koodid, mis vastavad järgmistele tingimustele. The heart failure or chronic congestive heart failure seisundist saab silt. Ülejäänud tingimusi kasutame südamepuudulikkuse prognoosimise funktsioonidena. Loobume ka mõned veerud, mida enam ei vajata.

Heart failure: 84114007
Chronic congestive heart failure: 88805009
Hypertension: 59621000
Diabetes: 44054006
Coronary Heart Disease: 53741008
Smokes tobacco daily: 449868002
Atrial Fibrillation: 49436004

  1. Järgmisena lisame PySparki kohandatud teisenduse:
    from pyspark.sql.functions import col, when
    
    heartfailure_df = (
        df.select("patient", "start")
                          .withColumnRenamed("start", "heartfailure")
                       .filter((col("code") == "84114007") | (col("code") == "88805009"))
      )
    
    hypertension_df = (
        df.select("patient", "start")
                       .withColumnRenamed("start", "hypertension")
                       .filter((col("code") == "59621000"))
      )
    
    diabetes_df = (
        df.select("patient", "start")
                       .withColumnRenamed("start", "diabetes")
                       .filter((col("code") == "44054006"))
      )
    
    coronary_df = (
        df.select("patient", "start")
                       .withColumnRenamed("start", "coronary")
                       .filter((col("code") == "53741008"))
      )
    
    smoke_df = (
        df.select("patient", "start")
                       .withColumnRenamed("start", "smoke")
                       .filter((col("code") == "449868002"))
      )
    
    atrial_df = (
        df.select("patient", "start")
                       .withColumnRenamed("start", "atrial")
                       .filter((col("code") == "49436004"))
      )
    
    df = (
        heartfailure_df.join(hypertension_df, ["patient"], "leftouter").withColumn("has_hypertension", when(col("hypertension") < col("heartfailure"), 1).otherwise(0))
        .join(diabetes_df, ["patient"], "leftouter").withColumn("has_diabetes", when(col("diabetes") < col("heartfailure"), 1).otherwise(0))
        .join(coronary_df, ["patient"], "leftouter").withColumn("has_coronary", when(col("coronary") < col("heartfailure"), 1).otherwise(0))
        .join(smoke_df, ["patient"], "leftouter").withColumn("has_smoke", when(col("smoke") < col("heartfailure"), 1).otherwise(0))
        .join(atrial_df, ["patient"], "leftouter").withColumn("has_atrial", when(col("atrial") < col("heartfailure"), 1).otherwise(0))
    )

    Teostame vasakpoolse välimise ühendamise, et säilitada kõik kirjed südamepuudulikkuse andmeraamis. Uus veerg has_xxx arvutatakse haigusseisundi alguskuupäeva alusel iga muu seisundi jaoks, välja arvatud südamepuudulikkus. Oleme huvitatud ainult meditsiinilistest seisunditest, mis registreeriti enne südamepuudulikkust, ja kasutame neid südamepuudulikkuse prognoosimise funktsioonidena.

  2. Lisage sisseehitatud Veergude haldamine teisenda, et loobuda üleliigsetest veergudest, mida enam ei vajata:
    1. hypertension
    2. diabetes
    3. coronary
    4. smoke
    5. atrial
  3. ekstrakt Year ja  Quarter alates heartfailure kolonni.
    See vastab granulaarsusele, mida me varem kasutasime teisenduses observations andmestik.
  4. Meil peaks tingimused.csv jaoks olema kokku 6 sammu.
    Rakenduse Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence pakub laiaulatuslikku tervishoiu- ja bioteaduste projekteerimist. Vertikaalne otsing. Ai.

Ühendage conditions.csv ühendatud andmekogumiga

Teostame nüüd uue ühendamise, et ühendada tingimuste andmekogum ühendatud andmetega patients ja observations andmestik.

  1. Vali Teisendus: 1. liitumine.
  2. Valige plussmärk ja valige Liitu.
  3. Vali Sammud kõrval Teisendus: tingimused.csv.
    Rakenduse Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence pakub laiaulatuslikku tervishoiu- ja bioteaduste projekteerimist. Vertikaalne otsing. Ai.
  4. Vali Seadistamine.
  5. eest Liitumise tüüp, vali Vasakpoolne.
  6. eest Vasak, vali Id.
  7. eest Õigus, vali patsient.
  8. Vali Eelvaade, siis vali lisama.
    Rakenduse Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence pakub laiaulatuslikku tervishoiu- ja bioteaduste projekteerimist. Vertikaalne otsing. Ai.

Lisage ühendatud andmekogumitele teisendusi

Nüüd, kui kõik kolm andmekogumit on ühendatud, rakendame täiendavaid teisendusi.

  1. Lisage PySparkis järgmine kohandatud teisendus nii has_heartfailure muutub meie sildiveerguks:
    from pyspark.sql.functions import col, when
    df = (
        df.withColumn("has_heartfailure", when(col("heartfailure").isNotNull(), 1).otherwise(0))
    )

  2. Lisage PySparkis järgmine kohandatud teisendus:
    from pyspark.sql.functions import col
    
    df = (
        df.filter(
          (col("has_heartfailure") == 0) | 
          ((col("has_heartfailure") == 1) & ((col("date_year") <= col("heartfailure_year")) | ((col("date_year") == col("heartfailure_year")) & (col("date_quarter") <= col("heartfailure_quarter")))))
        )
    )

    Oleme huvitatud ainult tähelepanekutest, mis on registreeritud enne südamepuudulikkuse diagnoosimist, ja kasutame neid südamepuudulikkuse prognoosimise funktsioonidena. Pärast südamepuudulikkuse diagnoosimist tehtud tähelepanekuid võivad mõjutada patsiendi kasutatavad ravimid, seega tahame need välja jätta.

  3. Loobuge üleliigsed veerud, mida enam ei vajata:
    1. Id
    2. DATE_year
    3. DATE_quarter
    4. patient
    5. heartfailure
    6. heartfailure_year
    7. heartfailure_quarter
  4. Kohta analüüs vahekaart, jaoks Analüüsi tüüp¸ vali Tabeli kokkuvõte.
    Kiire kokkuvõtte läbivaatamine näitab, et MARITAL veerus puuduvad andmed.
    Rakenduse Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence pakub laiaulatuslikku tervishoiu- ja bioteaduste projekteerimist. Vertikaalne otsing. Ai.
  5. Vali kuupäev vahekaarti ja lisage samm.
  6. Vali Käepide puudub.
  7. eest Muutma, vali Täitmine puudub.
  8. eest Sisestusveerud, vali Abielu.
  9. eest Täiteväärtus, sisenema S.
    Meie strateegia on eeldada, et patsient on vallaline, kui perekonnaseisul puudub väärtus. Teil võib olla erinev strateegia.
    Rakenduse Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence pakub laiaulatuslikku tervishoiu- ja bioteaduste projekteerimist. Vertikaalne otsing. Ai.
  10. Vali Eelvaade, siis vali lisama.
  11. Täitke puuduv väärtus 0-ks has_hypertension, has_diabetes, has_coronary, has_smoke, has_atrial.

Marital ja Gender on kategooria muutujad. Data Wrangleril on sisseehitatud funktsioon kategooriamuutujate kodeerimiseks.

  1. Lisage samm ja valige Kategooria kodeerimine.
  2. eest Muutma, vali Ühe kuuma kodeering.
  3. eest Sisestusveerud, vali Abielu.
  4. eest Väljundi stiil, vali Veerg.
    See väljundstiil loob kodeeritud väärtused eraldi veergudes.
    Rakenduse Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence pakub laiaulatuslikku tervishoiu- ja bioteaduste projekteerimist. Vertikaalne otsing. Ai.
  5. Vali Eelvaade, siis vali lisama.
  6. Korrake neid samme SUGU kolonni.

Ühevärviline kodeering jagab abielu veeru kaheks osaks Marital_M (abielus) ja Marital_S (üksik) ja jagab veeru Sugu järgmisteks osadeks Gender_M (mees) ja Gender_F (naine). Sest Marital_M ja Marital_S on üksteist välistavad (nagu on Gender_M ja Gender_F), võime üleliigsete funktsioonide vältimiseks ühe veeru välja jätta.

  1. Drop Marital_S ja Gender_F.

Numbrilistel funktsioonidel, nagu süstoolne, pulss ja vanus, on erinevad ühikustandardid. Lineaarse regressioonil põhineva mudeli jaoks peame esmalt need numbrilised tunnused normaliseerima. Vastasel juhul võivad mõnel kõrgema absoluutväärtusega funktsioonil olla põhjendamatu eelis teiste madalamate absoluutväärtustega funktsioonide ees ja tulemuseks on mudeli kehv jõudlus. Data Wrangleril on andmete normaliseerimiseks sisseehitatud Min-max skaalari. Otsustuspuul põhineva klassifikatsioonimudeli puhul ei ole normaliseerimine vajalik. Meie uuring on klassifitseerimisprobleem, nii et me ei pea normaliseerima. Tasakaalustamata klassid on klassifikatsioonis tavaline probleem. Tasakaalustamatus tekib siis, kui koolituse andmestik sisaldab tugevalt kallutatud klassijaotust. Näiteks kui meie andmestik sisaldab ebaproportsionaalselt rohkem südamepuudulikkuseta patsiente kui südamepuudulikkusega patsiente, võib see põhjustada mudeli kallutamist südamepuudulikkuse prognoosimise suunas ja halvasti. Data Wrangleril on probleemi lahendamiseks sisseehitatud funktsioon.

  1. Lisage Pandas kohandatud teisendus, et teisendada veergude andmetüüp „objektitüübist” numbritüübiks:
    import pandas as pd
    df=df.apply(pd.to_numeric)

  2. Vali analüüs Tab.
  3. eest Analüüsi tüüp¸ vali Histogramm.
  4. eest X-telje, vali on_südamepuudulikkus.
  5. Vali Eelvaade.
    Rakenduse Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence pakub laiaulatuslikku tervishoiu- ja bioteaduste projekteerimist. Vertikaalne otsing. Ai.
    On ilmne, et meil on tasakaalustamata klass (rohkem andmepunkte, mis on märgistatud kui südamepuudulikkust, kui andmepunkte, mis on märgistatud kui südamepuudulikkus).
  6. Mine tagasi kuupäev sakk. Vali Lisa samm Ja vali Saldo andmed.
  7. eest Sihtveerg, vali on_südamepuudulikkus.
  8. eest Soovitud suhe, sisenema 1.
  9. eest Muutma, vali SMOTE.
    Rakenduse Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence pakub laiaulatuslikku tervishoiu- ja bioteaduste projekteerimist. Vertikaalne otsing. Ai.
    SMOTE tähendab Synthetic Minority Over-sampling Technique. See on tehnika uute vähemuseksemplaride loomiseks ja andmekogusse lisamiseks, et saavutada klassi tasakaal. Üksikasjaliku teabe saamiseks vaadake SMOTE: Synthetic Minority Over-sampling Technique.
  10. Vali Eelvaade, siis vali lisama.
  11. Korrake histogrammi analüüsi sammudes 20–23. Tulemuseks on tasakaalustatud klass.
    Rakenduse Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence pakub laiaulatuslikku tervishoiu- ja bioteaduste projekteerimist. Vertikaalne otsing. Ai.

Visualiseerige sihtmärgi leket ja funktsioonide korrelatsiooni

Järgmisena teeme mõned visuaalsed analüüsid, kasutades Data Wrangleri täiustatud ML-toega analüüsitüüpide rikkalikku tööriistakomplekti. Esiteks vaatame sihtmärgi leket. Sihtleke ilmneb siis, kui treeningu andmestiku andmed on tugevas korrelatsioonis sihtmärgisega, kuid ei ole järelduse ajal reaalsetes andmetes saadaval.

  1. Kohta Analüüsi vahekaartJaoks Analüüsi tüüp¸ vali Sihtleke.
  2. eest Probleemi tüüp, vali klassifikatsioon.
  3. eest sihtmärk, vali on_südamepuudulikkus.
  4. Vali Eelvaade.
    Rakenduse Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence pakub laiaulatuslikku tervishoiu- ja bioteaduste projekteerimist. Vertikaalne otsing. Ai.
    Analüüsi põhjal hr on sihtleke. Loobume selle järgmises etapis. age märgitakse sihtlekkena. On mõistlik öelda, et patsiendi vanus on järelduste tegemise ajal saadaval, seega säilitame vanuse funktsioonina. Systolic ja diastolic on märgitud ka tõenäolise sihtlekkena. Eeldame, et kaks mõõtmist on järeldusaja jooksul, seega säilitame need funktsioonidena.
  5. Vali lisama analüüsi lisamiseks.

Seejärel vaatame funktsioonide korrelatsiooni. Soovime valida funktsioonid, mis on korrelatsioonis sihtmärgiga, kuid ei ole omavahel seotud.

  1. Kohta Analüüsi vahekaartJaoks Analüüsi tüüp¸ vali Funktsioonide korrelatsioon.
  2. eest Korrelatsiooni tüüp¸ vali sirgjooneline.
  3. Vali Eelvaade.
    Rakenduse Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence pakub laiaulatuslikku tervishoiu- ja bioteaduste projekteerimist. Vertikaalne otsing. Ai.

Koefitsientide skoorid näitavad tugevat korrelatsiooni järgmiste paaride vahel:

  • systolic ja diastolic
  • bmi ja age
  • has_hypertension ja has_heartfailure (silt)

Tugevas korrelatsioonis olevate tunnuste puhul on maatriksite arvutuslikult raske inverteerida, mis võib viia arvuliselt ebastabiilsete hinnanguteni. Korrelatsiooni leevendamiseks võime lihtsalt paarist ühe eemaldada. Me langeme diastolic ja bmi ja hoia alles systolic ja age järgmises etapis.

Langetage diastoolne ja BMI veerud

Lisage täiendavaid teisendusetappe, et tühistada hr, diastolic ja bmi veerud, kasutades sisseehitatud teisendust.

Looge andmete kvaliteedi ja ülevaate aruanne

AWS hiljuti teatas Data Wrangleri uus andmekvaliteedi ja ülevaate aruanne. See aruanne kontrollib automaatselt andmete kvaliteeti ja tuvastab teie andmetes esinevad kõrvalekalded. Andmeteadlased ja andmeinsenerid saavad seda tööriista kasutada domeeniteadmiste tõhusaks ja kiireks rakendamiseks ML-mudeli koolituse jaoks mõeldud andmekogumite töötlemiseks. See samm on valikuline. Selle aruande loomiseks meie andmekogumite kohta toimige järgmiselt.

  1. Kohta analüüs vahekaart, jaoks Analüüsi tüüp, vali Andmekvaliteedi ja ülevaate aruanne.
  2. eest Sihtveerg, vali on_südamepuudulikkus.
  3. eest Probleemi tüüpvalige Klassifikatsioon.
  4. Vali Looma.
    Rakenduse Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence pakub laiaulatuslikku tervishoiu- ja bioteaduste projekteerimist. Vertikaalne otsing. Ai.

Mõne minutiga loob see aruande koos kokkuvõtte, visuaalide ja soovitustega.

Looge kiirmudeli analüüs

Oleme lõpetanud andmete ettevalmistamise, puhastamise ja funktsioonide kavandamise. Data Wrangleril on sisseehitatud funktsioon, mis annab ligikaudse hinnangu meie andmestiku eeldatava prognoositava kvaliteedi ja funktsioonide ennustava võimsuse kohta.

  1. Kohta analüüs vahekaart, jaoks Analüüsi tüüp¸ vali Kiire mudel.
  2. eest silt, vali on_südamepuudulikkus.
  3. Vali Eelvaade.
    Rakenduse Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence pakub laiaulatuslikku tervishoiu- ja bioteaduste projekteerimist. Vertikaalne otsing. Ai.

Meie kiirmudeli analüüsi kohaselt näeme seda funktsiooni has_hypertension on kõigi funktsioonide seas kõrgeima funktsiooni tähtsuse skooriga.

Eksportige andmed ja treenige mudelit

Ekspordime nüüd teisendatud ML-valmidusega funktsioonid sihtkoha S3 ämbrisse ja skaleerime kogu funktsioonide insenerikonveieri, mille oleme seni proovide abil loonud, hajutatud viisil kogu andmestikuks.

  1. Valige andmevoo viimase kasti kõrval plussmärk ja valige Lisa sihtkoht.
  2. Vali Amazon S3.
    Rakenduse Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence pakub laiaulatuslikku tervishoiu- ja bioteaduste projekteerimist. Vertikaalne otsing. Ai.
  3. Märkida Andmestiku nimi. Foorum Amazon S3 asukoht, valige S3 ämber ja seejärel valige Lisa sihtkoht.
  4. Vali Loo töökoht hajutatud PySparki töötlemistöö käivitamiseks teisenduse tegemiseks ja andmete väljastamiseks sihtkoha S3 ämbrisse.
    Rakenduse Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence pakub laiaulatuslikku tervishoiu- ja bioteaduste projekteerimist. Vertikaalne otsing. Ai.
    Olenevalt andmekogumite suurusest võimaldab see suvand meil klastrit hõlpsasti konfigureerida ja horisontaalselt ilma koodita skaalata. Me ei pea muretsema andmekogumite partitsioonide või klastri ja Sparki sisemiste haldamise pärast. Selle kõige eest hoolitseb automaatselt meie eest Data Wrangler.
  5. Valige vasakul paanil Järgmiseks 2. Konfigureerige töö.
    Rakenduse Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence pakub laiaulatuslikku tervishoiu- ja bioteaduste projekteerimist. Vertikaalne otsing. Ai.
  6. Siis vali jooks.
    Rakenduse Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence pakub laiaulatuslikku tervishoiu- ja bioteaduste projekteerimist. Vertikaalne otsing. Ai.

Teise võimalusena saame teisendatud väljundi eksportida ka Jupyteri sülearvuti kaudu S3-sse. Selle lähenemisviisiga loob Data Wrangler automaatselt Jupyteri sülearvuti koos kogu koodiga, mis on vajalik töötlemistöö käivitamiseks, et rakendada andmevoo etapid (loodud näidise abil) suuremale täielikule andmestikule ja kasutada teisendatud andmekogumit funktsioonidena hiljem koolitustöölt ära. Märkmiku koodi saab hõlpsasti käivitada muudatustega või ilma. Vaatame nüüd läbi sammud, kuidas seda Data Wrangleri kasutajaliidese kaudu teha.

  1. Valige andmevoo viimase sammu kõrval plussmärk ja valige Eksport on.
  2. Vali Amazon S3 (Jupyteri sülearvuti kaudu).
    Rakenduse Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence pakub laiaulatuslikku tervishoiu- ja bioteaduste projekteerimist. Vertikaalne otsing. Ai.
  3. See avab Jupyteri märkmikuga automaatselt uue vahekaardi.
  4. Leidke Jupyteri märkmikus lahter (Valikuline) Järgmised sammud osa ja muuta run_optional_steps Alates False et True.
    Märkmikus lubatud valikulised toimingud toimivad järgmiselt.
    • Treenige mudelit XGBoosti abil
      Rakenduse Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence pakub laiaulatuslikku tervishoiu- ja bioteaduste projekteerimist. Vertikaalne otsing. Ai.
  5. Minge tagasi märkmiku ülaossa ja jooks menüüst valige Käivitage kõik rakud.

Kui kasutate loodud sülearvutit sellisel kujul, käivitab see SageMakeri töötlemistöö, mis skaleerib töötlemise kahe m5.4xsuure eksemplari vahel, et töödelda S3 ämbris olevat kogu andmestikku. Saate kohandada eksemplaride arvu ja eksemplaritüüpe vastavalt andmestiku suurusele ja töö lõpetamiseks vajaminevale ajale.

Rakenduse Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence pakub laiaulatuslikku tervishoiu- ja bioteaduste projekteerimist. Vertikaalne otsing. Ai.

Oodake, kuni viimase lahtri koolitustöö on lõpetatud. See loob mudeli SageMakeri vaike S3 ämbris.

Rakenduse Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence pakub laiaulatuslikku tervishoiu- ja bioteaduste projekteerimist. Vertikaalne otsing. Ai.

Koolitatud mudel on juurutamiseks valmis kas reaalajas järelduste tegemiseks või partii teisendamiseks. Pange tähele, et kasutasime Data Wrangleri funktsioonide demonstreerimiseks sünteetilisi andmeid ja treeningmudeli jaoks töödeldud andmeid. Arvestades, et kasutatud andmed on sünteetilised, ei ole koolitatud mudelist saadud järeldused mõeldud reaalse terviseseisundi diagnoosimiseks ega arstide hinnangute asendamiseks.

Valides saate oma teisendatud andmestiku otse Amazon S3-sse eksportida Eksport teisenduse eelvaate lehe ülaosas. Otsese ekspordi suvand ekspordib teisendatud proovi ainult siis, kui proovivõtt oli impordi ajal lubatud. See valik sobib kõige paremini, kui tegemist on väiksemate andmekogumitega. Teisendatud andmeid saab sisestada ka otse funktsioonide poodi. Lisateabe saamiseks vaadake Amazon SageMakeri funktsioonipood. Andmevoogu saab eksportida ka SageMakeri torujuhtmena, mida saab korraldada ja ajastada vastavalt teie vajadustele. Lisateabe saamiseks vt Amazon SageMakeri torujuhtmed.

Järeldus

Selles postituses näitasime, kuidas kasutada Data Wranglerit tervishoiuandmete töötlemiseks ja skaleeritavate funktsioonide projekteerimiseks tööriistapõhiselt ja vähese koodiga. Õppisime, kuidas rakendada sisseehitatud teisendusi ja analüüse sobivalt kõikjal, kus vaja, kombineerides seda kohandatud teisendustega, et anda andmete ettevalmistamise töövoogu veelgi paindlikumaks. Samuti vaatasime läbi erinevad võimalused andmevoo retsepti skaleerimiseks hajutatud töötlemistööde kaudu. Samuti saime teada, kuidas teisendatud andmeid saab hõlpsasti kasutada südamepuudulikkuse prognoosimise mudeli koolitamiseks.

Data Wrangleris on palju muid funktsioone, mida me selles postituses pole käsitlenud. Uurige, mis on võimalik Valmistage ette ML-andmed rakendusega Amazon SageMaker Data Wrangler ja õppige, kuidas kasutada Data Wranglerit oma järgmise andmeteaduse või masinõppeprojekti jaoks.


Autoritest

Rakenduse Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence pakub laiaulatuslikku tervishoiu- ja bioteaduste projekteerimist. Vertikaalne otsing. Ai.Forresti päike on vanemlahenduse arhitekt AWS-i avaliku sektori meeskonnas Torontos, Kanadas. Ta on viimased kaks aastakümmet töötanud tervishoiu- ja finantssektoris. Väljaspool tööd naudib ta perega telkimist.

Rakenduse Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence pakub laiaulatuslikku tervishoiu- ja bioteaduste projekteerimist. Vertikaalne otsing. Ai.Arunprasath Shankar on tehisintellekti ja masinõppe (AI/ML) spetsialistlahenduste arhitekt koos AWS-iga, mis aitab globaalsetel klientidel oma tehisintellekti ja masinõppe lahendusi pilves tõhusalt skaleerida. Vabal ajal vaatab Arun meelsasti ulmefilme ja kuulab klassikalist muusikat.

Ajatempel:

Veel alates AWS-i masinõpe