【Python机器学习预测分析算法实战一】预测分析核心算法分类

  最近在学习机器学习预测分析算法,在学习过程中顺便将关键笔记记录下来,一方面巩固认知另一方面便于以后的查找,如果能对大家有帮助和参考那就更好了。
  首先机器学习预测分析算法解决的问题通常是指“函数逼近问题”,函数逼近问题是有监督学习问题的一个子集。线性回归和逻辑回归是解决这类问题最常见的算法。函数逼近问题包含了各种领域中的分类问题和回归问题,如文本分类、搜索响应、广告投放、垃圾邮件过滤、用户行为预测、诊断等。在实践中面对绝大多数函数逼近问题,惩罚线性回归法和集成方法表现更加优秀。

惩罚回归方法?
  惩罚回归方法是由普通最小二乘法衍生而来,普通最小二乘法有一个弊端就是有时候会出现过拟合,惩罚线性回归设计之初衷就是客服普通最小二乘的过拟合问题。惩罚线性回归可以减少自由度使之与数据规模、问题的复杂度相匹配。对于具有大量自由度的问题,惩罚线性回归得到了广泛的应用。

什么是集成方法?
  集成方法的基本思想是构建多个不同的预测模型,然后将其输出做某种组合作为最终的输出,如取平均值或采用多数人的意见(投票)。单个预测模型叫做基学习器。计算学习理论的研究结果证明只要基学习器比随机猜测稍微好些(如果独立预测模型的数目足够多),那么集成方法就可以达到相当好的效果。

算法的选择(集成与惩罚线性回归)

  惩罚线性回归的优势在于训练速度非常快。大规模数据集的训练时间可以是小时、天、甚至是几周。要获得一个可以部署的解决方案往往需要进行多次训练。过长的训练时间会影响大规模数据问题的解决进度及其部署。训练所需的时间当然越短越好,因此惩罚线性回归因其训练所需时间短而获得广泛使用就是显而易见的了。例如,如果训练集合在GB级别,惩罚线性回归算法的训练时间在30分钟这个级别,集成方法可能需要5~6小时。如果特征工程阶段需要10次迭代来选择最佳特征集合,则单单这个阶段就会产生1天对应1周的时间差异。一个有用的技巧就是在开发的早期阶段,如特征工程阶段,利用惩罚线性模型进行训练。这给数据科学家提供一个基本的判断:哪些变量(特征)是有用的、重要的,同时提供了一个后续与其他算法性能比较的基线。对于一些不需要复杂模型的问题,线性方法相比集成方法可以获得同等或者更好的性能。数据科学家的任务就是如何平衡问题的复杂度、预测模型的复杂度和数据集规模,以获得一个最佳的可部署模型。基本思想是如果问题不是很复杂,而且不能获得足够多的数据,则线性方法比更加复杂的集成方法可能会获得全面更优的性能。
  在算法的选择方面,有一个简单的判别方法,就是看标签值(函数值)的类型,如果标签值是连续的数值,那么就是属于回归问题,如果是离散的那么就属于分类问题,如果结果是二值的那么就叫做二分类问题,如果结果是多个值,则为多分类问题。根据问题的类型选择相应的算法。

构建预测模型的流程

   1)构造一个机器学习问题。从业务场景中提取出对应的机器学习问题,这一阶段也可以概括为重述问题;

   2)选择模型。根据经验暂时性选择一个适用的模型;

   3)特征提取和特征工程;

   4)训练模型;

   5)评估模型性能;根据评估结果确定是否对上述过程进行迭代;

  6)模型部署;

  
  
  
  All things are difficult before they are easy.

你可能感兴趣的:(预测分析,ML,机器学习,python,预测分析)