机器学习中的预测函数是否理解分类数据

数据挖掘 Python 预测建模 特征工程 数据科学模型 编码
2022-03-15 08:04:57

我知道在进行特征工程之前,必须将数据集拆分为训练数据和测试数据,以避免分析中的偏差。我也明白机器学习模型不理解数字数据以外的数据,因此需要编码,这是特征工程的一部分。我的问题是,我是单独编码测试数据还是预测函数理解分类数据。

2个回答

这在一定程度上取决于模型和语言(实现)。

首先请理解分类数据和非数值数据是不一样的!许多模型可以很好地处理分类数据(例如回归格式),有些甚至可以处理非数值数据。

最后,对您来说最重要的特征工程必须在训练/测试拆分之前对整个数据集进行。所有模型只能预测与训练过的数据具有完全相同输入格式的数据!

所以是的,如果你对某个列进行一次热编码,它也需要为预测进行一次热编码。

如果要确保测试数据具有与训练集相似的类,可以使用 Python 的 scikitlearn train test split 中的 stratify 选项或 R 的 Caret 中的 stratify 选项