Skip to content

hduyyg/kaggle-Digit-Recognizer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

62 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

这是V1版本,后续版本迁移到ApacheCN组织的kaggle项目里。这个repo就停止更新了。

目录

简介

项目基本思路

得分进展

版本规划

项目思路参考

涉及知识点

下一版本规划

简介

kaggle入门题目,训练数据已经处理成向量并与标签一一对应,判断测试数据对应的标签。

项目基本思路

  1. 在solutions中存储不同的解法,在所有解法单独实现完成之后,最终结果采用所有解法的结果来做交叉验证之后的答案,即对于某个向量的预测,采用所有解法中出现次数最多的作为结果。
  2. main.py作为项目的入口,所有程序的调用都采用 python main.py -* * 的形式来调用,主要是为了统一log等的设置

得分进展

  1. 2018-03-12 score=0.99285

    keras-原始数据0.5倍缩放之后,采用keras深度学习

  2. 2018-03-11 score=0.98542

    svm-将原始数据0.5倍缩放之后,采用pca降维,再使用svm分类

  3. 2018-03-08 score=0.97342

    knn-采用0.5倍缩放之后,只设置n_neighbors=3,其余保持默认。

  4. 2018-03-03 score=0.96357

    knn-采用二值化之后的数据,n_neighbors=3,algorithm、weights选择默认。

  5. 开始前 score=0.96857

    knn-采用原始数据,n_neighbors=3,algorithm、weights选择默认

版本规划

V1.0

起始时间

2018-03-07 ~ 2018-03-14

预期目标

  1. 完成knn、svm、深度学习三种算法的基础解法
  2. 得分达到0.99+

结果

直接上图吧:

补充

鉴于V1版本是第一次开始入门作,存在诸多不完善的地方,因此在代码已经可行的情况,将代码整理放到之后的V2版本。

项目思路参考

  1. [kaggle实战] Digit Recognizer -- 从KNN,LR,SVM,RF到深度学习

  2. 初识Kaggle:手写体数字识别

    ps : 数据二值化之后,采用knn算法

  3. kaggle-手写字体识别

    ps : 深度学习-keras,达到0.99+

  4. Kaggle竞赛题目之——Digit Recognizer

涉及知识点

注:参考的博客文章可能在某些地方有一定问题,但大体是正确的,不影响入门学习(刚入门对于细节也不需要那么重视)。

  1. 命令行参数设置:

  2. 图像缩放:

  3. KNN:

  4. PCA降维:

  5. 感知机:

    感知机原理小结

  6. SVM:

  7. keras+TensorFlow:

    安装一定要注意tensorflow、cuda、cudnn的版本要互相匹配。

    同时注意,keras2.0与之前相比已经有了比较大的变动,具体可看:

    Keras 2.0 release notes

    算法:

下一版本规划

版本号V2.0,3月15日正式启动,至3月31日结束。

  • 项目结构重新设计
  • 数据分析,进一步减少非必要信息,例如缩放倍率、数据本身的笨些规律等等
  • 参数调试。更加细致的参数调试
  • 不同结果之间的交叉验证

About

Kaggle入门级比赛-数字识别

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages