مقاله درباره ، دادهکاوی، استخراج، کاذب، میشود.، میکند.، دادهی، الگوریتم

تحقیق متمایز کنند. این الگوها در نظر گرفته شدند، چون بیشترین مثبت کاذب موجود در نتایج الگوی استراتژی با اشتباه گرفتن با این الگوها بر حسب ساختار و عملکرد مشابه تولید شده است.
به طور کلی غیر از الگوهایی که از پایه ساختار یکسانی دارند بقیه الگوها به دلیل انعطاف، وقتی که از ساختار پایه دور میشوند ساختار مشابهی به برخی الگوهای دیگر پیدا میکنند. در واقع معیارهای استخراج شده در این کار، با استفاده از الگوریتمهای دادهکاوی، نقصها و کمبودهای دیده نشده در ابزارها را رفع میکنند.
ادامه این تحقیق به بخشهای زیر سازماندهی میشود. در بخش دوم بر چند مقاله که اهداف و شیوه مشابهای با شیوه و هدف این تحقیق دارند، مروری خواهیم داشت. در بخش سوم الگوهای مورد مطالعه در این تحقیق و معیارهای استخراج شده شرح داده میشوند. در بخش چهارم نگاهی بر شیوههای دادهکاوی و مجموعه داده ایجاد شده خواهیم داشت. در بخش پنجم نتایج ارائه خواهند شد و نهایتا در بخش ششم نتیجهگیری و کارهای آتی پیشنهاد میشوند.
فرضیات و محدودیت های مساله
الگوها با قرارگیری در موقعیتهای متفاوت مسائل حقیقی، در اکثر مواقع تا حد زیادی ممکن است از ساختار پایه خود فاصله بگیرند. الگوها با دست برنامه نویس برای حل یک مساله عمومی در یک زمینهی خاص سمت و سو میگیرند. از طرفی الگوها علاوه بر جنبه ساختاری دارای جنبههای رفتاری متفاوتی نیز هستند. بطوریکه گاهی فقط رفتار است که دو الگو را از هم متمایز میکند. یکی از محدودیتهای الگوهای طراحی، انعطافپذیری و ساختار و عملکرد مشابه بین آنها است. بنابراین در این پایان نامه سعی شده است که مجموعه کاملی از انعطافپذیریهای هر الگو به علاوه یک سری ویژگیهای رفتاری متمایز کننده دیده شود و معیارهایی پابرجا برای بیان ثابتی از اینکه همه یک مجموعه انعطافات به کدام الگو مرتبط میشوند استخراج شود و نهایتا این معیارها به عنوان پیشگویی کنندهها همراه با تکنیکهای دادهکاوی برای جستجو و تصحیح مثبت کاذبهای الگوهای شناسایی شده توسط ابزارهای خودکار استفاده شوند. در هر صورت این احتمال میرود که انعطافات بیشتری برای هر الگو موجود باشد که در این تحقیق دیده نشده است.
ضرورت انجام تحقیق
الگوهای طراحی راهحلهای اثبات شده و قابل اطمینان هستند که به منظور حل مسائلی که به طور مکرر در طراحی یک نرمافزار شیگرا رخ میدهد، مورد استفاده قرار میگیرند. بکارگیری صحیح الگوهای طراحی و سند کردن آنها میتواند به حد زیادی موجب بهبود صفات کیفیتی سیستم نظیر قابلیت استفاده مجدد و نگهداشت پذیری شود. اما بسیاری از سیستم های نرمافزاری بزرگ به ویژه سیستمهای نرم افزاری قدیمی یا اصلا سند نشدهاند و یا اینکه سندکامل و دقیقی ندارند. بنابراین خودکارکردن شناسایی الگوهای طراحی میتواند مطلوب و مفید واقع شود. تاکنون در زمینه شناسایی خودکار الگوهای طراحی شیوههای متنوعی پیشنهاد و پیادهسازی شده است اما هیچ یک از متدها نتوانستهاند خروجی بدون مثبت کاذب یا کمترین مثبت کاذب را داشته باشد. خصوصا برای الگوهایی که از نظر ساختاری با هم مشابه هستند و در رفتارشان متفاوت میشوند و یا اینکه عملکرد مشابهی دارند، مثبت کاذب بیشتری در خروجی این ابزارها دیده میشود. بنابراین وجود شیوهای که بتواند مثبت کاذب و منفی کاذب را در نتیجه شناسایی الگوها به حداقل برساند میتواند کمک بسیاری به حاصل شدن اطمینان توسعهدهنده در نگهداشت پذیری و قابلیت استفاده مجدد بهتر نرمافزار کند.
هدف از انجام تحقیق
هدفی که در این پایان نامه دنبال میشود ارائه روشی برای رسیدن به حداکثر بهبود (حداقل مثبت و منفی کاذب) روی شناسایی الگوی طراحی و ایجاد خروجی بدون ابهام و صحیح برای استفاده توسط توسعه دهنده میباشد. به علاوه جهت تسهیل در امر نگهداشتپذیری و استفاده مجدد نرم افزار نه تنها از نظر فهم راحت طرح و هدف سیستم، بلکه از نظر صرف وقت و هزینه میباشد.
سرفصل مطالب
مطالب بیان شده در این پایان نامه در قالب شش فصل گردآوری شده اند که به طور خلاصه به شرح زیر است.
فصل دوم : تعاریف و مفاهیم اولیه
دراین فصل مختصری بر روی مفاهیم اولیه روشهای دادهکاوی و معیارهای ارزیابی مدلهای پیش بینی کننده در این تحقیق خواهیم داشت.
فصل سوم : مروری بر تحقیقات پیشین
در این بخش مروری بر مطالعات و تحقیقاتی که در زمینه شناسایی الگوهای طراحی بیشترین شباهت از نظر هدف به کار ما را دارند خواهیم داشت.
فصل چهارم : تولید مجموعه داده ها
در این فصل نحوه تولید مجموعه دادههای لازم با استفاده از معیارهای استخراج شده جهت عملیات پالایش و تصحیح برچسب ارائه میشود.
فصل پنجم : آزمایشات و نتایج عددی
دراین فصل با استفاده از معیارهای استخراج شده و تکنیکهای دادهکاوی، مجموعهای از آزمایشها جهت انجام عملیات پالایش و تصحیح برچسب الگوی استراتژی روی نتایج دو ابزار خودکارشناسایی الگوهای طراحی SSA و PINOTانجام گرفته شرح داده میشود. نتایج تولیدی این ابزارها مربوط به عمل شناساییشان روی سه پروژه ی متن باز jhotdraw ، jrefactory و javaio می باشد. به علاوه نتایج عددی حاصل از این آزمایشها و معیارهای استخراج شده در این فصل ارائه میگردد.
فصل ششم : نتیجه گیری و پیشنهادات
جمع بندی مطالب گفته شده در پایان نامه در این فصل انجام شده و همچنین پیشنهاداتی برای ادامه پژوهش در این زمینه ارائه شده است.
فصل دوم
تعاریف و مفاهیم اولیه
مقدمه
دراین فصل مختصری بروی مفاهیم و تعاریف اولیه روشهای دادهکاوی و معیارهای ارزیابی مدلهای پیش بینیکننده در این تحقیق خواهیم داشت.

تکنیک های طبقه بندی
در دادهکاوی با دو مجموعه داده مواجه هستیم، داده آموزشی و داده آزمایشی. صفات داده آموزشی را مجموعه معیارهایی تشکیل میدهند که هویت موجودیتهای قرارگرفته دررکوردها را پیشگویی میکنند. موجودیتهای دادهی آموزشی، مشاهداتی هستند که از قبل هویتشان شناسایی شده است. دادهی آموزشی حاوی یک ستون پیشگویی است. مقادیر این ستون، با برچسبهایی پر میشوند که هویت اصلی موجودیتها را نشان میدهد (مثلا درست یا غلط). داده آزمایشی حاوی مشاهداتی است که هویت اصلیشان شناخته شده نیست. با تجزیه و تحلیلی که به واسطه الگوریتمهای دادهکاوی روی دادهی آموزشی صورت میگیرد مدلهایی ساخته میشود. مدلسازی، دانش موجود در مشاهدات داده آموزشی را در قالب یک سری قوانین استخراج میکند. داده آزمایشی برای ارزیابی دقت پیشگویی مدل ساخته شده روی داده آموزشی بکار برده میشود. در واقع پیشگویی یک فرایند دو مرحلهای دارد، فاز یادگیری و فاز دستهبندی.
‌‌‌در فاز یادگیری بر اساس مجموعه دادهی آموزشی، مدل طبقهبند ساخته میشود و در فاز طبقهبندی بر اساس مدل ساخته شده در فاز قبل، مجموعه داده جدید که در فاز یادگیری استفاده نشده است (مجموعه داده آزمایشی) دستهبندی میشود (پیشگویی میشود که مشاهدات جدید چه برچسبی به خود بگیرند). جهت خودکار سازی عملگر تصحیح برچسب در این تحقیق، از روشهای دادهکاوی (الگوریتمهای طبقه بندی) استفاده شده است [17].
دقت مدل، درصد نمونههایی از مجموعه داده آزمایش است که به درستی طبقه بندی شدهاند. مجموعه داده لازم جهت ساخت مدل طبقه بندی، از متغیرهای مستقل و وابسته تشکیل شده است. متغیرهای مستقل همان خصیصهها هستند که جهت طبقه بندی متغیر وابسته که در واقع بر چسب کلاسها می باشد، مورد استفاده قرار میگیرند [17]. توضیح مختصری در مورد انواع طبقهبندیهایی که در این تحقیق مورد استفاده قرار گرفته اند در ادامه آمده است.
2-2-1- طبقه بند C5.0
این طبقه بند در واقع براساس تقسیم مبتنی بر نمونه روی فیلدی که بیشترین سود اطلاعاتی را با خود دارد، کار میکند. سپس هر زیرنمونه تعریف شده با اولین تقسیم، دوباره تقسیم میشود (معمولا بر اساس یک فیلد متفاوت). این فرایند تکرار میشود تا اینکه هیچ زیرنمونه قابل تقسیم نداشته باشیم. سرانجام پایین ترین سطح تقسیم ها دوباره بررسی می شوند. آنهایی که تاثیر قابل توجهی بر مقدار مدل ندارند حذف یا هرس میشوند [16].
2-2-2- طبقه بند SVM
یک طبقه بند و الگوریتم رگرسیون است که از تئوری یادگیری ماشین با حداکثر دقت پیش بینی بدون” اُور فیتینگ ” داده ها استفاده میکند. این روش از یک تبدیل غیر خطی بر داده های یادگیری استفاده میکند، و با جستجوی برای تساوی های رگرسیون در دادههای تبدیل شده کلاسها (اهداف) را جدا میکنند.SVM خصوصا برای آنالیز دادهها با تعداد زیادی از فیلدهای پیش گویی کننده مناسب میباشد [16].
2-2-3- طبقه بند BOOSTED C5.0
یک الگوریتم دادهکاوی است که برای کاهش خطای الگوریتمهای یادگیری ضعیف (به آرامی به سمت طبقه بندی صحیح میل میکنند) مورد استفاده قرار میگیرد و آنها را به یک الگوریتم یادگیری قوی تبدیل میکند. در این کار برای قدرت

متن کامل در سایت homatez.com