[英]One-class Classification
我有 2500 多個樣本進行了靜態分析,每個樣本提取了 300 多個特征。
在這些樣本中,我區分了 10 多個APT
類,我的目標是為每個類構建一個單類分類器。
我正在使用 python scikit 庫進行機器學習,特別是我面臨着一類 SVM。
第一個問題:這種方法還有其他一些好的單類分類器嗎?
第二個問題:我必須提出一些可以定義分類器“准確性”的指標。 現在我知道對於一類 SVM 來說,准確度概念並不是那么明確。 我報告我的代碼和我的概念:
import numpy as np
import pandas as pd
from sklearn import svm
from sklearn.model_selection import train_test_split
df = pd.read_csv('features_labeled_apt17.csv')
X = df.ix[:,1:341].values
X_train, X_test = train_test_split(X,test_size = 0.3,random_state = 42)
clf = svm.OneClassSVM(nu=0.1,kernel = "linear", gamma =0.1)
y_score = clf.fit(X_train)
pred = clf.predict(X_test)
print(pred)
這些代表代碼的輸出:
[ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 -1 1 1 1
1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1]
1當然代表標記良好的樣本,而-1代表錯誤的樣本。
第一:你認為這是一個好方法嗎? 第二:對於指標,如果我將測試集中的總元素除以錯誤的標簽?
根據我對機器學習算法的理解,您的用例不是應用 oneclass-SVM 分類器的好用例。
通常,oneclass-svm 用於無監督的異常值檢測問題。 請參閱此頁面以查看 oneclass-svm 檢測異常值的實現。
只需顯示您的數據框,我就會找到解決您問題的任何新方法。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.