ML2023Spring - HW01 相关信息:
1.任务目标(回归)
COVID-19 daily cases prediction: COVID-19 每天的病例预测
训练/测试数据大小:3009/997(每一年的homework 可能不同)
2.性能指标(Metric)
均方误差 Mean Squared Error (MSE)
3.数据解析
covid_train.txt: 训练数据
covid_test.txt: 测试数据
数据大体分为三个部分:id, states: 病例对应的地区, 以及其他数据
id: sample 对应的序号。
states: 对 sample 来说该项为 one-hot vector。从整个数据集上来看,每个地区的 sample 数量是均匀的,可以使用pd.read_csv('./covid_train.csv').iloc[:,1:34].sum()来查看,地区 sample 数量为 88/89。
其他数据: 这一部分最终应用在助教所给的 sample code 中的 select_feat。
Covid-like illness (5) 新冠症状
cli, ili ...
Behavier indicators (5) 行为表现
wearing_mask、travel_outside_state ... 是否戴口罩,出去旅游 ...
Belief indicators (2) 是否相信某种行为对防疫有效
belief_mask_effective, belief_distancing_effective. 相信戴口罩有效,相信保持距离有效。
Mental indicator (2) 心理表现
worried_catch_covid, worried_finance. 担心得到covid,担心经济状况
Environmental indicators (3) 环境表现
other_masked_public, other_distanced_public ... 周围的人是否大部分戴口罩,周围的人是否大部分保持距离 ...
Tested Positive Cases (1) 检测阳性病例,该项为模型的预测目标
tested_positive (this is what we want to predict) 单位为百分比,指有多少比例的人
4. Baselines
根据作业 PDF 中的提示:
Simple Baseline (1.96993)
运行所给的 sample code。
Medium Baseline (1.15678)
特征选择,简单手动的选择你认为关联性较大的特征。
Strong Baseline (0.92619)
尝试不同的优化器(如:Adam)。
应用 L2 正则化(SGD/Adam ... 优化器参数中的 weight_decay)
Boss Baseline (0.81456)
尝试更好的特征选择,可以使用 sklearn.feature_selection.SelectKBest。
尝试不同的模型架构(调整 my_module.layers)
调整其他超参数
5.个人完整代码分享
https://github.com/holyeyes8/HUNG-YI_LEE_Machine-Learning_Homework/blob/master/HW01.ipynb
可以在colab上面正常运行
5.1 解决问题1

bash
/content# pip install optuna
Requirement already satisfied: optuna in /usr/local/lib/python3.12/dist-packages (4.5.0)
Requirement already satisfied: alembic>=1.5.0 in /usr/local/lib/python3.12/dist-packages (from optuna) (1.16.5)
Requirement already satisfied: colorlog in /usr/local/lib/python3.12/dist-packages (from optuna) (6.9.0)
Requirement already satisfied: numpy in /usr/local/lib/python3.12/dist-packages (from optuna) (2.0.2)
Requirement already satisfied: packaging>=20.0 in /usr/local/lib/python3.12/dist-packages (from optuna) (25.0)
Requirement already satisfied: sqlalchemy>=1.4.2 in /usr/local/lib/python3.12/dist-packages (from optuna) (2.0.43)
Requirement already satisfied: tqdm in /usr/local/lib/python3.12/dist-packages (from optuna) (4.67.1)
Requirement already satisfied: PyYAML in /usr/local/lib/python3.12/dist-packages (from optuna) (6.0.2)
Requirement already satisfied: Mako in /usr/local/lib/python3.12/dist-packages (from alembic>=1.5.0->optuna) (1.3.10)
Requirement already satisfied: typing-extensions>=4.12 in /usr/local/lib/python3.12/dist-packages (from alembic>=1.5.0->optuna) (4.15.0)
Requirement already satisfied: greenlet>=1 in /usr/local/lib/python3.12/dist-packages (from sqlalchemy>=1.4.2->optuna) (3.2.4)
Requirement already satisfied: MarkupSafe>=0.9.2 in /usr/local/lib/python3.12/dist-packages (from Mako->alembic>=1.5.0->optuna) (3.0.2)
/content#
5.2 数据上传

5.3 运行结果
5.3.1 loss/train

5.3.1 loss/valid

6 本地环境搭建
参考:
https://blog.csdn.net/weixin_42426841/article/details/129520007