Hey guys, begginers doubt:

I am preparing a dataframe for a machine learning model. The purpose of the model is to predict whether people infected with COVID will die or not.

To do this, I am looking for some conditions and symptoms, such as sore throat, cough, comorbidities, gender, and others, and binarizing them into “yes” or “no” or “male” and “female”.

I have a problem. One of the variables is “pregnant”, but only individuals of the female sex can be pregnant. How can I deal with this variable?

Can I keep it in the dataframe and assign the value “not pregnant” to all male individuals? Or could this harm the model?

  • deeceeo@alien.topB
    link
    fedilink
    English
    arrow-up
    1
    ·
    1 year ago

    It likely won’t matter. Most models (e.g. I’m guessing something like xgboost) can deal robustly with these types of correlations.

    If you like, you can combine the two into a single variable and may get slightly improved performance (0 for male, 1 for female and 2 for pregnant female) assuming the dataset can fit the rule (e.g. trans men). This way, a tree-based model could draw a boundary between 0 and 1 based on gender or 1 and 2 based on pregnancy.

  • VoidRippah@alien.topB
    link
    fedilink
    English
    arrow-up
    1
    ·
    1 year ago

    The purpose of the model is to predict whether people infected with COVID will die or not.

    There is no need for all that effort, I can tell you with 100% accuracy that they will day for certain. Just like those who where not infected. /s

    • grudev@alien.topB
      link
      fedilink
      English
      arrow-up
      1
      ·
      1 year ago

      TIL: ML redditors don’t understand sarcasm or the downsides of “accuracy” in model evaluation.

  • mathbbR@alien.topB
    link
    fedilink
    English
    arrow-up
    1
    ·
    1 year ago

    As others have said, pregnant men, while uncommon, might appear in your dataset. However, for preliminary results, it could make sense to exclude the possibility. Depending on the prevalence and impact of pregnancy in your data, you may be free to drop the column entirely. Some exploratory data analysis should help. Pregnancy should be relatively frequent (>5% of rows, at the very least). Pregnant women should also have noticably different target statistics than non-pregnant women. If pregnancy is rare or doesn’t seem to have much of an impact, feel free to drop it altogether for now.

    Alternatively, I would default to basic indicator columns for both sex and pregnancy. Just be sure your model doesn’t require feature independence, as some do.

  • tw_f@alien.topB
    link
    fedilink
    English
    arrow-up
    1
    ·
    1 year ago

    I’d just set it to False when sex=“M” as men can’t get pregnant and if you have a True value anywhere in that column it’s probably an annotation error.

    This is the most pragmatic solution I guess.