Geimpfet vs ungeimpfte
fphans opened this issue · 12 comments
liegt vll an der uhrzeit aber ich kapiere nicht wie geimpfte von ungeimpften unterschiden werden können. Können wir im ETL nicht noch ein bauen if Immunization DATE is NULL --> Neuespalte geimpft false und
Immunization DATE IS NOT NULL -.> geimpft true
dritte spalte anzahl impfungen...
würde dir gerne morgen was aus meinem branch zeigen, wo ich aber nicht sicher bin ob ich nicht einfach ETL rückgängig gemacht habe und auf dem Holzweg bin,
cheerio
Hm, schwierige Sache leider.. also es gibt genau eine Person, die nie geimpft wurde und die ist 1941 gestorben.
Mache dir mal nen Vorschlag, mit dem du vielleicht weiterarbeiten kannst.
bei wir waren das über 80.000...
@fphans brauchst du dieses Issue noch? Sonst kann es zu oder?
Hallo Leo,
was ich nicht verstehe ist wieso Du die encounterclass da nicht mit drin hast. gegen was möchtest du das ML dann laufen lassen?
ok ich dokumentiere ecihfach mal fortlaufend auf was ich stosse:
encouterclass und encounter_code sind drin aber als dtype=object. der castbefehlt df.astype() zeigt keine wirklung
für das ml tool bruachen wir aber floats oder int64.
Vll Sollten wir das Sterschema um eine tbl mit eigenen encountercodes erweitern um das zu umschiffen:
pat_imm = pd.read_sql_query(""" SELECT patients.Id, ENCOUNTERCLASS, (CASE WHEN encounterclass LIKE '%ambulatory%' THEN 0 WHEN encounterclass LIKE '%wellness%' THEN 1 WHEN encounterclass LIKE '%emergency%' THEN 2 WHEN encounterclass LIKE '%inpatient%' THEN 3 WHEN encounterclass LIKE '%outpatient%' THEN 4 WHEN encounterclass LIKE '%urgentcare%' THEN 5 ELSE NULL END) AS ML_encounter_code, patients.BIRTHDATE, patients.DEATHDATE, ...
Hallo Leo,
was ich nicht verstehe ist wieso Du die encounterclass da nicht mit drin hast. gegen was möchtest du das ML dann laufen lassen?
OK ich hatte es so verstanden, dass du ein Decision Tree Learning Modell entwickeln möchtest, wo die demografischen Patientendaten dir vorhersagen können, ob ein Patient geimpft ist, oder nicht. Daher hatte ich das so implementiert
ok ich dokumentiere ecihfach mal fortlaufend auf was ich stosse:
encouterclass und encounter_code sind drin aber als dtype=object. der castbefehlt df.astype() zeigt keine wirklungfür das ml tool bruachen wir aber floats oder int64.
Das sind ja auch Strings, die kannst du nicht ohne weiteres casten. Es handelt sich ja um kategoriale Variablen, die kannst du trotzdem als Zahlwerte darstellen.
Vll Sollten wir das Sterschema um eine tbl mit eigenen encountercodes erweitern um das zu umschiffen:
pat_imm = pd.read_sql_query(""" SELECT patients.Id, ENCOUNTERCLASS, (CASE WHEN encounterclass LIKE '%ambulatory%' THEN 0 WHEN encounterclass LIKE '%wellness%' THEN 1 WHEN encounterclass LIKE '%emergency%' THEN 2 WHEN encounterclass LIKE '%inpatient%' THEN 3 WHEN encounterclass LIKE '%outpatient%' THEN 4 WHEN encounterclass LIKE '%urgentcare%' THEN 5 ELSE NULL END) AS ML_encounter_code, patients.BIRTHDATE, patients.DEATHDATE, ...
@fphans Die andere Gruppe hat das ja so gemacht.. Ich würde das aber nicht machen, bzw. habe mich beim ETL-Prozess bewusst dagegen entschieden. Damit handelst du dir notwendige Verknüpfungen für ganz einfache deskriptive Auswertungen wie einen Countplot o.ä. ein, weil du nie eine native Achsenbeschriftung hast (da diese ja nur aus Zahlen besteht).
Mein Vorschlag: Lass und das im Rahmen des Preprocessing, bevor wir eine bestimmte Forschungsfrage angehen, also entsprechend nach der deskriptiven Statistik machen.
Geht dann auf die Schnelle so:
pat_imm.GENDER.replace(['M', 'F'], [0, 1], inplace=True)
pat_imm.MARITAL.replace(['M', 'S'], [0, 1], inplace=True)
pat_imm.RACE.replace(["white", "black", "asian", "native", "other"], [1, 2, 3, 4, 5], inplace=True)
pat_imm.ETHNICITY.replace(["nonhispanic", "hispanic"], [0, 1], inplace=True)
Für BIRHTPLACE ist das relativ viel schreibarbeit, gehe davon aus, dass es auch eine Funktion für sowas gibt, müsste ich aber selbst suchen erstmal. Vielleicht bei SciKit Learn unter dem Stichpunkt Data Preprocessing
BG Leo :)
ich galub edas ist quasi der kompollizierte weg zum ziel. leider laufen die ml skripte bei mir nicht da irgendiwe die arrays unterschiedlich lang sind...