假设我有一个数据集,其中一个特征是“汽车类型”:比如“A”、“B”和“C”。
测试集由“汽车类型”始终等于“A”的样本组成。因此,我应该只在“汽车类型”为“A”的子集上还是在整个训练集上
训练我的模型?
两种方法的优缺点是什么?
只在数据的感兴趣部分上训练模型可以吗?
数据挖掘
机器学习
数据集
训练
2022-02-27 11:42:55
2个回答
我认为这取决于您对数据集的理解。
汽车有多相似带车和车?
是车电动汽车和汽车和车用汽油运行?其中一个是自动驾驶汽车而其他不是吗?
如果你一起训练它们,我认为有一个隐含的假设,即它们的行为是相似的,你想利用这一点,特别是,也许你没有足够的汽车数据你希望你可以使用来自汽车的数据和车来帮助你。
但是,如果汽车和车非常不同,并且您正试图预测事故或汽车故障,将其添加到它们可能无济于事。如果汽车的设计非常不同,它们可能不会因为相同的特征而导致事故或汽车故障。
如果您打算仅在该模型上使用测试数据集,则仅对汽车“A”类型的子集进行训练很好,但“汽车类型”列将过时,因为该列中的值都相同.
注意:如果您建立一个相关矩阵来查看您的功能如何影响您的输出,那么它将为零,因为列类型没有改变,这将使它,正如我所说,过时
但是,想想你的模型投入生产,如果它接收到一个等于'C'的汽车类型怎么办,这将是一个没有经过训练的新值,它会给你的预测带来问题。
所以,最好在整个训练数据集上训练你的模型,而不是偷看测试数据集来调整你的训练(你所做的类似于所谓的数据泄漏,因为你从测试数据集中获取信息并改变你的训练根据您的测试数据集中的内容)。希望这可以帮助!干杯。