我正在学习估算和模型训练。以下是我在训练数据集时遇到的几个问题。请提供这些问题的答案。
输入相关
另一个问题与插补有关。想象一下,我有一些船上乘客的数据集,其中只有头等舱乘客被分配到客舱。有一个列保存舱室编号(分类),但很少有观察结果具有这些舱室编号。现在我知道这一列很重要,所以我无法删除它,而且因为它有很多缺失值,所以大多数算法都不起作用。如何处理这种类型的列的插补?
在估算验证数据时,我们是否使用与估算训练数据相同的值进行估算,还是根据验证数据本身再次计算估算值?
如何以字符串形式插补数据,如票号(如 A-123)。该列很重要,因为第一个字母表告诉乘客的类别。因此,我们不能放弃它。
假设我有一个包含 1000 个观察值的数据集。现在我训练模型 一次性获得完整的数据集。我这样做的另一种方式是,我将我的 数据集为 80% 和 20%,并首先以 80% 训练我的模型,然后再训练 20% 数据。是一样还是不一样?
很难说:好还是不好。一般来说,如果您的数据(分割)取自同一分布 - 您可以执行额外的训练。然而,并非所有模型类型都适合它。我建议您在额外训练之前和之后运行某种具有 80/20 分割和错误测量检查的交叉验证。
基本上,如果我已经训练了我的 根据新数据训练模型,这意味着什么?
如果您从相同的分布中获取数据集:您将执行额外的学习,理论上应该对您的模型产生积极影响。
想象一下,我有一些船上乘客的数据集,其中只有头等舱乘客被分配到客舱。有一个列保存舱室编号(分类),但很少有观察结果具有这些舱室编号。现在我知道这一列很重要,所以我无法删除它,而且因为它有很多缺失值,所以大多数算法都不起作用。如何处理这种类型的列的插补?
您需要清楚地了解您想通过插补做什么。如果只有头等舱才有价值,那么如何对二等舱或三等舱进行插补?你需要找到什么?甲板?舱号?您想寻找新值还是通过现有值进行估算?
在估算验证数据时,我们是否使用与估算训练数据相同的值进行估算,还是根据验证数据本身再次计算估算值?
通常,您对拥有的整个数据(没有目标列)运行插补算法。
如何以字符串形式插补数据,如票号(如 A-123)。该列很重要,因为第一个字母表告诉乘客的类别。因此,我们不能放弃它。
如果案例数量有限,则只需将值估算为字符串即可。如果没有,则执行特征工程:尝试预测字母、数字、数字的第一位、len(number) 等。