基于了解的情况,核心诉求应该是如何基于python实现相应的机器学习算法。针对这一问题,具体学习内容可拆分为如下4部分。
1、python基础的学习
2、机器学习理论和算法的学习
3、python机器学习库的熟悉掌握
4、基于python实现具体机器学习算法/实际应用的实践
这篇是比较详细的引导文章:https://mp.weixin.qq.com/s/qyUgoKjht2LaMVWXLrBB-g
具体学习上,第一部分python学习建议以python3为基础,课程同步推荐国内的在线基础课程(易于理解):
1、廖雪峰python教程:https://www.liaoxuefeng.com/wiki/1016959663602400/
2、国内简易教程:https://www.runoob.com/python3/python3-tutorial.html
学习内容上主要包括基本的语法、基本的数据类型、数据结构、类型转换;条件控制、循环、函数、模块;输入输出、文件处理;
高阶一些学习面向对象、错误及异常处理、函数式编程、进程线程等;
语言学习的核心不是掌握多少语法,是掌握基本语法并形成程序思维,知道程序的能力边界以及怎么做,知道如何将实际的问题映射为程序问题并予以解决。具体的语法细节、各种计算库可以在实现过程中查阅。
第二部分机器学习理论不表;
第三部分python的基础库、机器学习库要做一些掌握,包括Numpy、pandas、SciPy、scikit-learn;深度学习的pytorch、TensorFlow等。重点是知道每个库能做什么,提供了哪些主要功能,如果基础好的化可以了解下库的实现原理和基本框架,否则直接用也可以。第三部分的学习可能依赖部分数理基础,主要是线性代数(矩阵)、概率论与数理统计、最优化方法。
如下是21年的十大流行库:https://mp.weixin.qq.com/s/HJM4Z5y00FT1F_N9EL4T_w
第四部分就是如何用python解决实际问题,这部分需要一定量的实践来提升。推荐两本书:
1、机器学习实战:基于Scikit-Learn、Keras和TensorFlow :http://www.java1234.com/a/javabook/javabase/2022/0525/22448.html
2、机器学习基础教程:http://www.java1234.com/a/javabook/yun/2019/0214/12935.html
也可以参考开头引导文章的案例。
具体开发的话目前notebook用的比较多,可参考:https://zhuanlan.zhihu.com/p/33105153
在线竞赛平台kaggle本身提供了测试执行环境和丰富的数据集&案例库,也适合用来练习。具体参考介绍:https://www.zhihu.com/question/23987009/answer/285179721