数据准备是机器学习流程中的重要一环,常见的做法是仔细分析数据集,评估机器学习算法的需求,并精心选择最适合的数据准备技术来转换原始数据,以最大程度地满足算法的期望。然而,这种方式较为耗时且需要较高的专业知识。
另一种方法是并行应用一组通用且常用的数据准备技术于原始数据,然后将所有转换的结果合并成一个大数据集,从中可以训练和评估模型。这种方法将数据转换视为从原始数据中提取明确特征的过程,从而揭示问题结构给学习算法。它需要学习算法能够适应加权输入特征,并使用与预测目标最相关的输入特征。
这种方法所需的专业知识较少,与全面网格搜索相比在计算上更为高效,并且可以帮助发现非直观的数据准备解决方案,从而为预测建模任务提供良好的性能。
本文将介绍如何利用特征提取来进行表格数据的准备。特征提取是一种方法,它并行地将所有数据转换应用于原始输入数据,并将它们组合成一个更大的数据集。这种方法旨在提高标准分类数据集的基准性能。此外,我们还会探讨如何在特征提取建模管道中加入特征选择,以进一步提升标准数据集上的建模性能。
文章分为以下几个部分:
数据准备通常具有挑战性。传统的做法是分析数据集,检查算法的需求,并转换原始数据以满足这些需求。尽管有效,但这种方法速度较慢且需要专业知识。
另一种方法是将输入变量的准备视为建模管道中的超参数,并在选择算法和算法配置时进行优化。这种方法虽然在计算上可能较昂贵,但可以揭示不直观的解决方案,并且只需少量专业知识。
这两种数据准备方法之间的折衷在于将输入数据的转换视为特征工程或特征提取过程。这种方法涉及应用一组通用的数据准备技术,并将所有特征聚合在一起形成一个大型数据集,然后根据该数据集训练和评估模型。
这种方法的原理是将每种数据准备技术视为一种转换,可以从原始数据中提取明确的特征,以呈现给学习算法。理想情况下,这种转换可以揭示复杂关系和复合输入变量,从而允许使用更简单的建模算法,如线性机器学习技术。
我们称这种方法为“特征工程方法”或“特征提取方法”,用于为预测建模项目配置数据准备。它允许在选择数据准备方法时运用数据分析和算法专业知识,并可以找到不直观的解决方案,但计算成本较低。
此外,可以通过特征选择技术排除不必要的输入特征。这些技术试图对提取的大量特征进行排序,并仅选择与预测目标最相关的特征。
接下来,我们将探讨如何在葡萄酒分类数据集上应用这种数据准备方法。
我们将首先选择一个标准的机器学习数据集——葡萄酒分类数据集。该数据集包含13个输入变量,描述了葡萄酒样本的化学成分,并要求将其分类为三种类型之一。
通过加载数据集并将其拆分为输入和输出变量,我们可以评估一个模型并建立基准性能。
我们将使用葡萄酒分类数据集。该数据集包含13个输入变量,描述了葡萄酒样本的化学成分,并要求将其分类为三种类型之一。
通过加载数据集并将其拆分为输入和输出变量,我们发现数据集包含178行数据,其中13个是输入变量,1个是目标变量。
为了建立基准性能,我们首先评估原始输入数据的逻辑回归模型。通过确保输入变量是数字并进行标签编码,我们可以训练模型。然后,我们使用重复分层k-fold交叉验证来评估模型,并报告平均准确率和标准偏差。
下一步是选择一组通用的数据准备技术。在这种情况下,我们将使用一系列变换来改变输入变量的比例,例如MinMaxScaler、StandardScaler和RobustScaler,并使用变换来连接输入变量的分布,例如QuantileTransformer和KBinsDiscretizer。最后,我们还将使用变换来消除输入变量之间的线性相关性,例如PCA和TruncatedSVD。
FeatureUnion类可以用来定义要执行的转换列表,这些转换的结果将被聚合在一起。这将创建一个具有大量列的新数据集。
然后,我们可以将FeatureUnion作为第一步,并将逻辑回归模型作为最后一步来创建建模管道。通过重复分层k-fold交叉验证来评估管道,并报告平均准确率和标准偏差。
我们还可以通过特征选择技术进一步减少特征数量。例如,使用递归特征消除(RFE)技术选择15个最相关的特征。将这些特征选择步骤添加到FeatureUnion和逻辑回归模型之间,可以进一步提升模型性能。
通过以上步骤,我们可以看到特征提取和特征选择可以显著提高葡萄酒分类数据集上的模型性能。