赞
踩
前面几篇博文已经整理了Python做数据分析和建模以及机器学习基础知识。
这篇博文主要分享Python做数据分析和建模的实践案例应用。
分为两部分:
1、Python机器学习实践案例的算法总结。
见博文下方的算法总结表格。
2、案例和代码实现。
每个案例单独用一篇博文来讲解逻辑和Python代码实现。点击对应的链接到相应的博文中去阅读。
---引申 用gesim-word2vec实现词矢量化
(2)优化算法模型:
[1] 旅行行程优化问题
[2] 住宿房间分配问题
(3)决策树分类建模
(4)分级聚类、K均值聚类
(5)KNN算法
---引申 [3] 协同过滤推荐-pyspark实现
---引申 [4]spark的安装和Jupyter使用
(6)寻找独立特征-非负矩阵因式分解
(7)支持向量机
(8)神经网络
(9)特征工程
机器学习实践案例算法总结 | ||||
算法 | 算法描述/原理概述 | 适用的数据集类型 | Python代码实现的主要步骤 | 优缺点说明 |
贝叶斯分类器 | 根据贝叶斯公式:P(cat|item) = P(item|cat)*P(cat)/P(item), 其中,P(item|cat) = P(feature|cat)*P(feature|cat)*P(feature|cat)*… | 适应于所有能转换成一组特征列表的数据集。 | 1、定义特征提取函数getfeature 2、利用样本对分类器进行训练,得到记录了特征和某个特定分类相关联的数字概率P(feature|(cat) 3、分类预测(朴素贝叶斯分类器) | 优点: 1、训练和分类计算的速度快 2、支持增量式的训练 3、特征的概率值被保存,所以分类学习的解释相对简单 缺点: 1、无法处理特征组合会产生分类结果影响的情况 |
决策树分类器 | 从根部开始构造决策树,在每一步中都会选择一个属性,利用该属性以最佳的可能方式对数据进行拆分。 对于构造完成的决策树,从树的根部节点开始,对每一个节点的判断条件进行检查,走相应的yes or no 分支直至叶节点,即代表新数据的预测分类 | 适应于数值型或者名词性的有分类结果的数据集 | 1、创建决策树。 熵、基尼不纯度衡量集合的混乱、不纯程度。信息增益来衡量一次拆分的好坏。 2、决策树剪枝 3、决策树显示--树状图/文本打印 4、决策树分类 | 优点: 1、易于对模型的解释和理解。重要的判断因素都在靠近根部的位置。 2、能处理变量之间的相互影响。 缺点: 1、不擅长对数值结果的预测。 2、不支持增量式的训练。 |
神经网络 | ||||
支持向量机SVM | ||||
K最近邻算法KNN | 对一个待预测的新数据项,将其与已经知道结果值的数据项进行比较,从中找出最为接近的若干项,并根据距离远近求其加权平均值以得到最终的预测结果。 | 可以做数值预测的数据集 | 1、对变量进行缩放处理和交叉验证 2、给出一个距离度量算法/相似度度量算法 3、加权KNN算法预测 | 优点: 1、简单易懂 2、合理的数据缩放量不但可以改善预测效果,还能知道预测过程中各个变量的重要程度。3、新的数据可以随时被添加进来,是一种online的技术。 缺点: 1、计算低效。每一个待预测项必须和所有其他数据进行比较。2、寻找合理的缩放因子的过程很乏味、计算和评估的计算工作量很大。 |
分级聚类 | 它是构造一颗由所有数据项构成的树的过程。 工作方式:寻找两个距离最接近的数据项,将它们合二为一,新聚类的"位置"等于原两个数据项位置的均值。重复此过程,直到每个数据项都被包含在了一个大的聚类中为止。 | 任何一个具有一个或多个数值属性的数据集 | 1、给出一个相关系数度量方法 2、分级聚类 3、绘制分级聚类树状图 | 优点: 1、层级结构可以显示为树状图的形状,易于解读 2、面对一个全新的数据集,并不清楚想要多少群组时可通过分级聚类观察出哪些群组最接近 |
K-Means聚类 | 它是将数据拆分到不同群组的方法。 工作方式:随机产生K个中心点的位置,将每个数据项都分配到距离最近的中心点。将中心位置移到分配给原中心点的所有项的平均位置处。重复上述聚类步骤。直到中心位置不再变化或达到某阈值。 | 任何一个具有一个或多个数值属性的数据集 | 1、给出想要的群组数量 2、给出一个相关系数度量方法 3、K-means聚类 4、打印分类群组结果 | 优点: 1、聚类得到的群组易于打印和识别 |
模拟退火算法 | 以一个随机推测的题解开始,以此为基准随机选择一个方向,找到另一个近似解,判断其成本值。如果新题解的成本值小,则替换原题解。如果成本值更大,则用概率觉得是否取代原题解。迭代至温度几乎为0时,返回题解。 | 给定定义域和成本函数的优化问题 | 1、确定变量定义域domain 2、定义成本函数costf | |
遗传算法 | 以一组种群题解开始,筛选出其中成本值最低的精英题解,利用变异、交叉的修改方法将精英题解扩充到原种群大小,称新得到的这个种群为下一代。迭代至一定代数或成本值达到某阈值或种群不再改变,返回成本值最低的作为最优解。 | 给定定义域和成本函数的优化问题 | 1、确定变量定义域domain 2、定义成本函数costf | |
非负矩阵因式分解NMF |
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。