我需要对一个螺旋数据集进行分类。我已经尝试了多种算法,如KNN、核SVM等。我希望通过特征工程、预处理等方法来提升逻辑回归的性能。
我还使用了scikit-learn来进行所有分类工作。
我完全明白逻辑回归并不是处理这类问题的合适算法。这更多是一个学习练习,用于预处理和其他特征工程/提取方法,看看我能在多大程度上改善这个特定的模型。
这里是一个我将用于分类的示例数据集。关于如何操作数据集以便在逻辑回归算法中使用,任何建议都会很有帮助。
我还有包含多个螺旋的数据集。有些数据集有2个类别,有时多达5个。这意味着最多有5个螺旋。
回答:
逻辑回归通常被用作线性分类器,即将一个类别的样本与另一个类别分开的决策边界是一条直线,但它也可以用于非线性决策边界。
使用SVC中的核技巧也是一个不错的选择,因为它将低维度的数据映射到高维度,使其线性可分。
示例:
在上面的示例中,数据在低维度下不是线性可分的,但在应用了转换ϕ(x) = x²并在特征中添加了第二个维度后,我们得到了右侧的图表,它变得线性可分。
你可以开始通过创建新特征来转换数据,以应用逻辑回归。还可以尝试使用核技巧的SVC(支持向量分类器)。对于SVC,你不需要显式地将数据转换到高维度。