carpentries-incubator / machine-learning-novice-python

Introduction to Machine Learning with Python
https://carpentries-incubator.github.io/machine-learning-novice-python/
Other
4 stars 10 forks source link

Misc notes from delivery #23

Open alanocallaghan opened 3 months ago

alanocallaghan commented 3 months ago

episode 1: "their response the new drug" -> "their response to the new drug"

episode 2: This is a style thing but the sentence structure is often needlessly complicated. eg, "It is often the case that our data includes categorical values." can be simplified to "Datasets like these often include categorical values." Similarly "In our case, for example, the binary outcome we are trying to predict - in hospital mortality - is recorded as “ALIVE” and “EXPIRED”." can be simplified to "In our case, the binary outcome we are trying to predict (hospital mortality) is recorded as ALIVE and EXPIRED".

It is extremely weird to drop the categorical outcome variable and use it as y, including the encoded numeric variable in x. I realise this is an intro lesson but this seems to me a coding mistake that would be common for novices

To avoid data leaking between our training and test sets, we take the median from the training set only. The training median is then used to impute missing values in the held-out test set.

This isn't really explained at all. The data imputation section generally is a bit short. It'd be good to mention why imputing with the median is a bad idea in arguably most cases

tompollard commented 3 months ago

Thanks @alanocallaghan, these are all great points.

It is extremely weird to drop the categorical outcome variable and use it as y, including the encoded numeric variable in x. I realise this is an intro lesson but this seems to me a coding mistake that would be common for novices

Yes, this is a definite bug!

alanocallaghan commented 3 months ago

From evaluation:

metrics.plot_roc_curve(reg, x_test, y_test)

no longer works

from sklearn.metrics import RocCurveDisplay
reg_disp = RocCurveDisplay.from_estimator(reg, x_test, y_test)
alanocallaghan commented 3 months ago

Bootstrap episode KDE plot claims to be on the test set, but it's actually using training