Skip to content

Commit fdb47ba

Browse files
authored
Merge pull request #522 from cmu-delphi/sgratzl/meta2
feat: tune heuristic for signal good/bad/neutral
2 parents ac3880b + b55151d commit fdb47ba

File tree

1 file changed

+17
-6
lines changed
  • src/server/endpoints/covidcast_utils

1 file changed

+17
-6
lines changed

src/server/endpoints/covidcast_utils/meta.py

+17-6
Original file line numberDiff line numberDiff line change
@@ -24,18 +24,29 @@ class SignalCategory(str, Enum):
2424

2525

2626
def guess_name(source: str, signal: str) -> str:
27-
return f"{source.capitalize()}: {signal.capitalize()}"
27+
return f"{source.upper()}: {' '.join((s.capitalize() for s in signal.split('_')))}"
2828

2929

3030
def guess_high_values_are(source: str, signal: str) -> HighValuesAre:
31-
if source == "fb-survey":
32-
if "mask" in signal or "vaccine" in signal:
31+
if signal.endswith("_ili") or signal.endswith("_wili") or signal.endswith("_cli") or signal.endswith("_wcli"):
32+
return HighValuesAre.bad
33+
if source == "chng" and signal.endswith("_covid"):
34+
return HighValuesAre.bad
35+
if source == "covid-act-now":
36+
if signal.endswith("_positivity_rate"):
37+
return HighValuesAre.bad
38+
if signal.endswith("_total_tests"):
3339
return HighValuesAre.good
34-
if signal.endswith("_ili") or signal.endswith("_cli") or "tested_positive" in signal:
40+
if source == "fb-survey":
41+
if "tested_positive" in signal:
3542
return HighValuesAre.bad
3643
if "anxious" in signal or "depressed" in signal or "felt_isolated" in signal or "worried" in signal:
3744
return HighValuesAre.bad
38-
if source in ["quidel", "indicator-combination", "google-symptoms", "doctor-visits", "hospital-admissions"]:
45+
if "hesitancy_reason" in signal or "vaccine_likely" in signal or "dontneed_reason" in signal:
46+
return HighValuesAre.neutral
47+
if "mask" in signal or "vaccine" in signal or "vaccinated" in signal:
48+
return HighValuesAre.good
49+
if source in ["quidel", "indicator-combination", "google-symptoms", "doctor-visits", "hospital-admissions", "usa-facts", "jhu-csse", "hhs"]:
3950
return HighValuesAre.bad
4051

4152
return HighValuesAre.neutral
@@ -102,4 +113,4 @@ def intergrate(self, row: Dict[str, Any]):
102113
def asdict(self):
103114
r = asdict(self)
104115
r["geo_types"] = {k: asdict(v) for k, v in self.geo_types.items()}
105-
return r
116+
return r

0 commit comments

Comments
 (0)