预处理螺旋数据集以用于逻辑回归

时间:2021-07-11 21:48:42

标签: python machine-learning scikit-learn preprocessor

所以我需要对一个螺旋数据集进行分类。我一直在试验一堆算法,比如 KNN、Kernel SVM 等。我想尝试使用特征工程、预处理等来提高 Logistic 回归的性能。

我也在用 scikit 学习做所有的分类。

我完全理解逻辑回归不是解决此类问题的正确算法。这更像是预处理和其他特征工程/提取方法的学习练习,以了解我可以在多大程度上改进此特定模型。

这是我将用于分类的示例数据集。关于如何操作数据集以用于逻辑回归算法的任何建议都会有所帮助。

Example Dataset

我也有多个螺旋的数据集。一些数据集有 2 个类或有时多达 5 个。这意味着多达 5 个螺旋。

2 个答案:

答案 0 :(得分:0)

由于数据似乎不是线性可分的,您可以尝试使用支持向量分类中常用的Kernel Trick方法。核函数接受原始低维空间中的输入,并返回高维空间中变换向量的点积。这意味着变换向量 ϕ(x) 只是相应低维向量 x 中坐标的某个函数。

答案 1 :(得分:0)

逻辑回归通常用作线性分类器,即将一类样本与另一类样本分开的决策边界是线性(直线),但它也可用于非线性决策边界。

在 SVC 中使用内核技巧也是不错的选择,因为它将较低维度的数据映射到较高维度,使其线性可分。

示例:

example

在上面的例子中,数据在较低维度上不是线性可分的,但是在应用变换 ϕ(x) = x² 并将第二个维度添加到特征后,我们得到了右侧图,该图变得线性可分。

>

您可以通过创建用于应用逻辑回归的新特征来开始转换数据。 还可以尝试使用内核技巧的 SVC(支持向量分类器)。对于 SVC,您不必显式地将数据转换为更高维度。

很少有非常适合学习的资源是 onetwo