簡體   English   中英

一級分類

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM