در مباحث مهندسی معکوس برای تحلیل برنامه ها از دو روش ایستا و پویا استفاده می شود، لذا برای شناسایی ملوارها می توان از تحلیل ملوار با هر کدام از این روش ها یا ترکیب آن دو کمک گرفت. این دو روش هر کدام در جای خود مزایایی و معایبی دارند.با تحلیل استاتیک یک ملور را بدون اجرا کردن آنالیز می­کنند ، برای تشخیص ملور-مانند ویروس ها- به کمک تحلیل استاتیک ، کد برنامه را که به شکل باینری است گرفته و با تطابق دادن الگوی آن با پایگاهی از الگولهایی که از قبل تهیه شده است نسبت به تشخیص اقدام می­کنند که این روش اساس کار ضدویروسهای موجود است . برای انجام این کار از الگوریتم­های بسیاری استفاده می­شود از مزایای آن می­توان به اجرا نکردن کد آلوده و سرعت آن اشاره نمود ومعایب آن عدم کارایی در تشخیص کدهای آلوده­ و پیچیده­ای است که در ابتدا سالم به نظر می رسند ولی در هنگام اجرا تغییر ماهیت داده (خود را تغییر داده) و به کد مضر تبدیل می شوند و یا کدهایی که به صورت رمز درآمده اند و بررسی متن واقعی کد این برنامه ها مقدور نمی باشد در نتیجه بررسی استاتیک کد این برنامه ها در تشخیص رفتار مضر این برنامه ها بی فایده می باشد، در حالی که در تحلیل پویا رفتار خطرناک و مضر این برنامه ها تشخیص داده می شود و این مسئله برتری بررسی پویا نسبت به ایستا را روشن می کند. تحلیل استاتیک عموما به کمک یک دیباگر یا دیس­اسمبلر انجام می شود و تحلیل پویا به کمک یک دیباگر انجام میگردد . در تحلیل پویا (رفتاری) ما فایلی را که بررسی میکنیم مانند یک جعبه سیاه در نظر میگیریم و از روی رفتار ان به نتیجه میرسیم که چه منظور و هدفی دارد و کد باینری مورد بررسی قرار نمی گیرد ولی همانطور که مشخص می باشد باید برنامه ملور را اجرا نمود که این مسئله برای سیستم خطرناک است، البته می توان از روشها و ابزارهایی مانند ماشین مجازی[۱] برای ایجاد محیط امن استفاده نمود.

 

‏۳ رویکرد پیشنهادی در شناسایی و تشخیص نوع[۲] نرم افزارهای مضر/بداندیش

۳٫۱ تحلیل رفتار نرم افزارهای بداندیش/ مضر و استخراج رفتار آنها

ابزارهای زیادی برای بررسی کردن رفتار به صورت پویا وجود دارد از جمله تحلیاگرهای پویا و ابزارهای monitoring رفتار کد (process monitor ها)، که ما در این قسمت از دو تحلیل گر Anubis و CWSandbox استفاده کردیم به دلیل اینکه این دو ابزار تمامی خصوصیات رفتاری لازم را در گزارشات خود مشخص می کنند. این دو ابزار که به صورت ان­لاین کار بررسی فایل را انجام می دهند گزارش خود را در انتهای بررسی هر فایل به صورت انواع فایل هایhtml, xml, rtf ,… در اختیار کاربران قرار میدهند، در این پروژه برای استفاده در مراحل بعدی نوع xml انتخاب شد.

ابزارهای on line فایلهایی را که قرار است بررسی کننند در یک محیط کنترل شده اجرا میکنند به همین جهت پیشنهاد میگردد که خودتان نسبت به انجام این کار در محیط ویندوز خود اقدام نکنید و در استفاده از ابرارهای بررسی رفتار با احتیاط استفاده کنید زیرا یک سری از این ابزارها فایل مورد نظر را بر روی سیستم جاری دیباگ می کنند و منجر به ویروسی شدن سیستم شما خواهند شد. این کار میتواند برای دقت بیشتر با طبقه بندی یا خوشه بندی نیز همراه گردد. در خوشه بندی الگوی گونه­های جدید که از قبل نوع یا label آنها مشخص نشده را شناسایی کرده و فایل های مشابه در یک خوشه قرار داده می شوند، سپس می توان با توجه به نظر فرد خبره برای آنها نام یا نوع مشخص کرد، این روش در واقع نوعی پیش پردازش محسوب می شود و فایل هایی که شبیه هم اند در خوشه های مشابهی قرار می گیرند. بدین منظور لازم است تا معیاری برای بیان همسایگی میان نقاط جهت تشکیل خوشه ها تعریف گردد. در حالی که در طبقه بندی الگوی گونه­های شناخته شده موجود (که از قبل نوع آنها مشخص شده) را بنا بر داده های موجود استخراج کرده و سپس فایل های ناشناخته جدید را بنا بر مشابهت با الگوهای موجود در کلاس مربوطه طبقه بندی کرده و نوع آن را تشخیص می دهیم، هر طبقه که با برچسبهایی مشخص شده دارای ویژگیهای خاصی می باشد، با توجه به ویژگیها و قانونمندی هایی که برای هر نوع از پیش قائل شده ایم و یا از داده های موجود استخراج شده، تعلق فایل مورد نظر به هریک از طبقه ها مشخص می شود. در این پروژه از آنجا که نوع مالور های مورد بررسی از پیش مشخص می باشد ما لز روش طبقه بندی استفاده می کنیم.

۳٫۲ بازنمایی[۳] رفتار کدهای بداندیش/ مضر

پس از دریافت گزارش رفتار مالوار از طریق ابزارهای نامبرده به صورت متنی یا xml ، این موارد که برای آنالیز انسانی مناسب است بایستی به یک شکلی تغیر یابد که قابلیت تحلیل خودکار توسط سیستم را داشته باشد،. این گزارش xml بسیار غنی است و موارد بسیاری از خصوصیات رفتاری و عملکرد فایل در ان موجود است که از طریق نگاه کردن به ان میتوان یک دید کلی از رفتار، عملکرد و ردپای ان کد/ برنامه مشخص را بدست آورد . به دلیل ساختار داده­ای گزارش xml و برتری ان نسبت به متنی ما این نوع گزارش را برای بررسی در نظر گرفتیم .

فایل xml که در زیر شمایی از آن را می­بینید شامل عملکردهای اصلی برنامه است (کلیه فعالیت هایی که یک برنامه در هنگام اجرا انجام داده است):

 

در ابتدا اطلاعات مربوط به خود گزارش مشاهده می شود، مانند زمان گزارش، فایل مورد بررسی، مسیر آن و …، یک سری از این اطلاعات خاص خود CWSandbox می باشد که این گزارش را تهیه کرده مانند ورژن آن (اولین خصوصیت)، اکثر گزارشات شامل ۳ تگ اصلی می باشد، شامل calltree, processes, running processes ، به صورت تودرتو هر تگ اصلی شامل تگ های دیگر می باشد، در تگهای اصلی اولین تگی که بایستی توضیح دهیم تگ CallTree است که در آن فرایندهایی که توسط مالوار ایجاد شده­اند را می­توانید به صورت کلی همراه با اطلاعات اصلی شان ببینید، به طور مثال در شکل بالا در مجموع شش فرایند در یک بار اجرای فایل اصلی ایجاد شده­اند، در صورتی که در هنگام اجرای یکی از این پروسه ها، پروسه های دیگری درون آن ایجاد شود به صورت سلسه مراتبی و تودرتو این پروسه ها در پروسه پدر نمایش داده می شوند، و همان ساختار قبلی رعایت می شود. هر کدام از این فرایندها به طور جداگانه در تگ Processes که در اینجا آبی رنگ نشان داده شده است به تفصیل همراه با تمامی خصوصیات رفتاری مانند اعمالی که در هر process انجام شده، ردپا و اثری که در قسمت های مختلف سیستم از خود به جا گذارده و تغییراتی که ایجاد می کند توضیح داده می­شود.

در تگ Processes بنا برتعداد فرایندها شاخه وجود دارد که هر کدام از فرایندهای اجرا شده می­توانند شامل بخش ها ی(تگ های) زیر باشند که در هر کدام مقدار یکی از خصوصیات رفتاری فایل مشخص می شود.

  1. dll_handling_section شامل اطلاعات مربوط به فراخوانی تعدادی از فایلهای کتابخانه­ای
  2. filesystem_section شامل اطلاعات مربوط به ایجاد ، جستجو، تغییر در فایلها
  3. registry_section شامل اطلاعات مربوط به تغییراتی که برنامه در رجیستری ایجاد کرده
  4. process_section شامل اطلاعات مربوط به فرایندها
  5. ایجاد Mutex
  6. virtual_memory_sectionشامل اطلاعات مربوط به دستکاری و تغییرات حافظه مجازی توسط برنامه
  7. ارسال پست الکترونیک
  8. ارتباط از طریق سوکتها

تعداد این تگ ها برای یک پروسه ممکن است بسیار بیشتر از موارد ذکر شده در بالا باشد ، این ۸ مورد که از مهمترین موارد می باشند به عنوان نمونه انتخاب شده اند.

 

۳٫۳ استخراج خصوصیات مهمتر

پس از نگاه کلی به فایلهای گزارش، بررسی گزارش فایل های مضر و مقایسه اولیه آنها با گزارش فایل های سالم (در ادامه بررسی و مقایسه های دقیقتر انجام شد) یک سری خصوصیات که مهم تر به نظر می رسیدند انتخاب شدند، هر کدام از این خصوصیات نماینده یکی از تگ های گزارش می باشد، (ممکن است این تگ به صورت تودرتو در یک تگ دیگر وجود داشته باشد و نمایانگر خصوصیت رفتاری مهمی از برنامه موردنظر باشد). مقدار عددی هر کدام از پارامترهای انتخابی برای هر فایل (برنامه) مورد بررسی به صورتی که در ادامه توضیح داده می شود مشخص شد .

برای انجام این کار برنامه­ای به زبان ویژوال بیسیک نوشته شد که بتواند اطلات مورد نیاز را از میان حجم انبوه دادهای برگشتی از تحلیل رفتار مالوار به ما بدهد که بتوانیم در تحلیل خودکار توسط سیستم در قسمت های بعدی از آنها استفاده کنیم. این برنامه ابتدا خصوصیات مورد نظر را از میان سایر اطلاعات استخراج و سپس مقدار عددی مناسب را به آن تخصیص می دهد، به این ترتیب به مرور و به صورت مرحله به مرحله برای هر ملور آرایه ای (vector ی) کامل می شود که هر خانه آن مقدار عددی مربوط به یک خصوصیت رفتاری ملور را داراست در این بخش با توجه به تجربیات قبل از نگاه به خصوصیات فایلها ابتدا تعداد load کردن تعدادی از فایلهای کتابخانه­ای[۴] را مورد ارجاع قرار گرفته بودند در نظر گرفتیم پس از تحلیل بر روی آنها متوجه شدیم که این پارامترها نمیتواند دقیق باشند چرا که قدرت تشخیص را در حدی پایینتر از ۲۰ درصد نگاه میداشت . پس با نگاهی دوباره به مالوارها متوجه شدیم که تمامی مالوارهایی که در یک دسته قرار میگیرند میزان فضای اشغالی آنها نزدیک به هم است پس میزان بزرگی فایل ها را به عنوان ضریبی در میزان تعداد مراتبی که در هر مالوار که بار [۵]شده بودند ضرب کردیم و برای هرکدام اعدادی مابین ۰ تا ۲ به دست آمد که این را میزانی برای تشخیص گذاشتیم :

Nqty=NewAttrib quantity=Dll calls * file weight

در این مرحله تحلیل بر روی خصوصیات انتخابی، کارایی را مابین ۵۰ تا ۶۰ درصد نشان میداد  که هنوز ناکافی به نظر میرسید . پس سعی بر این شد که خصوصیتی دیگر را نیز در نظر بگیریم که برای این مورد نیز برنامه نوشته شده خصوصیاتی دیگر از جمله تعداد بارهایی که یک فایل را باز میکند یا یک فایل را جستجو میکند و اینکه تعداد موتکس­هایی که ایجاد میگردد و همچنین تعداد باری که این مالوار فرایندهایی را ایجاد میکند به مجموعه خصوصیات ما اضافه شد . در ادامه ما به مرحله تشخیص موثرترین خصوصیات از میان ۹۰ خصوصیات انتخابی رسیدیم.حال برای آنالیز داده­ها بایستی آن را به یک شکل خاص غیر اسپارس برای افزایش سرعت و راحت برای تحلیل در نرم­افزار Weka تبدیل می­کردیم مجموع دادهای گردآوری شده از میان بیش از ۳۰۰۰۰ مالوار است که برای هرکدام یک بردار خصوصیات به شکل زیر ایجاد شد .

{(Attribnumber nqty)* , Malware type }

{۴۵ ۰٫۱۰۷, ۴۶ ۰٫۱۰۷, ۴۷ ۰٫۱۰۷, ۴۸ ۰٫۱۰۷, ۴۹ ۰٫۱۰۷, ۵۰ ۰٫۱۰۷, ۵۱ ۰٫۱۰۷, ۵۲ ۰٫۱۰۷, ۵۳ ۰٫۱۰۷, ۵۴ ۰٫۱۰۷, ۵۵ ۰٫۱۰۷, ۵۶ ۰٫۱۰۷, ۷۳ ۰٫۱۰۷, ۸۷ ۱, ۸۸ T24}

در این گزارش هر بخش با یک کاما از بخش دیگر که خصوصیاتی را بیان می­کند جدا می­شود . به طور مثال عبارت ۴۶ ۰٫۱۰۷ بیانگر این است که به خصوصیت شماره ۴۶ که اکنون پارامتر ۴۶ است مقدار عددی مقابل آن تخصیص پیدا کرده است. این عدد از حاصل ضرب تعداد بارهایی که تابع کتابخانه­ای شماره ۴۶ بار شده و استفاده گردیده است در میزان حجم فایل که عددی بر حسی مگابایت است به دست آمده است .

نمونه پارامترهای مهم انتخابی در زیر آورده شده است :

شماره پارامتر نام پارامتر شماره پارامتر نام پارامتر
۱ version.dll ۶۶ userenv.dll
۱۵ ws2help.dll ۷۲ urlmon.dll
۴۳ Wininet.dll ۸۵ Open_file
۴۶ Ntdll.dll ۸۶ find_file
۴۷ kernel32.dll ۸۷ delete_file
۶۴ shell32.dll ۸۸ create_mutex
    ۸۹ process_call

 

به عنوان نمونه اطلاعات مرتبط با یک بخش خاص از فایل XML به شکل زیر :

<load_dll filename=”C:\WINDOWS\system32\ole32.dll” successful=”1” address=”$774B0000” end_address=”$775ED000” size=”1298432” quantity=”4” />

اینگونه استخراج می­گردد که مثلا فایل ole32.dll در چند جا و به چه تعدادی فراخوانی شده که در بالا می­بینید که تعداد ۴ است و برای هر DLL یا فایل سیستمی خاص این عملیات انجام می­گیرد و هر مقداری که بدست آمد در میزان حجم فایل بر حسب مگابایت مانند ۰٫۰۸۷۶ ضرب شده و مقدار جدید را تا ۳ رقم گرد می­کنیم و این اطلاعات را ذخیره می­کنیم . اما در موارد ۸۵ تا ۸۹ به دلیل اهمیت آنها ، مقادیر به صورت خام و همان تعدادی که فراخوانی شده در حاصل ذخیره می­گردد تا در نهایت یک سطر تشکیل گردد. برای جمع­آوری نمونه کد ملورهای های مختلف (source code یا object code یا کد اجرایی) برای آنالیز می­توانید باینری ملورها را از سایت اینترنتی http://vx.netlux.org/ دانلود نمایید و سپس در سایتهای http://anubis.iseclab.org و http://www.sunbeltsecurity.com/sandbox/default.aspx   نتایج تحلیل رفتاری را برای این باینریها مشاهده و دانلود کنید . همچنین از قبل یک سری مجموعه گزارش آماده از رفتار تعداد زیادی ملور که توسط همین شرکتها آماده شده است در سایت اینترنتی http://pi1.informatik.uni-mannheim.de/malheur قابل دریافت است که تعداد داده­های آن بالغ بر ۳۰۰۰۰ مالوار در انواع متفاوت است . برای دریافت فایلهای XML که به صورت فشرده قرار دارند به پایین صفحه لینک بالا مراجعه نمایید و از لیست فایلهای CWsandbox موارد مورد نیاز را دانلود نمایید. برای مشاهده لیست خصوصیات انتخاب شده توسط تحقیق ما به پیوست ج مراجعه کنید.

برای اطلاع بیشتر از data set (مجموعه نمونه های) استفاده شده به پیوست ج مراجعه کنید.

۳٫۳ شناسایی نرم افزارهای مضر/ملور ها با استفاده از روش های طبقه بندی و تحلیل رگرسیون

۳٫۳٫۱ ابزار WEKA

نرم­افزار WEKA یکی از ابزارهای معروف داده کاوی می باشد که الگوریتم های معروف زبادی را برای طبقه­بندی ، خوشه بندی ، استخراج قوانین انجمنی و .. به صورت آماده مهیای استفاده می­نماید. به این دلیل است که از weka می توان علاوه بر داده کاوی در کاربرد های تشخیص الگو نیز استفاده نمود، با استفاده از الگوریتم مناسب در weka می توان مدلی را برای استفاده در آینده ساخت. در پروژه فعلی این مدل یک classifier یا طبقه بند می باشد که برای روش classification یا طبقه بندی در این مدل می توان از الگوریتم های مختلفی استفاده نمود، مانند درخت های تصمیم گیری. با استفاده از مجموعه داده­های موجود و گردآوری شده از یک عملیات خاص (در این مثال تحلیل رفتاری ملور) می توان مدل مورد نظر را آموزش و در موارد جدید از آن استفاده نمود. نرم­ افزار WEKA در دانشگاه وایکاتو در نیوزیلند پیاده سازی شده است. قالب دریافت اطلاعات در این نرم­افزار ARFF است که به شکل زیر می­باشد .

@RELATION main                                             نام فایل

@ATTRIBUTE dll1   numeric                      خصوصیت

@ATTRIBUTE dll2   numeric                       خصوصیت

@ATTRIBUTE dll3   numeric                       خصوصیت

@ATTRIBUTE dll4   numeric                       خصوصیت

…………………….                                           خصوصیت

@ATTRIBUTE param85       numeric                خصوصیت

@ATTRIBUTE class {T0, T1, T2, …. }              جواب – خصوصیت

@DATA

۸٫۷۶۳,۴۳٫۸۱۶,۰,۴٫۳۸۱,۴٫۳۸۱,۰,۰,۸٫۷۶۳, … , T1

…………….

همانگونه که می­بینید در ابتدا نام فایل مشخص می­گردد سپس تعداد خصوصیات یا پیشگوها را با تعریف یک نام برای هر کدام و تعیین فرمت برای هر کدام مشخص می­کنیم . آن خصوصیتی که به عنوان جواب انتخاب می­گردد نیز تفاوتی با دیگر خصوصیات نداشته و هر کدام می­تواند با توجه به تحلیل و استنتاج به عنوان جواب در نظر گرفته شود. در ادامه به ازا هر فایل بررسی شده در یک خط (آرایه ، vector) مقدار عددی هر یک از این خصوصیات به ترتیب ذکر شده در بالا آورده می شود، و در نهایت مجموعه داده­های ما را شکل می دهد که از روی تحلیل رفتار مالوارها استخراج کرده­ایم. در نرم­افزار WEKA ما از یکی از محیط های گرافیکی آن به نام Explorer استفاده کردیم که خود شامل ۶ بخش است.

  1. Preprocess
  2. Classify
  3. Cluster
  4. Associate
  5. Select Attribute
  6. Visualize

در این مبحث قصد نداریم که به شکل کامل به نرم­افزار WEKA بپردازیم. درخلال کار قسمتهای مورد استفاده توضیح داده خواهد شد . جهت آشنایی با این نرم­افزار و الگوریتم­های مختلف آن به کتاب [۶] که در مراجع موجود است مراجعه نمایید.

 

۳٫۳٫۲ پیش پردازش – کاهش ابعاد داده

پیشرفتهای بوجود آمده در جمع آوری داده و قابلیتهای ذخیره سازی در طی دهه­های اخیر باعث شده در بسیاری از علوم با حجم بزرگی از اطلاعات روبرو شویم. محققان در زمینه­های مختلف مانند مهندسی، ستاره شناسی، زیست شناسی و اقتصاد هر روز با مشاهدات بیشتر و بیشتری روبرو می­شوند. در مقایسه با بسترهای داده­ای قدیمی و کوچکتر، بسترهای داده­ای امروزی چالشهای جدیدی در تحلیل داده­ها بوجود آورده­اند. روشهای آماری سنتی به دو دلیل امروزه کارائی خود را از دست داده­اند. علت اول افزایش تعداد مشاهدات (observations) است، و علت دوم که از اهمیت بالاتری برخوردار است افزایش تعداد متغیرهای مربوط به یک مشاهده می­باشد.

تعداد متغیرهایی که برای هر مشاهده باید اندازه گیری شود ابعاد داده نامیده می­شود. عبارت “متغیر” (variable) بیشتر در آمار استفاده می­شود در حالی که در علوم کامپیوتر و یادگیری ماشین بیشتر از عبارات “ویژگی” (feature) و یا “صفت” (attribute) و در تحلیهای آماری به عنوان پیشگوها استفاده می­گردد.

بسترهای داده­ای که دارای ابعاد زیادی هستند علیرغم فرصتهایی که به وجود می­آورند، چالشهای محاسباتی زیادی را ایجاد می­کنند. یکی از مشکلات داده­های با ابعاد زیاد اینست که در بیشتر مواقع تمام ویژگیهای داده­ها برای یافتن دانشی که در داده­ها نهفته است مهم و حیاتی نیستند. به همین دلیل در بسیاری از زمینه­ها کاهش ابعاد داده یکی از مباحث قابل توجه باقی مانده است.

روشهای کاهش ابعاد داده به دو دسته تقسیم می­شوند:

  • روشهای مبتنی بر استخراج ویژگی: این روشها یک فضای چند بعدی را به یک فضای با ابعاد کمتر نگاشت می­کنند. در واقع با ترکیب مقادیر ویژگیهای موجود، تعداد کمتری ویژگی بوجود می­آورند بطوریکه این ویژگیها دارای تمام (یا بخش اعظمی از) اطلاعات موجود در ویژگیهای اولیه باشند. این روشها به دو دسته­ی خطی و غیر خطی تقسیم می­شوند.
  • روشهای مبتنی بر انتخاب ویژگی: این روشها سعی می­کنند با انتخاب زیرمجموعه­ای از ویژگیهای اولیه، ابعاد داده­ها را کاهش دهند. در پاره­ای از اوقات تحلیلهای داده­ای نظیر طبقه­بندی برروی فضای کاسته شده نسبت به فضای اصلی بهتر عمل می­کند.

در تهیه این گزارش کمتر به اثباتهای ریاضی پرداخته شده و بیشتر به مفاهیم و کاربرد روشها توجه شده است. در بخش دوم از این گزارش، به مطالعه­ی روشهای مبتنی بر استخراج ویژگی پرداخته­ایم. در تهیه­ی مطالب این بخش سعی کرده­ایم با ارائه­ی مثالهای مناسب، خواننده را در درک بهتر مفاهیم مربوطه یاری رسانیم. در این بخش، چهار روش ارائه شده است که همگی از نوع خطی هستند. بدلیل حجم زیاد مطالب، مجالی برای پرداختن به روشهای دیگر خطی و روشهای غیر خطی باقی نماند. برای اطلاع از بعضی از روشهای استفاده شده به پیوست الف مراجعه نمایید.

برای انجام کارهای پیش پردازش ابتدا فایل با فرمت ARFF را از قسمت Open File بار می­کنیم سپس از بخش فیلتر ، مورد Unsupervised الگوریتم Normalize را انتخاب می­کنیم . اجرای این الگوریتم با زدن دکمه Apply باعث خواهد شد که داده­های ما بین ۰ تا ۱ قرار گیرند.

 

البته بایستی در انتخاب نوع الگوریتمها دقت نمود چرا که به شدت در نتیجه کار تاثیرگذار است. برای انجام قسمت دوم عمل پیش پردازش بایستی از قسمت Filter گزینه Supervised و Attribute و سپس Attribute Selection را انتخاب کرده و بعد از آن الگوریتم های موردنظر برای انتخاب و کاهش ویژگی ها را انتخاب می کنیم. کافیست با زدن کلید apply عملیات را اجرا نمایید تا نتیجه را که کاهش تعداد خصوصیات انتخابیست را ببینید، البته بعضی از روش های کاهش و انتخاب ویژگی با ترکیب ویژگی های موجود، ویژگی های جدیدی را تولید می کتتد . نتیجه اعمال بعضی از این روش مانند اینست که شما با توجه به میزان تاثیر هر یک از ویژگی ها به عنوان یک پیشگو ، پیشگو (ویژگی)های مهمتر را بایکی از الگوریتمها انتخاب و یا با توجه به میزان تاثیرشان ویژگی های جدید بوجود آورید.

 

 

 

 

 

برای نتیجه گیری انتخاب خصوصیات باید بگوییم که برای رسیدن به خروجی مناسب استفاده از الگوریتمهای فوق می­تواند بسیار مناسب باشد. در واقع عمل جداسازی یه دو صورت کنترل شده و نشده به صورت آماری به میزان قابل توجهی در دسته بندی خروجی و اعمال درختهای تصمیم گیری می­تواند موثر واقع شود. این تاثیر در بعضی مواقع تا بالای ۲۰ % هم در خروجیهای ما خود را نشان داده است.

این اتفاق به این علت است که اگر ما منحنی رگرسیون را برای خروجی رسم نماییم تا میزان تاثیر پیشگوها (ویژگی) را ببینیم بعضی از موارد بسیار مضر و مخرب عمل می­کنند ، با این عملیات ما تاثیر این موردها را کاهش می­دهیم و دقت را بالا میبربم.

این الگوریتمها را ما در دسته الگوریتمهای فیلترینگ بررسی کردیم.

 

[۱] Virtual Machine

[۲] طبقه بندی

[۳] Representation

[۴] DLL

[۵] load

[۶] Data Mining Practical Machine Learning Tools and Techniques 2d ed – Morgan Kaufmann