@liushiya
2018-10-25T10:10:44.000000Z
字数 1991
阅读 4248
机器学习
实验
You can click here to get the English version.
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple opencv-python
2018年10月14日 下午2:00-5:00 B7-138(谭明奎老师) B7-238(吴庆耀老师)
2018-11-18 上午12:00
个人独立完成
人脸分类
1. 读取数据集数据。读取图片,将全部图片转成大小为24*24的灰度图,数据集正负类样本的个数和比例不限,数据集标签形式不限。
2. 处理数据集数据,提取NPD特征。使用feature.py中NPDFeature类的方法提取特征。(提示:因为预处理数据集的时间比较长,可以用pickle库中的dump()函数将预处理后的特征数据保存到缓存中,之后可以使用load()函数读取特征数据)。
3. 将数据集切分为训练集和验证集,本次实验不切分测试集。
4. 根据ensemble.py中的预留的接口编写AdaBoostClassifier所有函数。以下为AdaBoostClassifier类中的fit()方法的思路:
4.1 初始化训练集的权值 ,每一个训练样本被赋予相同的权值。
4.2 训练一个基分类器,基分类器可以使用sklearn.tree库中DecisionTreeClassifier(注意训练的时候需要将权重 作为参数传入)。
4.3 计算基分类器在训练集上的分类误差率 。
4.4 根据分类误差率 ,计算参数 。
4.5 更新训练集的权值 。
4.6 重复以上4.2-4.6的步骤进行迭代,迭代次数为基分类器的个数。
5. 用AdaBoostClassifier中的方法在验证集上进行预测并计算精确率,并用sklearn.metrics库的classification_report()函数将预测结果写入classifier_report.txt中。
整理实验结果并完成实验报告(实验报告模板将包含在示例仓库)。
评分项 | 占比 | 说明 |
---|---|---|
出勤 | 40% | 特殊情况可向学院请假 |
代码有效 | 20% | 代码有效是指代码中是否存在语法错误 |
实验报告 | 30% | 是否按照实验模板填写 |
代码规范 | 10% | 主要考核代码变量命名是否规范 |
有任何的意见或者建议都可以直接在qq群中向助教反映。
[1] Liao, S., Jain, A. K., & Li, S. Z. (2016). A fast and accurate unconstrained face detector. IEEE transactions on pattern analysis and machine intelligence, 38(2), 211-223.
[2] 周志华. 机器学习. 北京:清华大学出版社,2016:173-177