课后作业:模型评估与优化

作者:欧新宇(Xinyu OU)

本文档所展示的测试结果,均运行于:Intel Core i7-7700K CPU 4.2GHz

【作业提交】

将分类结果保存到文本文档进行提交(写上每一题的题号和题目,然后再贴答案),同时提交源代码。

  1. 测试结果命名为: ex11-结果-你的学号-你的姓名.txt
  2. 源代码命名为: ex1101-你的学号-你的姓名.py

*结果文件,要求每小题标注题号,两题之间要求空一行*


  • 要求在 "鸢尾花" 数据集上完成以下任务,要求如下:
    1. 要求训练集验证集的分割比例为:70% : 30%
    2. 使用MLP模型进行训练和测试,MLP优化函数为lbfgs,激活函数为relu
    3. 使用StratifiedKFold算法进行分层5折交叉验证
    4. 所有算法的随机参数 random_state=62
    5. 结果保留4位小数
    6. 输出测试集结果的时候,可以使用基于网格搜索的三种输出中的任意一种
  • MLP需要搜索的参数列表为:
    • alpha: [5e-4, 1e-4, 5e-3, 1e-3, 5e-2, 1e-2],
    • hidden_layer_sizes: [[10], [20], [50], [100], [150], [10, 10],[20, 20],[50, 50]]}

提示

  1. 在训练集上训练MLP模型,并使用交叉验证网格搜索获取最优参数
  2. 将最优参数应用到MLP模型,并在训练验证集上进行训练
  3. 输出训练验证集上的评分和测试集上的评分

1. 载入MNIST数据集

2. 使用分层K折交叉验证

3. 保持参数不变,在训练验证集上重新训练,并输出结果

  • 直接使用grid_search.score()进行输出
  • 使用最优参数进行输出
  • 使用最优模型进行输出