机器学习 涉及内容、模型适用范围 、优缺点总结 机器学习【一】K最近邻算法 机器学习【二】广义线性模型 机器学习【三】朴素贝叶斯 机器学习【四】决策树 机器学习【五】随机森林 机器学习【六】支持向量机SVM——专治线性不可分 机器学习【七】神经网络 机器学习【九】数据表达与特征工程 机器学习【十】模型评估与优化 机器学习【十一】管道模型 机器学习【十二】使用管道模型对股票涨幅进行回归分析

机器学习【一】K最近邻算法

涉及内容:

分类——————数据集生成器、KNN拟合数据

多元分类————生成数据集、KNN拟合

回归分析————用于回归分析的数据集生成器、KNN拟合、调整近邻数

KNN实战—酒的分类————数据集有哪些键、生成训练集和测试集、KNN拟合、新样本的分类进行预测

不适用:

  •  需要对数据集认真的预处理
  • 对规模超大的数据集拟合的时间较长
  • 对高维数据集拟合欠佳
  • 对稀疏数据集无能为力

 机器学习【二】广义线性模型

涉及内容:

 线性模型的图形表示————导入线性模型、拟合数据点、拟合新加的数据点、训练数据集的属性“xx_”

 线性模型特点—————用于回归分析的好几种线性模型之间的区别

最基本的线性模型:线性回归————

使用L2正则化的线性模型:岭回归————线性回归和岭回归之间的重要结论

使用L1正则化的线性模型:套索回归————

套索回归和岭回归的区别————

适用:

  • 对于特征变量较多的数据集,线性模型会十分强大【尤其是训练集的特征变量 > 数据点的数量时,可以达到近乎完美的预测】

优点:

  • 线性模型的训练非常快
  • 过程也很容易被人理解

缺点:

  •  数据集的特征比较少的时候,线性模型的表现就会相对偏弱
  • 使用线性模型的前提条件是假设目标y是数据特征的线性组合

机器学习【三】朴素贝叶斯

涉及内容:

基本概念————原理、贝叶斯定理、对天气的简单预测

贝努利朴素贝叶斯————适合符合贝努利分布【二项分布】的数据集

高斯朴素贝叶斯————适用样本的特征符合高斯分布【正态分布】

多项式朴素贝叶斯————用于拟合多项式分布的数据集、数据预处理工具MinMaxScaler

实战:判断肿瘤良性还是恶性————导入、拆分、拟合、随机预测、高斯朴素贝叶斯的学习曲线

适用:

  •  不考虑样本之间特征的关系——> 朴素贝叶斯分类器效率极高
  • 高斯朴素贝叶斯在预测方面,对于样本数量的要求不苛刻

优点:

  • 高斯朴素贝叶斯 可以应用于任何连续数值型的数据集中,如果是符合正态分布的数据集的话,得分会更高
  • 相对于线性模型,朴素贝叶斯效率更高——> 把数据集中的各个特征看作完全独立的,不考虑特征之间的关联关系,但同时,泛化能力更弱
  • 大数据时代,很多数据集的样本特征成千上万,这种情况下,模型的效率要比泛化性能多零点几个百分点的得分更重要

缺点:

  •  是相当好的分类器,但对于预测具体的数值并不是很擅长
  • 泛化能力弱

机器学习【四】决策树

 涉及内容:
原理————if/else推导

决策树构建————用决策树分类器分类【设定最大深度】、分类器表现、加大深度

优点:

  • 很容易将模型可视化
  • 由于决策树算法对每个样本特征单独处理——> 不需要对数据进行转换
  • 不需要对数据预处理

缺点:

  • 即使有预剪枝处理【使用max_depth、max_leaf_nodes参数】,还是不可避免出现过拟合问题
  • 泛化性能大打折扣

 机器学习【五】随机森林

涉及内容:

简介————是一种集合学习算法,可以用于分类,也可以用于回归、可解决过拟合问题

随机森林构建 ————bootstrap  、max_features、n_estimators、图形看看随机分类的表现

实战:判断月薪是否>5万————载入数据集、用get_dummies处理数据、用决策树建模并预测

额外功能:在数据集中对数据特征的重要性进行判断————可以通过这两个算法对高维数据进行分析,在诸多特征中保留最重要的,也便于对数据降维处理

优点:

  • 不要求对数据预处理
  • 集成决策树所有优点,弥补了不足
  • 支持并行处理【实现方式是n_jobs参数,记得此参数要和cpu内核数一致,多了无意义,n_jobs=-1,使用全部内核】
  • 注意随机森林生成每棵树的方法是随机的,不同的random_state会导致模型完全不同,要固化其值

缺点:

  • 对于超高维数据集、稀疏数据集,线性模型更好
  • 更消耗内存,速度慢,若要省内存+时间,用线性模型

 机器学习【六】支持向量机SVM——专治线性不可分

涉及内容:
SVM原理————核函数、数据投射至高维空间、多项式内核、RBF内核

支持向量机的SVM核函数————创建一个线性内核的支持向量机模型、SVM内核换成RBF

SVM的核函数和参数选择————不同核函数的SVM对比、linearSVM算法

 RBF内核SVC的gamma参数调节————结果分析

注意事项————3个非常重要的参数

SVM在回归分析中的应用:波士顿房价数据集——————了解数据集、SVR算法建立房价预测模型、StandardScaler数据预处理

优点:

  • 可应对高维数据集和低维数据集
  • 即使数据集中样本特征的测度都比较接近,如图像识别领域,以及样本特征数和样本数比较接近的时候,都游刃有余

缺点:

  • 当数据集中特征数量在1万以内,SVM可以驾驭,但数量大于10万,就非常占内存和耗费时间
  • 对数据预处理和参数调节要求很高

机器学习【七】神经网络

 原理————MLP算法

 神经网络中的非线性矫正————非线性矫正 rele 、进行双曲正切处理 tanh

神经网络的参数设置————各个参数的含义、图像展示MLP分类的情况、减少隐藏层的节点、给MLP分类器增加隐藏层数量设计激活函数为tanh、修改alpha参数

 实战——手写识别————MNIST数据集、识别

 优点

  • 计算能力充足且参数设置合适情况下,神经网络表现特优异
  • 对于特征类型单一的数据,变现不错

缺点

  •  训练时间长、对数据预处理要求高
  •  数据特征类型差异较大,随机森林或梯度上升随机决策树算法更好
  • MLP仅限于处理小数据集,对于更大或更复杂的数据集,可以进军深度学习

机器学习【八】数据预处理、降维、特征提取及聚类

 涉及内容:

数据预处理————StandardScaler预处理数据、MinMaxScaler数据预处理、RobustScaler数据预处理、Normalizer数据预处理

通过数据预处理提高模型准确率————训练一个MLP神经网络、使用MinMaxScaler进行数据预处理

数据降维————PCA主成分分析原理

 对数据降维以便于进行可视化————

原始特征与PCA主成分之间的关系————

特征提取————PCA主成分分析法用于特征提取、使用一些方法来提升模型的表现、PCA中的数据白化功能、非负矩阵分解用于特征提取

聚类算法————K均值算法、凝聚聚类算法、DBSCAN算法、eps参数、min_samples参数

适用数据降维的情况:

  • 超高维度数据
  • 特征之间有非常强烈的相关性【比如,人口数据中,男性为1,女性为0,去掉其中任何一列,不会丢失任何信息,可以降维,以降低模型的复杂度】

对于机器学习来说,合理有效地对数据进行表达是至关重要的

对于没有分类标签的数据来说,无监督学习的聚类算法可以帮助我们更好的理解数据集,并且为进一步训练模型打好基础

 机器学习【九】数据表达与特征工程

涉及内容:

数据表达————类型特征、连续特征、使用哑变量转换类型特征、get_dummies的使用、把数值特征也进行get_dummies转换、装箱处理【离散化处理】、用新的方法来表达已经装箱的数据——OneHotEncoder,独热编码、

数据“升维”————向数据集添加交互式特征、Numpy中的hstack函数、对特征进行交互式操作对模型产生的影响、向数据集添加多项式特征、PolynomialFeatures、处理后机器学习的模型的变化

自动特征选择————使用单一变量法进行特征选择、使用SelectPercentile进行特征选择、基于模型的特征选择、迭代式特征选择、递归特征剔出法RFE

对样本特征进行装箱的好处:

  • 纠正模型过拟合和欠拟合问题
  • 尤其针对大规模高纬度的数据集使用线性模型的时候,可以大幅度提高预测的准确率

 

 机器学习【十】模型评估与优化

涉及内容:

使用交叉验证对模型进行评估————sklearn中的交叉验证法、K折叠交叉验证法、随机拆分和“挨个儿试”

使用网格搜索寻找模型的最优参数————简单网格搜索、局限性、与交叉验证结合的网格搜索、GridSearchCV进行参数调优的过程

对分类模型的可信度进行评估————分类模型中的预测准确率、分类模型中的决定系数、.score给分类、回归模型评分的方法、GridSearchCV改变评分的方式

 

在sklearn中,cross_val_score对于分类模型默认使用的是K折叠交叉验证,而对于分类模型则默认使用分层K交叉验证法

机器学习【十一】管道模型

 涉及内容:
基本概念和使用————在数据预处理中遇到的问题及使用管道模型解决

 使用管道模型进行网格搜索————

 管道模型不仅可以把 数据预处理和模型训练集结合一起,也可以将很多不同的算法打包

 机器学习【十二】使用管道模型对股票涨幅进行回归分析

 涉及内容:

整理数据集————删除无效数值、去掉冗余信息、考虑是否把字符串类型的特征通过get_dummies转化成整型数值

.建立包含数据预处理和MLP模型的管道模型————使用make_pipeline便捷的建立管道模型

向管道模型添加特征选择步骤————提取管道模型每个步骤的属性

使用管道模型进行模型选择和参数调优————

猜你喜欢

转载自www.cnblogs.com/expedition/p/10847659.html