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

با ما در ارتباط باشید : 09039549884

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

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

توسعه سیستم تشخیص نفوذ  با ماشین بردار پشتیبان 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 تماس بگیرید

راستی! برای دریافت مطالب جدید در کانال تلگرام یا پیج اینستاگرام متلب پروژه عضو شوید

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

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

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

پروژه آماده لازم دارید ؟ 

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

فروشگاه متلب پروژه