1

こんにちは、KDD 1999データセットを使用しているImです。私は、matlabのナイーブベイをそれに適用しようとしていました。私が知りたいのは、単純ベイズのコードで以下の「トレーニング」と「target_class」に気付いた場合、kddデータセットは494021x42のデータ配列です。

training = [1;0;-1;-2;4;0]; % this is the sample data.
target_class = ['posi';'zero';'negi';'negi';'posi';'zero'];
    % This should have the same number of rows as training data but why?

% Training and Testing the classifier (between positive and negative)
test = 10*randn(10,1) % this is for testing. I am generating random numbers.
class  = classify(test,training, target_class, 'diaglinear')  
% This command classifies the test data depening on the given training data using a       Naive Bayes classifier

% diaglinear is for naive bayes classifier; there is also diagquadratic

私が知りたいのは、kddデータセットの攻撃タイプに関連する「Target_class」ですか?

back dos
buffer_overflow u2r
ftp_write r2l
guess_passwd r2l
imap r2l
ipsweep probe
land dos
loadmodule u2r
multihop r2l
neptune dos
nmap probe
perl u2r
phf r2l
pod dos
portsweep probe
rootkit u2r
satan probe
smurf dos
spy r2l
teardrop dos
warezclient r2l
warezmaster r2l

または、ターゲットクラスは「テスト」セットに含まれる列ヘッダーですか?すなわち

protocol_type: symbolic.
service: symbolic.
flag: symbolic.
src_bytes: continuous.
dst_bytes: continuous.
land: symbolic.
wrong_fragment: continuous.
4

1 に答える 1

3

たとえばここでタスク定義を読むと、ターゲットクラスが実際に攻撃タイプであることがわかります。ただし、トレーニングセットには、テストセットよりも少ない攻撃タイプが含まれています。

侵入検知アルゴリズムをトレーニングした後は、既存の攻撃タイプとは近いが同じではない新しい攻撃タイプを処理できる必要があるため、これは現実味を帯びるために行われます。

于 2012-01-29T14:21:39.503 に答える