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

Pre Processing spiral dataset to use for Logistic Regression

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

我也在使用 scikit learn 来做所有的分类。

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

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

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

由于数据似乎不是线性可分的,您可以尝试使用Support Vector Classification中常用的Kernel Trick方法。核函数接受原始低维 space 中的输入和 returns 高维 space 中变换向量的点积。这意味着变换后的向量 ϕ(x) 只是相应低维向量 x 中坐标的一些函数。

Logistic 回归通常用作线性 class 运算符,即将一个 class 样本与另一个样本分开的决策边界是线性的(直线),但它可用于非线性决策边界也是如此。

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

示例:

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

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

非常适合学习的资源很少one and two