Software


 

AIR er et open-source projekt baseret på de nyeste teknologier inden for machine-learning og statistisk dataanalyse. Softwaren er udviklet i Python 3.8, som er et dynamisk programmeringssprog, der er velegnet til formålet og understøtter en lang række biblioteker og funktionalitet, som gør det muligt at læse data i et oprindeligt format, analysere forskellige aspekter i data og at konstruere forskellige statistiske modeller ud fra det.

Det er tanken, at AIR slutteligt skal være et software-bibliotek, som gør det muligt for alle interesserede at lave enten central eller distribueret machine-learning af sundhedsdata. Værktøjet skal dermed kunne tages i brug af andre kommuner og være en platform, som alle kan tage benytte, til bedre at forstå det data, de sidder med eller til at bygge modeller der kan forudsige et genoptræningsforløb for en borger eller borgerens risiko for at falde i eget hjem.

Kildekode til AIR er tilgængelig på: https://gitlab.au.dk/cfp/air

Herunder er en kort beskrivelse af de primære bibliotekter, som AIR gør brug af.


Scikit-learn er et machine-learning bibliotek til Python, der tilbyder en række simple og effektive værktøjer til at lave statistiske modeller og prædiktiv dataanalyse. Det er open-source og licenseret under BSD-licensen. Det gør værktøjet tilgængeligt for alle, der ønsker at modellere data, både i rekreativ- og kommercielsammenhæng. Scikit-learn er bygget på allerede kendte biblioteker indenfor området bl.a. NumPy, SciPy og matplotlib og har et stort community bag sig.

AIR bruger Scikit-learn til at lave statiske modeller, som kan forudsige en borgers sandsynlighed for at gennemføre sit træningsprogram og borgerens risiko for at falde i eget hjem.

Pandas er et hurtigt, effektivt og fleksibelt open-source bibliotek i Python, som oprindeligt er udviklet af Wes McKinney til dataanalyse. Pandas bygger på NumPy og kan åbne og processere en lang række filtyper (f.eks. CSV, XML og JSON), manipulere med data og udtrække forskellige relevante oplysninger fra den. Det understøtter både numeriske tabeller og tidsserier og er med tiden blevet et af verdens mest udbredte værktøjer til netop denne type opgave.

AIR bruger pandas til at læse, redigere og udtrække oplysninger fra data, som senere bruges til at træne statistiske modeller.

TensorFlow er Google's open-source bibliotek til machine-learning. Det kan bruges til en lang række opgaver, der involverer data, mens ses typisk i forbindelse med træning af statiske modeller og til at komme med logiske slutninger på baggrund af disse. Det bruges hos Google både i forsknings- og produktionssammenhæng. TensorFlow adskiller sig fra Scikit-learn ved i højere grad at benytte neurale netværk til at træne statiske modeller og til at drage konklusioner på baggrund af disse.

AIR bruger TensorFlow til at løse nogle af de opgaver, som ikke kan løses med Scikit-learn, herunder til at lave eksperimenter og forsøg med neurale netværk.

PyTorch er Facebook’s open-source bibliotek til machine-learning baseret på Torch-bibliotektet. Det bruges typisk til at løse opgaver inden for computer vision, natural language processing og forecasting. PyTorch minder grundlæggende meget om TensorFlow, men tilbyder et andet interface og nogle andre medfølgende softwarepakker, bl.a. til visualisering, som er anvendelige inden for visse felter. PyTorch fokuserer ligeledes på at træne og modellere neurale netværk til at løse problemer, som typisk ikke kan løse med traditionelle værktøjer som Scitkit-learn, da de er for komplekse.

AIR bruger PyTorch som supplement til Scikit-learn, men særligt til at konstruere og træne distribuerede datamodeller.