教你学Python49-系列(二)数据选择,准备和建模

在本文中,我们将简要介绍模型性能概念,然后重点关注机器学习过程的以下部分:数据选择,预处理,特征选择,模型选择和模型权衡考虑因素。

           

           

模型性能介绍

可以用多种方法来定义模型性能,但是通常,它指的是模型能够有效地实现给定问题(例如,预测,分类,异常检测,推荐)的解决方案目标的能力。

由于每个问题的目标可能不同,因此绩效的衡量标准也可能不同。一些常见的性能指标包括准确性,精度,召回率,接收者操作员特征(ROC)等。在本系列的其余部分中,将对这些进行更详细的讨论。

数据选择和预处理

有人说垃圾进等于垃圾出,这确实是事实。这基本上意味着您可能已经构建了预测模型,但是用于构建模型的数据是否不具代表性,质量低下,是否存在错误等等均无关紧要。数据的质量,数量,准备和选择对于机器学习解决方案的成功至关重要。

确保成功的第一步是避免选择偏见。当用于生成模型的样本不能完全代表模型将来可能使用的情况时,就会出现选择偏差,尤其是对于新的和看不见的数据。

数据通常杂乱无章,通常包含缺失值,无用值(例如NA),离群值等。在进行建模和分析之前,需要对原始数据进行解析,清理,转换和预处理。这通常被称为数据处理或数据整理。

对于缺失的数据,通常会插补数据,这是一种用于填充或替代缺失值的技术,并且在概念上与插值非常相似。

另外,有时会对特征值进行缩放(功能缩放)和/或标准化(标准化)。标准化特征数据的最典型方法是从每个单独的观察值中减去给定特征值的平均值,然后除以该特征值的标准差。

特征缩放用于使不同特征的值范围具有相似性,以帮助防止某些特征主导模型和预测,还可以防止在运行机器学习优化算法(速度,收敛性等)时出现计算问题。

另一种预处理技术是创建虚拟变量,这基本上意味着您将定性变量转换为定量变量。一个示例是采用颜色特征(例如,绿色,红色和蓝色),并将其分别转换为值1、2和3。这使得可以执行具有定性特征的回归。

           

           

数据分割

回顾第一篇文章,应将用于机器学习的数据分为训练和测试数据集,以及用于模型验证和调整的可选第三验证数据集。

选择每个数据集的大小可能会有些主观,并取决于总体样本大小,因此本系列的完整讨论不在讨论范围之内。但是,作为一个示例,仅给定训练和测试数据集,某些人可能会将数据分为80%的训练和20%的测试。

通常,更多的训练数据会导致更好的模型和潜在性能,而更多的测试数据会导致对模型性能和整体归纳能力的更好评估。

特征选择与特征工程

有了一个有代表性的,无偏的,干净的和充分准备的数据集后,典型的下一步包括训练数据的特征选择和特征工程。请注意,尽管在此进行了讨论,但是这两种技术也可以在以后的过程中用于提高模型性能。

特征选择是选择特征子集以从其构建预测回归模型或分类器的过程。通常这样做是为了简化模型并提高解释性,减少训练时间和计算成本,并帮助减少过拟合的风险,从而提高模型的通用性。

特征选择(尤其是回归问题)的基本技术包括模型参数(即模型系数)及其重要性的估计以及特征之间的相关性估计。这将在关于参数模型的部分中进一步讨论。

用于特征选择的一些先进技术是主成分分析(PCA),奇异值分解(SVD)和线性判别分析(LDA)。

主成分分析是一种统计技术,用于确定哪些特征按顺序代表数据中最大到最小的变化。奇异值分解是PCA使用的低级线性代数算法。

线性判别分析与PCA密切相关,因为它们都是线性变换技术。但是,PCA更通用,与类别标签(无监督)无关,而LDA更具体,与类别标签(有监督)相关。

特征工程包括将特征选择作为子类别,但还涉及其他方面,例如创建新特征,将原始数据转换为特定于域的和可解释的特征,等等。

参数模型和特征选择

许多机器学习模型是参数模型的一种。一个很好的例子是描述直线的方程式(即线性模型),此处包括斜率(β),截距系数(α)和误差项(ε)。

                      在参数模型中,项的系数称为参数,通常由希腊字母beta和下标(例如β1…βn)指定。在回归问题中,参数称为回归系数。

编辑搜图

请点击输入图片描述

许多模型还包含一个错误术语,用希腊字母epsilon表示。简而言之,该误差项旨在解决给定一组输入值中模型的预测值与实际观察值之间的差异。

理解模型参数的概念对于监督学习非常重要,因为机器学习与其他技术不同,因为机器学习会自动学习模型参数。如第一篇文章所述,它通过估算最佳模型参数集来做到这一点,该最优模型参数可以通过优化技术最好地解释响应变量和独立特征变量之间的关系。

在回归问题中,将p值分配给每个估计的模型参数(回归系数),该值用于指示每个系数对响应的潜在预测影响。

p值大于某个选定阈值(通常为0.05或0.10)的系数通常不包含在模型中,因为它们很可能无助于解释(预测)响应。这是使用参数模型执行特征选择的一种关键方法。

另一技术涉及估计相对于响应的特征的相关性,并去除冗余且高度相关的特征。想法是仅包含一对相关特征中的一个(最重要)应该足以解释两个相关特征对响应的影响。

           

           选型

尽管您选择的算法或模型可能与本系列中讨论的其他事项(例如,数据量,特征选择等)无关紧要,但是这里是选择模型时要考虑的事项列表。

  • 可解释性

  • 简单(又称简约)

  • 准确性

  • 速度(培训,测试和实时处理)

  • 可扩展性

一个好的方法是从简单的模型开始,然后仅在必要时根据需要增加模型的复杂性。通常,除非您可以通过模型选择获得重大的准确性,否则应首选简单性。

相对简单的模型包括用于回归问题的简单和多元线性回归,以及用于分类问题的逻辑和多项式回归。

监督学习的基本早期模型选择选择是使用线性模型还是非线性模型。当某些特征值及其组合对响应的影响是非线性的时,非线性模型可以最好地描述和预测情况。但是,在大多数情况下,关系永远不是真正的线性关系。

除了基本线性模型之外,响应变量的变化还可能是由于交互作用引起的,这意味着响应不仅依赖于某些特定特征(主效应),而且还依赖于某些特征的组合(交互作用)。通过将模型中每个交互项的特征值(例如βx1x2)乘以项系数,可以表示模型中这些特征的组合。

一旦包含交互作用项,就可以通过常规方法(例如p值估算)确定交互作用在解释响应中的重要性以及是否包括这些交互作用。请注意,有一个称为层次结构原理的概念,该概念基本上表示如果模型中包含交互作用,则还应包括相关的主要效果。

尽管线性假设通常足够好并且可以产生足够的结果,但大多数现实生活中的特征/响应关系都是非线性的,有时需要非线性模型才能获得可接受的准确性。在这种情况下,有多种模型可供选择。

非线性模型可以包括不同程度的多项式,阶跃函数,分段多项式,样条,局部回归(aka LOESS模型)和广义加性模型(GAM)。由于非线性建模的技术性质,对于本系列而言,按名称熟悉上述模型方法就足够了。

其他值得注意的模型选择包括决策树,支持向量机(SVM)和人工神经网络(根据生物神经网络,神经元的互连系统建模)。决策树可以高度解释,而后两者是黑匣子和非常复杂的技术方法。决策树涉及从最重要的顶层节点开始,根据逻辑决策创建一系列拆分。决策树在视觉上看起来像一棵倒挂的树。

这是斯蒂芬·米尔博罗(Stephen Milborrow)创建的决策树的示例,该树显示了泰坦尼克号上乘客的生存情况。“同居”一词是指船上的配偶或兄弟姐妹的数量,每片叶子下的数字是指存活的可能性和总观测值的百分比(即,在船上的人员)。因此,右上角的叶子表明,存活下来的雌性有73%的存活机会,占船上那些的36%。

                      

编辑搜图

请点击输入图片描述

这里讨论的最终模型选择决策是是否利用集成方法来获得额外的性能提升。这些方法组合模型以产生单个共识预测或分类,并通过平均或投票技术来实现。

一些非常常见的集成方法是套袋,增强和随机森林。本质上,随机森林被套用于决策树,并带有随机特征子集选择的附加元素。

模型权衡

模型准确性的确定方法很多,本系列后面将对此进行详细讨论。模型准确性的主要衡量标准是估算给定模型的测试误差。因此,模型选择的准确性提高目标是减少估计的测试误差。

重要的是要注意,目标不是找到绝对的最小误差,而是找到性能良好的最简单模型。尝试压缩性能的最后一部分通常会减少收益。考虑到这一点,您对建模方法的选择将不会总是基于可带来最大程度准确性的方法。有时,还必须考虑其他重要因素,包括可解释性,简单性,速度和可伸缩性。

通常,对于给定的应用而言,选择预测精度还是模型可解释性更重要。可以使用人工神经网络,支持向量机和一些集成方法来创建非常准确的预测模型,但是除了高度专业化和技术化的个人以外,这几乎是一个黑匣子。

当预测性能是最重要的目标时,黑盒算法可能是首选,并且不必解释模型如何工作和进行预测。但是,在某些情况下,模型的可解释性是首选的,有时在法律上是强制性的。

这是在金融行业中经常看到的以可解释性为驱动力的示例。假设使用机器学习算法来接受或拒绝个人的信用卡申请。如果申请人被拒绝并决定提出投诉或采取法律行动,则金融机构将需要解释该决定的做出方式。尽管对于神经网络或SVM系统而言这几乎是不可能的,但对于基于决策树的算法而言却相对简单。

在训练,测试,处理和预测速度方面,某些算法和模型类型需要更多时间,并且比其他算法和模型需要更大的计算能力和内存。在某些应用程序中,速度和可伸缩性是关键因素,尤其是在任何需要广泛定期更新模型,并在模型上按比例执行预测和/或分类的近实时应用程序(例如,电子商务站点)中。飞。

最后,如前所述,除非在性能准确性方面有明显和合理的提高,否则应始终首选模型简单性(或简约性)。简单性通常会导致更快,更可扩展并且更易于解释模型和结果。

 

喜欢点下关注,你的关注是我写作的最大支持

                      

编辑搜图

请点击输入图片描述

                      

编辑搜图

请点击输入图片描述

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值