Python
Python由荷兰数学和计算机科学研究学会的吉多·范罗苏姆于1990年代初设计,作为一门叫做ABC语言的替代品。 Python提供了高效的高级数据结构,还能简单有效地面向对象编程。Python语法和动态类型,以及解释型语言的本质,使它成为多数平台上写脚本和快速开发应用的编程语言, 随着版本的不断更新和语言新功能的添加,逐渐被用于独立的、大型项目的开发。
Python在各个编程语言中比较适合新手学习,Python解释器易于扩展,可以使用C语言或C++(或者其他可以通过C调用的语言)扩展新的功能和数据类型。 Python也可用于可定制化软件中的扩展程序语言。Python丰富的标准库,提供了适用于各个主要系统平台的源码或机器码。
近年来,Python编程语言受到越来越多科研人员的喜爱,在多个编程语言排行榜中持续夺冠。同时,伴随着深度学习的快速发展,人工智能技术在各个领域中的应用越来越广泛。机器学习是人工智能的基础,因此,掌握常用机器学习算法的工作原理,并能够熟练运用Python建立实际的机器学习模型,是开展人工智能相关研究的前提和基础。
一:Python编程【夯实基础】
Python编程入门
1、Python环境搭建( 下载、安装与版本选择)。
2、如何选择Python编辑器?(IDLE、Notepad++、PyCharm、Jupyter…)
3、Python基础(数据类型和变量、字符串和编码、list和tuple、条件判断、循环、函数的定义与调用等)
4、常见的错误与程序调试
5、第三方模块的安装与使用
6、文件读写(I/O)
Python进阶与提高
1、Numpy模块库(Numpy的安装;ndarray类型属性与数组的创建;数组索引与切片;Numpy常用函数简介与使用)
2、Pandas模块库(DataFrame数据结构、表格的变换、排序、拼接、融合、分组操作等)
3、Matplotlib基本图形绘制(线形图、柱状图、饼图、气泡图、直方图、箱线图、散点图等)
4、图形样式的美化(颜色、线型、标记、字体等属性的修改)
5、图形的布局(多个子图绘制、规则与不规则布局绘制、向画布中任意位置添加坐标轴)
6、高级图形绘制(3D图、等高线图、棉棒图、哑铃图、漏斗图、树状图、华夫饼图等)
7、坐标轴高阶应用(共享绘图区域的坐标轴、坐标轴刻度样式设置、控制坐标轴的显示、移动坐标轴的位置)
二:特征工程
数据清洗
1、描述性统计分析(数据的频数分析:统计直方图;数据的集中趋势分析:算数平均值、几何平均数、众数、极差与四分位差、平均离差、标准差、离散系数;数据的分布:偏态系数、峰度;数据的相关分析:相关系数)
2、数据标准化与归一化(为什么需要标准化与归一化?)
3、数据异常值、缺失值处理
4、数据离散化及编码处理
5、手动生成新特征
变量降维
1、主成分分析(PCA)的基本原理
2、偏最小二乘(PLS)的基本原理
3、案例实践
特征选择
1、常见的特征选择方法(优化搜索、Filter和Wrapper等;前向与后向选择法;区间法;无信息变量消除法;正则稀疏优化方法等)
2、案例实践
群优化算法
1、遗传算法(Genetic Algorithm, GA)的基本原理(以遗传算法为代表的群优化算法的基本思想是什么?粒子群算法、蜻蜓算法、蝙蝠算法、模拟退火算法等与遗传算法的区别与联系)
2、遗传算法的Python代码实现
3、案例实践一:一元函数的寻优计算
4、案例实践二:离散变量的寻优计算(特征选择)
三:回归拟合模型
线性回归模型
1、一元线性回归模型与多元线性回归模型(回归参数的估计、回归方程的显著性检验、残差分析)
2、岭回归模型(工作原理、岭参数k的选择、用岭回归选择变量)
3、LASSO模型(工作原理、特征选择、建模预测、超参数调节)
4、Elastic Net模型(工作原理、建模预测、超参数调节)
5、案例实践
前向型神经网络
1、BP神经网络的基本原理(人工智能发展过程经历了哪些曲折?人工神经网络的分类有哪些?BP神经网络的拓扑结构和训练过程是怎样的?什么是梯度下降法?BP神经网络建模的本质是什么?)
2、BP神经网络的Python代码实现(怎样划分训练集和测试集?为什么需要归一化?归一化是必须的吗?什么是梯度爆炸与梯度消失?)
3、BP神经网络参数的优化(隐含层神经元个数、学习率、初始权值和阈值等如何设置?什么是交叉验证?)
4、值得研究的若干问题(欠拟合与过拟合、泛化性能评价指标的设计、样本不平衡问题等)
5、极限学习机(Extreme Learning Machine, ELM)的工作原理
四:分类识别模型
KNN、贝叶斯分类与支持向量机
1、KNN分类模型(KNN算法的核心思想、距离度量方式的选择、K值的选取、分类决策规则的选择)
2、朴素贝叶斯分类模型(伯努利朴素贝叶斯BernoulliNB、类朴素贝叶斯CategoricalNB、高斯朴素贝叶斯besfGaussianNB、多项式朴素贝叶斯MultinomialNB、补充朴素贝叶斯ComplementNB)
3、SVM的工作原理(SVM的本质是解决什么问题?SVM的四种典型结构是什么?核函数的作用是什么?什么是支持向量SVM扩展知识(如何解决多分类问题?SVM除了建模型之外,还可以帮助我们做哪些事情?)
4、案例实践
决策树、随机森林、LightGBM、XGBoost
1、决策树的工作原理(微软小冰读心术的启示;什么是信息熵和信息增益?ID3算法和C4.5算法的区别与联系);决策树除了建模型之外,还可以帮我们做什么事情?
2、随机森林的工作原理(为什么需要随机森林算法?广义与狭义意义下的“随机森林”分别指的是什么?“随机”体现在哪些地方?随机森林的本质是什么?怎样可视化、解读随机森林的结果?)
3、Bagging与Boosting的区别与联系
4、AdaBoost vs. Gradient Boosting的工作原理
5. 常用的GBDT算法框架(XGBoost、LightGBM)
6、案例实践
五:聚类分析算法
K均值、DBSCAN、层次聚类
1、K均值聚类算法的工作原理
2、DBSCAN(Density-Based Spatial Clustering of Applications with Noise)聚类算法的工作原理
3、 层次聚类算法的工作原理
4、 案例讲解
六:关联分析算法
关联规则、协同过滤、Apriori算法
1、关联规则算法的工作原理
2、协同过滤算法的工作原理
3、Apriori算法的工作原理
4、案例讲解
七:总结
信息检索与常用科研工具
1、如何无障碍地访问Google、YouTube等网站?(谷歌访问助手、VPN等)
2、如何查阅文献资料?怎样能够保证对最新论文的追踪?
3、Google Scholar、ResearchGate的使用方法
4、应该去哪些地方查找与论文配套的数据和代码?
5、文献管理工具的使用(Endnote、Zotero等)
6、当代码出现错误时,应该如何高效率解决?
7、实操练习
阅读全文点击《如何快速掌握Python 数据挖掘与机器学习》