فرمت فایل:word (قابل ویرایش)
تعداد صفحات :236
فهرست مطالب :
چکیده
پیاده سازی آن روی بانک اطلاعاتی دانشگاه آزاد قوچان
مقدمه ای بر داده کاوی
1-2-عامل مسبب پیدایش داده کاوی
-3-داده کاوی و مفهوم اکتشاف دانش (K.D.D)
- پاکسازی داده ها
2-یکپارچه سازی داده ها
3-انتخاب داده ها
1-3-1-تعریف داده کاوی
1-3-3- قابلیت های داده کاوی
1-3-4-چه نوع دادههایی مورد کاوش قرار می گیرند؟
• فایلهای ساده (FLAT FILES):
• پایگاههای داده ای رابطه ای(RDBMS):
1-4- وظایف داده کاوی
1-4-3-1-1- کشف تقسیمات
1-4-3-1-2- دسته بندی با درخت تصمیم
1-4-3-1-4- نحوهی هرس کردن درخت
1-4-3-1-3- انواع درختهای تصمیم
1-4-3-3-1 تئوری بیز
1-4-3-3-2 -دسته بندی ساده بیزی
یک مثال در توضیح طبقه بندی ساده بیزی
1-4-4- ارزیابی روشهای کلاسبندی
-2-4-1پیش بینی
1-4-3-انواع روشهای پیش بینی
1-4-3-1- رگرسیون
1-4-3-1 -1- رگرسیون خطی
1-4-3-1-2- رگرسیون منطقی
1-4-3- خوشه بندی
1-4-3-1- تعریف فرآیند خوشهبندی
1-4-3-2- کیفیت خوشهبندی
1-4-3-3- روش ها و الگوریتمهای خوشهبندی
1-4-3-3-1- روش های سلسلهمراتبی
1-4-3-3-2- الگوریتمهای تفکیک
1-4-3-3-3- روشهای متکی برچگالی
1-4-4- تخمین
1-4-3-3-5- روشهای متکی بر مدل
1-6-قوانین انجمنی
1-6-3- اصول استقرا در کاوش قوانین انجمنی
1-6-4- الگوریتم Apriori
1-7-3-1- جستجو و بازیابی
1-7-3-2- گروه بندی و طبقه بندی داده
1-7-3-3- خلاصه سازی
1-7-3-4- روابط میان مفاهیم
1-7-3-5- یافتن و تحلیل ترند ها
1-7-3-5- برچسب زدن نحوی (POS)
1-6-2-7- ایجاد تزاروس و آنتولوژی به صورت اتوماتیک
1-8-تصویر کاوی
1-2-مقدمه
2-2- اصول الگوریتم ژنتیک
2-2-1-1-3- کدگذاری درختی
2-2-2- ارزیابی2
2-2-3-انتخاب
2-2-3-2- انتخاب رتبه ای
2-2-4- عملگرهای تغییر
2-2-3-4-نخبه گزینی
2-2-4-1-عملگر Crossover
2-2-4-3-احتمال Crossover و جهش
2-2-6-دیگر پارامترها
2-4-مزایای الگوریتم های ژنتیک
2-5- محدودیت های الگوریتم های ژنتیک
شبکه های عصبی
فصل سوم
3-1-چرا از شبکه های عصبی استفاده می کنیم؟
3-3-نحوه عملکرد مغز
3-4-مدل ریاضی نرون
3-5- آموزش شبکههای عصبی
3-6-کاربرد های شبکه های عصبی
فصل چهارم
محاسبات نرم
4-2-2-مجموعه های فازی
4-2-3-نقش مجموعه¬های فازی در داده¬کاوی
4-2-3-1- خوشه بندی
4-2-4- الگوریتم ژنتیک
4-2-5-نقش الگوریتم ژنتیک در داده کاوی
5-1- نحوه ی انتخاب ابزارداده کاوی
5-3- چگونه می توان بهترین ابزار را انتخاب کرد؟
منابع وماخذ
مقدمه ای بر داده کاوی
1-1-مقدمه
امروزه با گسترش سیستم های پایگاهی و حجم بالای داده ها ی ذخیره شده در این سیستم ها ، نیاز به ابزاری است تا بتوان داده های ذخیره شده را پردازش کرد و اطلاعات حاصل از این پردازش را در اختیار کاربران قرار داد .با استفاده از ابزارهای گوناگون گزارش گیری معمولی ، می توان اطلاعاتی را در اختیار کاربران قرار داد تا بتوانند به نتیجه گیری در مورد داده ها و روابط منطقی میان آنها بپردازند اما وقتی که حجم داده ها خیلی بالا باشد ، کاربران هر چند زبر دست و با تجربه باشند نمی توانند الگوهای مفید را در میان حجم انبوه داده ها تشخیص دهند و یا اگر قادر به این کار هم با شوند ، هزینه عملیات از نظر نیروی انسانی و مادی بسیار بالا است .از سوی دیگر کاربران معمولا فرضیه ای را مطرح می کنند و سپس بر اساس گزارشات مشاهده شده به اثبات یا رد فرضیه می پردازند ، در حالی که امروزه نیاز به روشهایی است که اصطلاحا به کشف دانش بپردازند یعنی با کمترین دخالت کاربر و به صورت خودکار الگوها و رابطه های منطقی را بیان نمایند .
داده کاوی یکی از مهمترین این روش ها است که به وسیله آن الگوهای مفید در داده ها با حداقل دخالت کاربران شناخته می شوند و اطلاعاتی را در اختیار کاربران و تحلیل گران قرار می دهند تا براساس آنها تصمیمات مهم و حیاتی در سازمانها اتخاذ شوند .
1-2-عامل مسبب پیدایش داده کاوی
اصلی ترین دلیلی که باعث شده داده کاوی کانون توجهات در صنعت اطلاعات قرار بگیرد، مساله در دسترس بودن حجم وسیعی از داده ها و نیاز شدید به اینکه از این داده ها, اطلاعات و دانش سودمند استخراج کنیم. اطلاعات و دانش بدست آمده در کاربردهای وسیعی مورد استفاده قرار می گیرد.
داده کاوی را می توان حاصل سیر تکاملی طبیعی تکنولوژی اطلاعات دانست، که این سیر تکاملی ناشی از یک سیر تکاملی در صنعت پایگاه داده می باشد، نظیر عملیات جمع آوری داده ها وایجاد پایگاه داده، مدیریت داده و تحلیل و فهم داده ها.
تکامل تکنولوژی پایگاه داده و استفاده فراوان آن در کاربردهای مختلف سبب جمع آوری حجم فراوانی داده شده است. این داده های فراوان باعث ایجاد نیاز برای ابزارهای قدرتمند برای تحلیل داده ها گشته، زیرا در حال حاضر به لحاظ داده ثروتمند هستیم ولی دچار کمبود اطلاعات می باشیم.
ابزارهای داده کاوی داده ها را آنالیز می کنند و الگوهای داده ها را کشف می کنند که می توان از آن در کاربردهایی نظیر تعیین استراتژی برای کسب و کار، پایگاه دانش و تحقیقات علمی و پزشکی، استفاده کرد. شکاف موجود بین داده ها و اطلاعات سبب ایجاد نیاز برای ابزارهای داده کاوی شده است تا داده های بی ارزش را به دانشی ارزشمند تبدیل کنیم .
-3-داده کاوی و مفهوم اکتشاف دانش (K.D.D)
با حجم عظیم داده های ذخیره شده در فایلها، بانکهای اطلاعاتی و سایر بانک های داده ای، توسعه ی ابزارهایی برای تحلیل و شاید تفسیر چنین داده هایی و برای استخراج علوم شگفت انگیزی که می توانند در تصمیم گیری مفید باشند، امری بسیار مهم و ضروری است. داده کاوی با عنوان کشف دانش در پایگاه های داده (KDD) شناخته میشود. کشف علومی که قبلا ناشناخته بودهاند و اطلاعاتی که در بانکهای اطلاعاتی موجود بوده و ذاتا بالقوه و مفید هستند.
با وجود آنکه داده کاوی و کشف دانش در پایگاههای داده مترادف همدیگر هستند، ولی در اصل، داده کاوی ذاتاً بخشی و تنها قسمتی جزئی از فرآیند کشف دانش است. فرآیند کشف دانش در بر گیرنده ی چندین مرحله می باشد که از اطلاعات خام، گونه هایی از علوم جدید را بدست می دهد. مراحل کشف دانش به قرار زیر است:
1- پاکسازی داده ها : در این فاز داده های اضافی و نامربوط از مجموعه داده ها حذف می شوند.(داده های ناکامل) [2]
2-یکپارچه سازی داده ها : چندین منبع داده ترکیب می شوند،
3-انتخاب داده ها : انبار داده ها شامل انواع مختلف و گوناگونی از داده ها است که همه آنها در داده کاوی مورد نیاز نیستند . برای فرایند داده کاوی باید داده ها ی مورد نیاز انتخاب شوند . به عنوان مثال در یک پایگاه داده های مربوط به سیستم فروشگاهی ، اطلاعاتی در مورد خرید مشتریان ، خصوصیات آماری آنها ، تامین کنندگان ، خرید ، حسابداری و ... وجود دارند . برای تعیین نحوه چیدن قفسه ها تنها به داده ها یی در مورد خرید مشتریان و خصوصیات آماری آنها نیاز است . حتی در مواردی نیاز به کاوش در تمام محتویات پایگاه نیست بلکه ممکن است به منظور کاهش هزینه عملیات ، نمونه هایی از عناصر انتخاب و کاوش شوند .
4-تبدیل داده ها : هنگامی که داده های مورد نیاز انتخاب شدند و داده های مورد کاوش مشخص گردیدند، معمولا به تبدیلات خاصی روی داده ها نیاز است. نوع تبدیل به عملیات و تکنیک داده کاوی مورد استفاده بستگی دارد، تبدیلاتی ساده همچون تبدیل نوع داده ای به نوع دیگر تا تبدیلات پیچیده تر همچون تعریف صفات جدید با انجام عملیاتهای ریاضی و منطقی روی صفات موجود.
5-داده کاوی : بخش اصلی فرایند ، که در آن با استفاده از روش ها و تکنیک های خاص ، استخراج الگو های مفید ، دانش استخراج می شود.
6-زیابی الگو : مشخص کردن الگوهای صحیح و مورد نظر به وسیله معیارهای اندازه گیری.
7-زنمایی دانش : در این بخش به منظور ارائه دانش استخراج شده به کاربر ، از یک سری ابزارهای بصری سازی استفاده می گردد.
1-3-1-تعریف داده کاوی
در متون آکادمیک تعاریف گوناگونی برای داده کاوی ارائه شده اند . در برخی از این تعاریف داده کاوی در حد ابزاری که کاربران را قادر به ارتباط مستقیم با حجم عظیم داده ها می سازد معرفی گردیده است و در برخی دیگر ، تعاریف دقیقتر که درآنها به کاوش در داده ها توجه می شود. برخی از این تعاریف عبارتند از :
• داده کاوی عبارت است از فرایند استخراج اطلاعات معتبر ، از پیش ناشناخته قابل فهم و قابل اعتماد از پایگاه داده های بزرگ که شامل بهره گیری از بزارهای آنالیز داده ها، برای کشف الگوهای موجود و روابط ناشناختهی میان داده ها در حجمی وسیع می باشد. و استفاده از آن درتصمیم گیری فعالیتهای تجاری مهم.
• اصطلاح داده کاوی به فرایند نیم خودکار تجزیه و تحلیل پایگاه داده های بزرگ به منظور یافتن الگوهای مفید اطلاق می شود [3].
• داده کاوی یعنی جستجو در یک پایگاه داده ها برای یافتن الگوهایی میان داده ها [4].
• داده کاوی یعنی استخراج دانش کلان ، قابل استناد و جدید از پایگاه داده ها ی بزرگ .
• داده کاوی یعنی تجزیه و تحلیل مجموعه داده های قابل مشاهده برای یافتن روابط مطمئن بین داده ها .
همانگونه که در تعاریف گوناگون داده کاوی مشاهده می شود ، تقریبا در تمامی تعاریف به مفاهیمی چون استخراج دانش ، تحلیل و یافتن الگوی بین داده ها اشاره شده است .
1-3-3- قابلیت های داده کاوی
باید توجه داشته باشید که داده کاوی یک ابزار جادویی نیست که بتواند در پایگاه داده شما به دنبال الگوهای جالب بگردد و اگر به الگویی جدیدی برخورد کرد آن را به شما اعلام کند بله صرفا الگوها و روابط بین داده ها را به شما اعلام می کند بدون توجه به ارزش آنها. بنابراین الگوهایی که به این وسیله کشف می شوند باید با جهان واقع تطابق داشته باشند.[5]
1-3-4-چه نوع دادههایی مورد کاوش قرار می گیرند؟
در اصل داده کاوی مختص یک رسانه یا دادهی خاص نیست و باید از قابلیت اجرا بر روی هر نوع داده ای برخوردار باشد، اگر چه الگوریتمها و تلاشها ممکن است در مواجهه با گونه های مختلف داده، تفاوت داشته باشند.
• فایلهای ساده (FLAT FILES):
رایج ترین منبع برای الگوریتم های دادهکاوی هستند، خصوصا در مرحله ی تحقیق، فایل های ساده، فایل های ساده ی متنی یا با ساختار دودویی هستند و با ساختاری شناخته شده برای یک الگوریتم مشخص داده کاوی که روی آن پیاده می شود. داده های درون این نوع فایل ها می توانند تراکنش ها، داده های سریالی، اندازه گیری های عملی و ... باشند.
• پایگاههای داده ای رابطه ای(RDBMS):
مختصرا، یک پایگاه داده ی رابطه ای متشکل از مجموعهای از جداول است که در بر گیرندهی مقادیری برای صفات موجودیت ها و یا مقادیری از روابط بین موجودیت ها میباشد. هر جدول دارای چندین سطر و ستون میباشد که ستونها ارائه کنندهی صفات خاصه و سطرها ارائه کنندهی رکوردهای اطلاعاتی میباشند. یک رکورد اطلاعاتی در بر گیرندهی صفات خاصهی یک شئ یا روایط بین اشیا است که با یک کلید غیر تکراری تعریف میشود. الگوریتم های دادهکاوی برای پایگاههای دادهای رابطهای بسیار فراگیرتر و سریعتر از الگوریتم های دادهکاوی روی فایلهای ساده هستند.
• انبارهای داده ای
وجود اطلاعات صحیح و منسجم یکی از ملزوماتی است که در داده کاوی به آن نیازمندیم. اشتباه و عدم وجود اطلاعات صحیح باعث نتیجه گیری غلط و در نتیجه اخذ تصمیمات ناصحیح در سازمانها می گردد و منتج به نتایج خطرناکی خواهد گردید که نمونه های آن کم نیستند .
اکثر سازمانها دچار یک شکاف اطلاعاتی هستند. در اینگونه سازمان ها معمولا سیستم های اطلاعاتی در طول زمان و با معماری و مدیریت های گوناگون ساخته شده اند ، به طوری که درسازمان، اطلاعاتی یکپارچه و مشخصی مشاهده نمی گردد . علاوه بر این برای فرایند داده کاوی به اطلاعات خلاصه و مهم در زمینه تصمیم گیری های حیاتی نیازمندیم .
هدف از فرایند انبارش داده ها فراهم کردن یک محیط یکپارچه جهت پردازش اطلاعات است . در این فرایند ، اطلاعات تحلیلی و موجز در دوره های مناسب زمانی سازماندهی و ذخیره می شود تا بتوان از آنها در فرایند های تصمیم گیری که از ملزومات آن داده کاوی است ، استفاده شود . به طور کلی تعریف زیر برای انبار داده ها ارائه می گردد : انبار داده ها ، مجموعه ای است موضوعی ، مجتمع ، متغیر در زمان و پایدار از داده ها که به منظور پشتیبانی از فرایند مدیریت تصمیم گیری مورد استفاده قرار می گیرد.
1-4- وظایف داده کاوی
وظایف داده کاوی معمولا بشرح زیر است:
• کلاس بندی
• پیش بینی
• خوشه سازی
• تخمین
1-1-4-کلاس بندی
هدف کلاسبندی دادهها، سازماندهی و تخصیص دادهها به کلاسهای مجزا میباشد. در این فرآیند بر اساس دادههای توزیع شده، مدل اولیهای ایجاد میگردد. سپس این مدل برای طبقهبندی دادههای جدید مورد استفاده قرار میگیرد، به این ترتیب با بکارگیری مدل بدست آمده، تعلق دادههای جدید به کلاس معین قابل تعیین میباشد. کلاسبندی در مورد مقادیر گسسته و پیشگویی بهکار میرود. [6]
در فرآیند کلاسبندی، اشیا موجود به کلاسهای مجزا با مشخصههایی تفکیکشده (ظروف جداگانه) طبقهبندی و به صورت یک مدل معرفی میگردند. سپس با در نظر گرفتن ویژگیهای هر طبقه، شی جدید به آنها تخصیص یافته، برچسب و نوع آن قابل تعیین می گردد.
در کلاسبندی، مدل ایجاد شده بر پایهی یکسری دادههای آموزشی، (اشیا دادههایی که بر چسب کلاس آنها مشخص و شناخته شده است) حاصل می آید. مدل بدست آمده در اشکال گوناگون مانند قوانین کلاسبندی (If-Then)، درختهای تصمیم، فرمولهای ریاضی و شبکههای عصبی قابل نمایش میباشد.
به عنوان مثال فرض کنید مدیر فروشگاهی در نظر دارد مجموعهی بزرگی از دادهها را بر اساس میزان فروش به زیاد، متوسط و کم طبقهبندی کند. وی میبایست مدلی ایجاد کند که بر اساس خصیصههای کالا مانند قیمت، مارک، محل ساخت و نوع کالا، کلاس مربوط به آن نوع کالا را تعیین نماید. طبقهبندی نهایی میبایست به طور ماکزیمال هر کلاسی را از دیگری تشخیص داده،و تصویر سازماندهی شدهای از دادهها را به نمایش در آورد. [7]
از کاربردهای کلاسبندی می توان بازاریابی، تشخیص بیماری، تحلیل اثرات معالجه، تشخیص خرابی در صنعت و تعیین اعتبار را نام برد. [6]
1-4-2- مراحل یک الگوریتم کلاسبندی
الگوی عمومی برای الگوریتمهای آموزش از طریق مثال با فرایند کلاسبندی به سه مرحله تقسیم میشوند:[2]
• پیشپردازش دادهها
• ساخت و ارزیابی قوانین کلاسبندی و هرس کردن قوانین اضافی که هدف ما میباشد.
• کلاسبندی نمونههای جدید
1-4-3- انواع روشهای کلاسبندی
کلاسبندی به روشهای زیر انجامپذیر است:
• طبقهبندی بیز
• درخت تصمیم
• K-Nearest Neibour
• الگوریتمهای ژنتیک
• شبکههای عصبی
1-4-3-1- درخت تصمیم
درخت تصمیم عبارت است از یک مجموعه قوانین برای تقسیم کردن یک مجموعه ی ناهمگن بزرگ به مجموعه کوچکتر و گروه های همگن تر نسبت به متغیر هدف (فیلد موردنظر). درخت¬های تصمیم روشی برای نمایش یک سری از قوانین هستند که منتهی به یک رده یا مقدار یا یک طبقه می¬شوند. برای مثال، می-خواهیم متقاضیان وام را به دارندگان ریسک اعتبار خوب و بد تقسیم کنیم. شکل یک درخت تصمیم را که این مسئله را حل می-کد نشان می¬دهد و همه مؤلفه¬های اساسی یک یک درخت تصمیم در آن نشان داده شده است : نود تصمیم، شاخه¬ها و برگ¬ها درخت تصمیم برای موارد زیر به کار برده می شود. [9]
شکل1-2: نمونه یک درخت تصمیم
1-احتمال اینکه یک داده معلوم و معین متعلق به کدام دسته، را محاسبه می کند.
2-با اختصاص دادن آنها به دسته ای که احتمالش بیشتر است، رکوردها را دسته بندی می کند.
درخت تصمیم، براساس الگوریتم، ممکن است دو یا تعداد بیشتری شاخه داشته باشد. برای مثال، CART درختانی فقط با دو شاخه در هر نود ایجاد می¬کند. هر شاخه منجر به نود تصمیم دیگر یا یک نود برگ می¬شود. با پیمایش یک درخت تصمیم از ریشه به پایین به یک نمونه یک طبقه یا مقدار نسبت می-دهیم. هر نود از ویژگی های یک نمونه برای تصمیم¬گیری درباره آن انشعاب استفاده می¬کند.
درخت¬های تصمیمی که برای پیش¬بینی متغیرهای دسته¬ای استفاده می¬شوند، درخت¬های classification نامیده می¬شوند زیرا نمونه¬ها را در دسته¬ها یارده¬ها یا کلاس ها قرار می¬دهند. درخت¬های تصمیمی که برای پیش¬بینی متغیرهای پیوسته استفاده می¬شوند درخت¬های regression نامیده می¬شوند.
1-4-3-1-1- کشف تقسیمات
هدف از ساختن درخت این است که دستهای را برای یک رکورد برمبنای فیلد هدف تعیین کنیم. درخت بوسیله ی تقسیمات رکوردها بر اساس فیلد ورودی ایجاد می شود. در هر نود تقسیمات (انشعاب) رکوردها بر اساس فیلد ورودی انجام می شود.
اولین کار برای این منظور این است که تعیین کنیم که کدام فیلد ورودی تقسیم بهتری را می سازد. بهترین تقسیم در نتیجه ی یک جداسازی خوب رکوردها به گروه هایی که در این جا یک دسته این گروه ها را در بر می گیرد, کشف می شود.
یک معیار در ارزیابی تقسیم ، خلوص است. یک متد با خلوص بالا، به این معنی است که اعضای آن دسته عالی و ممتازاند
-4-3-1-2- دسته بندی با درخت تصمیم
هر کس که به بازی بیست سؤالی آشنا باشد براحتی متوجه می شود که درخت تصمیم چگونه رکوردها را دسته بندی می کند. در بازی بیست سؤالی شرکت کننده اول به یک چیز خاص فکر می کند و شرکت کننده دوم باید آن را تشخیص دهد . شرکت کننده اول هیچ راهنمایی را برای تشخیص آن چیز خاص ارائه نمی دهد و شرکت کننده دوم بوسیله یک سری سؤال های بله، خیر سعی می کند که آن چیز را کشف کند.
درخت تصمیم این طوری یک سری از سؤال ها را جواب می دهد . اگر سوال ها مناسب انتخاب شوند یک مجموعه ی کوچک از سؤال ها کافی است تا رکوردها را به دسته های مورد نظر وارد کنیم بازی بیست سؤالی فرایند استفاده از درخت برای افزودن یک رکورد به دسته مربوطه را روشن می کند. هنگامی که یک رکورد وارد ریشه درخت می شود گره ریشه از یک تست استفاده می کند برای این که تعیین کند که کدام فرزندان با آن برخورد کند همه ی گره های میانی به همین طریق عمل می کنند.
برگها برچسب کلاس را مشخص می کنند. یک مسیر منحصر به فرد از ریشه به برگ وجود دارد. این مسیر، قانونی را که برای دسته بندی رکورد استفاده کرده است را بیان می کند.
یک درخت تصمیم یک ساختار سلسله مراتبی میباشدکه در آن، گرههای میانی برای تست یک خصیصه به کار می روند. شاخهها نشانگر خروجی تست بوده، برگها برچسب کلاس و یا همان طبقه را مشخص مینمایند. نکات اساسی برای هر درخت تصمیم به شرح زیر هستند: [10]
• ملاک استفاده شده برای ساخت درخت چه عواملی هستند؟ یعنی کدام متغیر باید برای شکستن انتخاب گردد و این متغیر چگونه باید شکسته شود؟
پایان نامه بررسی ومطالعه ی کامل داده کاوی و داده کاوی با SQL SERVER2005 پیاده سازی آن روی بانک اطلاعات(همراه با عکس)