我正在使用带有scikit-learn的oneclass SVM检测数据集中的异常值。我试着用一个例子解释我的问题:
想象一下具有高度和性能特征的简单数据集(这只是一个简化,我的数据集要大得多)。当两个特征之间存在奇怪的组合时,我想要检测的是异常值,例如:
h - height
p - performance
h p class
----------
10 0.1 1
12 0.5 1
20 3.2 1
24 2.9 1
23 0.4 -1
...
我正在缩放数据集,并且我使用以下配置训练和检测异常值:
clf = svm.OneClassSVM(kernel="rbf", nu=0.01, gamma=0.01)
当我的数据集成比例时,没有问题。但是,当数据集以下列方式偏斜时,我遇到了一个问题:
我已经解决了问题训练2 SVM将高度分成两组(一个数据集中的高度大约为10,而第二个数据集中的高度大约为10)。
有没有办法解决它而不拆分数据集?