作者:周琦
链接:https://www.zhihu.com/question/35055219/answer/61201204
来源:知乎
著作权归作者所有,转载请联系作者获得授权。
1 工具的学习(排列有序)
python(我用的python tutorial,细节可以查书learning python,然后查询一些文档比如,numpy,matplotlib官方文档)
java (我先看的 head first java, 然后thinking in java看了一部分)
linux shell (越熟越好,我只是刷了鸟哥那本入门书的前半部分)
hadoop (需要会折腾,在win电脑上不好配置,如果实验室有环境或者有人帮忙带带入门最好。
2 机器学习入门(排列有序)
集体编程智慧(把例子刷一遍,一方面是理解入门数据挖掘,一方面更熟悉下python)
数据挖掘导论,机器学习(tom mitchell),Andrew Ng的机器学习课程,机器学习实战(主要参考下书中的代码,书中代码并不是非常完美,主要用来入门)。。
这几个材料建议选其中一、二个为核心连贯学习,其他可以参考。比如你先用数据挖掘导论了解一些基本的概念,用Andrew Ng的机器学习课程进行比较细致的学习,其中要实习一些算法的时候可以参考机器学习实战,某些算法看不懂时候可以参考其他书籍
Kaggle找几个最简单的题进行入门实战。(比如泰坦尼克号那题)
可以适当了解一些机器学习的具体应用,如:推荐系统、图像处理、语音或搜索。(结合自己的兴趣专业选择某一个深入学习)
Pattern Recognition And Machine Learning,The Elements of Statistical Learning 两本理论非常详细的巨著,如果有精力一定要看看。建议从第一本看起(因为我也只能勉强看懂第一本,第二本如果其他人都说很经典,可以看懂的话肯定是要看的)。
3 数据结构基础
算法导论+leetcode在线题目
总结:
看书要多动手,多总结,比如看了个朴素贝叶斯算法,最好把这个方法总结一下,然后编写代码实现简单的例子。参考更多的书籍,参考baidu