线性回归 + KFold 交叉验证

数据挖掘 机器学习 分类 scikit-学习 线性回归 交叉验证
2022-02-16 11:59:40

我准备好了一个预先拥有的数据集和相应的标签(8个类)。我已经使用 DT、KNN、NB 和 SVM 等分类器完成了 K=10 的 KFold 交叉验证,现在我想做一个线性回归模型,但不确定它如何与 KFold 一起使用,它甚至可能吗?对于回归,我应该将我自己的集合划分为训练和测试集?

8 个类别是年龄(针对 NLP 问题),所以我想检查分类和回归的两个选项。

2个回答

交叉验证

要理解的一个极其重要的概念是:

交叉验证独立于您使用的模型工作。

交叉验证只是将数据分成多对训练和测试集的过程。完成此操作后,您可以使用您喜欢的任何模型训练该数据。在 sklearn 中,我假设您正在使用给定标签,您可以将交叉验证与您想要的任何分类器/回归器一起使用。

交叉验证是评估模型在以前未见过的数据上执行情况的方法。当您在所有数据上训练模型时,您没有任何模型以前未见过的数据可供测试。这就是您交叉验证的原因,以便您可以对可能的性能进行多个估计。这比只在训练集和测试集之间拆分一次数据更稳健,因为在这种情况下,您的测试集可能会更容易、非常困难或非常困难。通过交叉验证,您可以解决这个问题。

线性与逻辑回归

显然,您的输出是年龄,因此,您可以使用线性或逻辑回归。如果您使用线性回归,您将尝试直接猜测年龄。如果您使用逻辑回归,您可以将输出四舍五入为最接近的整数以获得正确的目标类。

我建议您使用逻辑回归,因为它可以让您的模型更好地学习。如果您使用线性回归,那么您的类都彼此不同(从数学的角度来看)。但是,我的猜测是这个类比13更接近于.1420+

到目前为止,您已经使用 DT、KNN、NB 和 SVM 完成了分类。您的任务是分类,因为您有 8 个输出类。线性回归不适用于分类问题,如果您愿意,您可以选择 Logistic 回归(与其他方法一样,使用 K 倍 CV)。