我目前正在培训svm.OneClassSVM
。
我将问题简化为最低限度的例子:
from sklearn import svm
import pandas as pd
X_train = pd.read_csv("occ_data.csv")
clf = svm.OneClassSVM(nu=0.1, kernel='rbf', gamma=0.01,
random_state=42, tol = 0.1)
clf.fit(X_train.as_matrix())
可以获得数据集from github.com。其他内核(例如'rbf'
)没有帮助。
对原因和/或变通方法的任何想法都非常感谢。感谢。
我使用Anaconda 4.3.1(64位)分发Python Python 3.6.0。
答案 0 :(得分:2)
必须在SVM之前缩放数据:
import pandas as pd
from sklearn.preprocessing import StandardScaler
X_train = pd.read_csv("occ_data.csv")
clf = svm.OneClassSVM(nu=0.1, kernel='rbf', gamma=0.01,
random_state=42, tol = 0.1)
scl = StandardScaler()
clf.fit(scl.fit_transform(X_train.as_matrix()))