我知道在进行特征工程之前,必须将数据集拆分为训练数据和测试数据,以避免分析中的偏差。我也明白机器学习模型不理解数字数据以外的数据,因此需要编码,这是特征工程的一部分。我的问题是,我是单独编码测试数据还是预测函数理解分类数据。
机器学习中的预测函数是否理解分类数据
数据挖掘
Python
预测建模
特征工程
数据科学模型
编码
2022-03-15 08:04:57
2个回答
这在一定程度上取决于模型和语言(实现)。
首先请理解分类数据和非数值数据是不一样的!许多模型可以很好地处理分类数据(例如回归格式),有些甚至可以处理非数值数据。
最后,对您来说最重要的特征工程必须在训练/测试拆分之前对整个数据集进行。所有模型只能预测与训练过的数据具有完全相同输入格式的数据!
所以是的,如果你对某个列进行一次热编码,它也需要为预测进行一次热编码。
如果要确保测试数据具有与训练集相似的类,可以使用 Python 的 scikitlearn train test split 中的 stratify 选项或 R 的 Caret 中的 stratify 选项