我正在使用Scikit中的一類SVM分類器OneClassSVM
來確定數據集中的異常值。我的數據集有30000個樣本,1024個變量。我使用其中10%作爲培訓數據。scikit中的OCSVM:異常點的距離始終爲負
clf=svm.OneClassSVM(nu=0.001,kernel="rbf",gamma=1e-5)
clf.fit(trset)
dist2hptr=clf.decision_function(trset)
tr_y=clf.predict(trset)
如上,我計算使用decision_function(x)
函數的決策函數每個樣品的距離。當我比較預測結果和距離結果時,它總是顯示預測輸出中標記爲+1的樣本和標記爲-1的樣本的負距離值的正距離。
我認爲距離沒有符號,因爲它不處理方向。我想了解如何在OneClassSV
scikit分類器中計算距離。標誌是否僅表示樣本位於由SVM計算的決策超平面之外?
請幫忙。