سیستم تشخیص نفوذ با استفاده از داده کاوی در نرم افزار متلب

با ما در ارتباط باشید : 0903-9549884
سیستم تشخیص نفوذ با استفاده از داده کاوی در نرم افزار متلب 5.00/5 (100.00%) 2 votes

سیستم تشخیص نفوذ با استفاده از داده کاوی

در این پروژه با استفاده از الگوریتم های هوش مصنوعی و روش های مختلف داده کاوی یک سیستم تشخیص نفوذ در متلب طراحی شده است 

توسعه سیستم تشخیص نفوذ  با ماشین بردار پشتیبان svm و درخت تصمیم decision tree   روی دیتاست kdd

 

برای اجرای کد فایل main را باید اجرا کنید.

در فایل main  روال برنامه به شکل زیر است.

 

function main()

% read data set

    filename = ‘KDD.txt’;

    [lable,data]=read_data(filename);

خواندن فایل دیتاست kdd از فایل متنی

 

    % normalize dataset ; defuzzification values to use by svm

    normal_data=normalize(data,’normal’);

نرمالسازی داده به منظور انجام فرایند یادگیری

 

    % partitioning data

    window_size = 1000;

بخش بندی داده ها به منظور استخراج بردارهای پشتیبان مبتنی بر روش مقاله

 

    % train initial value

    for i=1:41

        train(1,i) = normal_data{1,i}(1,1);

    end

    label(1,1) = normal_data{1,42}(1,1);

   

    % for every windows

    for i=1:ceil(size(data{1,1},1)/window_size)

        % extract idx of data to select vector samples

        if((i*window_size) > size(data{1,1},1))

            idx = ((i-1)*window_size)+1:size(data{1,1},1);

        else

            idx = ((i-1)*window_size)+1:(i*window_size);

        end

        i

        % pre process data to qualified to train

        [train,label] = preprocess(normal_data,train,label,idx);

  پیش پردازش داده برای تبدیلل داده های از نوع cell به ماتریس

 

        % train svm

        SVMstruct = svmtrain(train,label,’Kernel_Function’,’rbf’);

اموزش svm

        % extract support vectors values

        idx=SVMstruct.SupportVectorIndices;

        [train,label] = preprocess2(train,label,idx);

استخراج نمونه های بردار پشتیبان

    end

   

    % fuzzification class label to learn decition tree

    for i=1:size(label,1)

        if(label(i,1) == 1)

            spec{i,1} = ‘normal’;

        else

            spec{i,1} = ‘abnormal’;

        end

    end

   

    % feature labels

    for i=1:41

        a{1,i} = lable{1,i};

    end

 

    % train decition tree by only support vector samples

     t = classregtree(train,spec,’names’,a)

     % show the treee

     view(t);

    

اموزش و نمایش درخت اموزش دیده مبتنی بر داده های بردار پشتیبان (نه همه ی داده ها)

     % test

    

     testidx = round(rand(100,1) * (size(data{1,1},1)-1))+1;

    [test,label] = preprocess(normal_data,train,label,testidx);

   

    % calculate confiution matrix

     sfit = eval(t,test);

     tp = 0;

     tn = 0;

     fp = 0;

     fn = 0;

     for i=1:size(sfit,1)

         if(strcmp(sfit{i,1},’normal’))

             if(label(i,1) == 1)

                 tp = tp +1;

             else

                 fp = fp +1;

             end

         else

             if(label(i,1) == 1)

                 fn = fn +1;

             else

                 tn = tn +1;

             end

         end

     end

محاسبه و نمایش ماتریس سردرگمی

     tp

     fp

     tn

     fn

     % calculate accuracy

     accuracy = (tp+tn)/(tp+tn+fp+fn)

    disp(‘the end’);

end

 

خروجی برنامه

ماتریس سردرگمی

 

برای دریافت این پروژه میتوانید با شماره 09039549884 تماس بگیرید

در ثبت سفارش خود مشکل دارید؟ 

سفارش خود را از طریق تلگرام و واتس اپ برای ما بفرستید

برای ثبت سفارش در تلگرام کلیک کنید