فرمت :WORD تعداد صفحه :222
چکیده
بررسی ومطالعه ی کامل داده کاوی و داده کاوی با SQL SERVER2005
پیاده سازی آن روی بانک اطلاعاتی دانشگاه آزاد قوچان
امروزه با گسترش سیستم های پایگاهی و حجم بالای داده ها ی ذخیره شده در این سیستم ها ، نیاز به ابزاری است تا بتوان داده های ذخیره شده را پردازش کرد و اطلاعات حاصل از این پردازش را در اختیار کاربران قرار داد.
داده کاوی یکی از مهمترین روش ها ی کشف دانش است که به وسیله آن الگوهای مفید در داده ها با حداقل دخالت کاربران شناخته می شوند و اطلاعاتی را در اختیار کاربران و تحلیل گران قرار می دهند تا براساس آنها تصمیمات مهم و حیاتی در سازمانها اتخاذ شوند.داده کاوی را تحلیل گران با اهداف گوناگونی از قبیل کلاس بندی, پیش بینی, خوشه بندی ,تخمین انجام می دهند. برای کلاس بندی, مدل هاو الگوریتم هایی مانند قاعده ی بیز, درخت تصمیم, شبکه ی عصبی, الگوریتم ژنتیک مطرح شده است.برای پیش بینی مدل رگرسیون خطی ومنطقی و برای خوشه بندی الگوریتم های سلسله مراتبی و تفکیکی, وبرای تخمین مدل های درخت تصمیم و شبکه ی عصبی مطرح می شود. در فصل دوم و سوم با الگوریتم ژنتیک که یکی از الگوریتم های داده کاوی و با شبکه ی عصبی که یکی از مدل های داده کاوی هستند آشنا می شویم .درفصل چهارم به محاسبات نرم و برخی از اجزای اصلی ان و نقش آنها در داده کاوی می پردازیم.
در فصل پنجم با ابزارهای داده کاوی آشنا می شویم . برای داده کاوی ابزارهای متنوعی وجود دارد. می توان ابزارداده کاوی را با تطبیق آن ابزار با داده های مسئله و با توجه به محیط داده ای که می خواهید از آن استفاده کنید، و امکاناتی که آن ابزار دارد انتخاب کنید.وسپس به داده کاوی با SQLSERVER2005 می پردازیم .ودرفصل ششم به داده کاوی با SQL SERVER2005 روی بانک اطلاعاتی دانشگاه آزاد قوچان پرداختیم.
کلمات کلیدی ،کلاس بندی ، خوشه بندی ، پیش بینی ، تخمین
فصــل اول
مقدمه ای بر داده کاوی [1]
1-1-مقدمه
امروزه با گسترش سیستم های پایگاهی و حجم بالای داده ها ی ذخیره شده در این سیستم ها ، نیاز به ابزاری است تا بتوان داده های ذخیره شده را پردازش کرد و اطلاعات حاصل از این پردازش را در اختیار کاربران قرار داد .با استفاده از ابزارهای گوناگون گزارش گیری معمولی ، می توان اطلاعاتی را در اختیار کاربران قرار داد تا بتوانند به نتیجه گیری در مورد داده ها و روابط منطقی میان آنها بپردازند اما وقتی که حجم داده ها خیلی بالا باشد ، کاربران هر چند زبر دست و با تجربه باشند نمی توانند الگوهای مفید را در میان حجم انبوه داده ها تشخیص دهند و یا اگر قادر به این کار هم با شوند ، هزینه عملیات از نظر نیروی انسانی و مادی بسیار بالا است .از سوی دیگر کاربران معمولا فرضیه ای را مطرح می کنند و سپس بر اساس گزارشات مشاهده شده به اثبات یا رد فرضیه می پردازند ، در حالی که امروزه نیاز به روشهایی است که اصطلاحا به کشف دانش[2] بپردازند یعنی با کمترین دخالت کاربر و به صورت خودکار الگوها و رابطه های منطقی را بیان نمایند .
داده کاوی[3] یکی از مهمترین این روش ها است که به وسیله آن الگوهای مفید در داده ها با حداقل دخالت کاربران شناخته می شوند و اطلاعاتی را در اختیار کاربران و تحلیل گران قرار می دهند تا براساس آنها تصمیمات مهم و حیاتی در سازمانها اتخاذ شوند .
اصلی ترین دلیلی که باعث شده داده کاوی کانون توجهات در صنعت اطلاعات قرار بگیرد، مساله در دسترس بودن حجم وسیعی از داده ها و نیاز شدید به اینکه از این داده ها, اطلاعات و دانش سودمند استخراج کنیم. اطلاعات و دانش بدست آمده در کاربردهای وسیعی مورد استفاده قرار می گیرد.
داده کاوی را می توان حاصل سیر تکاملی طبیعی تکنولوژی اطلاعات دانست، که این سیر تکاملی ناشی از یک سیر تکاملی در صنعت پایگاه داده می باشد، نظیر عملیات جمع آوری داده ها وایجاد پایگاه داده، مدیریت داده و تحلیل و فهم داده ها.
تکامل تکنولوژی پایگاه داده و استفاده فراوان آن در کاربردهای مختلف سبب جمع آوری حجم فراوانی داده شده است. این داده های فراوان باعث ایجاد نیاز برای ابزارهای قدرتمند برای تحلیل داده ها گشته، زیرا در حال حاضر به لحاظ داده ثروتمند هستیم ولی دچار کمبود اطلاعات می باشیم.
ابزارهای داده کاوی داده ها را آنالیز می کنند و الگوهای داده ها را کشف می کنند که می توان از آن در کاربردهایی نظیر تعیین استراتژی برای کسب و کار، پایگاه دانش[4] و تحقیقات علمی و پزشکی، استفاده کرد. شکاف موجود بین داده ها و اطلاعات سبب ایجاد نیاز برای ابزارهای داده کاوی شده است تا داده های بی ارزش را به دانشی ارزشمند تبدیل کنیم .
1
-3-داده کاوی و مفهوم اکتشاف دانش (K.D.D)
با حجم عظیم داده های ذخیره شده در فایلها، بانکهای اطلاعاتی و سایر بانک های داده ای، توسعه ی ابزارهایی برای تحلیل و شاید تفسیر چنین داده هایی و برای استخراج علوم شگفت انگیزی که می توانند در تصمیم گیری مفید باشند، امری بسیار مهم و ضروری است. داده کاوی با عنوان کشف دانش در پایگاه های داده (KDD) شناخته میشود. کشف علومی که قبلا ناشناخته بودهاند و اطلاعاتی که در بانکهای اطلاعاتی موجود بوده و ذاتا بالقوه و مفید هستند.
با وجود آنکه داده کاوی و کشف دانش در پایگاههای داده مترادف همدیگر هستند، ولی در اصل، داده کاوی ذاتاً بخشی و تنها قسمتی جزئی از فرآیند کشف دانش است. فرآیند کشف دانش در بر گیرنده ی چندین مرحله می باشد که از اطلاعات خام، گونه هایی از علوم جدید را بدست می دهد. مراحل کشف دانش به قرار زیر است:
1- پاکسازی داده ها : در این فاز داده های اضافی و نامربوط از مجموعه داده ها حذف می شوند.(داده های ناکامل) [2]
2-یکپارچه سازی داده ها[5] : چندین منبع داده ترکیب می شوند،
3-انتخاب داده ها : انبار داده ها شامل انواع مختلف و گوناگونی از داده ها است که همه آنها در داده کاوی مورد نیاز نیستند . برای فرایند داده کاوی باید داده ها ی مورد نیاز انتخاب شوند . به عنوان مثال در یک پایگاه داده های مربوط به سیستم فروشگاهی ، اطلاعاتی در مورد خرید مشتریان ، خصوصیات آماری آنها ، تامین کنندگان ، خرید ، حسابداری و ... وجود دارند . برای تعیین نحوه چیدن قفسه ها تنها به داده ها یی در مورد خرید مشتریان و خصوصیات آماری آنها نیاز است . حتی در مواردی نیاز به کاوش در تمام محتویات پایگاه نیست بلکه ممکن است به منظور کاهش هزینه عملیات ، نمونه هایی از عناصر انتخاب و کاوش شوند .
4-تبدیل داده ها : هنگامی که داده های مورد نیاز انتخاب شدند و داده های مورد کاوش مشخص گردیدند، معمولا به تبدیلات خاصی روی داده ها نیاز است. نوع تبدیل به عملیات و تکنیک داده کاوی مورد استفاده بستگی دارد، تبدیلاتی ساده همچون تبدیل نوع داده ای به نوع دیگر تا تبدیلات پیچیده تر همچون تعریف صفات جدید با انجام عملیاتهای ریاضی و منطقی روی صفات موجود.
5-داده کاوی : بخش اصلی فرایند ، که در آن با استفاده از روش ها و تکنیک های خاص ، استخراج الگو های مفید ، دانش استخراج می شود.
6-زیابی الگو[6] : مشخص کردن الگوهای صحیح و مورد نظر به وسیله معیارهای اندازه گیری.
7-زنمایی دانش : در این بخش به منظور ارائه دانش استخراج شده به کاربر ، از یک سری ابزارهای بصری سازی استفاده می گردد.
1-3-1-تعریف داده کاوی
در متون آکادمیک تعاریف گوناگونی برای داده کاوی ارائه شده اند . در برخی از این تعاریف داده کاوی در حد ابزاری که کاربران را قادر به ارتباط مستقیم با حجم عظیم داده ها می سازد معرفی گردیده است و در برخی دیگر ، تعاریف دقیقتر که درآنها به کاوش در داده ها توجه می شود. برخی از این تعاریف عبارتند از :
همانگونه که در تعاریف گوناگون داده کاوی مشاهده می شود ، تقریبا در تمامی تعاریف به مفاهیمی چون استخراج دانش ، تحلیل و یافتن الگوی بین داده ها اشاره شده است .
1-3-2- فرآیند دادهکاوی
میتوان فرآیند دادهکاوی را طی مراحل زیر به صورت نمودار نشان داد.
|
|
|
|
||||
|
در فرآیند بالا، دادههای خام از منابع مختلفی جمعآوری میشوند و ازطریق استخراج، ترجمه و فرآیندهای بازخوانی به انبار دادهها وارد میشوند. بخش مهیاسازی، دادهها از انبار خارج شده و به صورت یک فرمت مناسب برای دادهکاوی درمیآیند. در بخش کشف الگو از روشها والگوریتمهای دادهکاوی، برای ساخت الگو استفاده میشود.
1-3-3- قابلیت های داده کاوی
باید توجه داشته باشید که داده کاوی یک ابزار جادویی نیست که بتواند در پایگاه داده شما به دنبال الگوهای جالب بگردد و اگر به الگویی جدیدی برخورد کرد آن را به شما اعلام کند بله صرفا الگوها و روابط بین داده ها را به شما اعلام می کند بدون توجه به ارزش آنها. بنابراین الگوهایی که به این وسیله کشف می شوند باید با جهان واقع تطابق داشته باشند.[5]
1-3-4-چه نوع دادههایی مورد کاوش قرار می گیرند؟
در اصل داده کاوی مختص یک رسانه یا دادهی خاص نیست و باید از قابلیت اجرا بر روی هر نوع داده ای برخوردار باشد، اگر چه الگوریتمها و تلاشها ممکن است در مواجهه با گونه های مختلف داده، تفاوت داشته باشند.
رایج ترین منبع برای الگوریتم های دادهکاوی هستند، خصوصا در مرحله ی تحقیق، فایل های ساده، فایل های ساده ی متنی یا با ساختار دودویی هستند و با ساختاری شناخته شده برای یک الگوریتم مشخص داده کاوی که روی آن پیاده می شود. داده های درون این نوع فایل ها می توانند تراکنش ها، داده های سریالی، اندازه گیری های عملی و ... باشند.
مختصرا، یک پایگاه داده ی رابطه ای متشکل از مجموعهای از جداول است که در بر گیرندهی مقادیری برای صفات موجودیت ها و یا مقادیری از روابط بین موجودیت ها میباشد. هر جدول دارای چندین سطر و ستون میباشد که ستونها ارائه کنندهی صفات خاصه و سطرها ارائه کنندهی رکوردهای اطلاعاتی میباشند. یک رکورد اطلاعاتی در بر گیرندهی صفات خاصهی یک شئ یا روایط بین اشیا است که با یک کلید غیر تکراری تعریف میشود. الگوریتم های دادهکاوی برای پایگاههای دادهای رابطهای بسیار فراگیرتر و سریعتر از الگوریتم های دادهکاوی روی فایلهای ساده هستند.
وجود اطلاعات صحیح و منسجم یکی از ملزوماتی است که در داده کاوی به آن نیازمندیم. اشتباه و عدم وجود اطلاعات صحیح باعث نتیجه گیری غلط و در نتیجه اخذ تصمیمات ناصحیح در سازمانها می گردد و منتج به نتایج خطرناکی خواهد گردید که نمونه های آن کم نیستند .
اکثر سازمانها دچار یک شکاف اطلاعاتی[8] هستند. در اینگونه سازمان ها معمولا سیستم های اطلاعاتی در طول زمان و با معماری و مدیریت های گوناگون ساخته شده اند ، به طوری که درسازمان، اطلاعاتی یکپارچه و مشخصی مشاهده نمی گردد . علاوه بر این برای فرایند داده کاوی به اطلاعات خلاصه و مهم در زمینه تصمیم گیری های حیاتی نیازمندیم .
هدف از فرایند انبارش داده ها فراهم کردن یک محیط یکپارچه جهت پردازش اطلاعات است . در این فرایند ، اطلاعات تحلیلی و موجز در دوره های مناسب زمانی سازماندهی و ذخیره می شود تا بتوان از آنها در فرایند های تصمیم گیری که از ملزومات آن داده کاوی است ، استفاده شود . به طور کلی تعریف زیر برای انبار داده ها ارائه می گردد : انبار داده ها ، مجموعه ای است موضوعی[9] ، مجتمع[10] ، متغیر در زمان[11] و پایدار[12] از داده ها که به منظور پشتیبانی از فرایند مدیریت تصمیم گیری مورد استفاده قرار می گیرد.
1-4- وظایف داده کاوی
وظایف داده کاوی معمولا بشرح زیر است:
1-1-4-کلاس بندی
هدف کلاسبندی دادهها، سازماندهی و تخصیص دادهها به کلاسهای مجزا میباشد. در این فرآیند بر اساس دادههای توزیع شده، مدل اولیهای ایجاد میگردد. سپس این مدل برای طبقهبندی دادههای جدید مورد استفاده قرار میگیرد، به این ترتیب با بکارگیری مدل بدست آمده، تعلق دادههای جدید به کلاس معین قابل تعیین میباشد. کلاسبندی در مورد مقادیر گسسته و پیشگویی بهکار میرود. [6]
در فرآیند کلاسبندی، اشیا موجود به کلاسهای مجزا با مشخصههایی تفکیکشده (ظروف جداگانه) طبقهبندی و به صورت یک مدل معرفی میگردند. سپس با در نظر گرفتن ویژگیهای هر طبقه، شی جدید به آنها تخصیص یافته، برچسب و نوع آن قابل تعیین می گردد.
در کلاسبندی، مدل ایجاد شده بر پایهی یکسری دادههای آموزشی، (اشیا دادههایی که بر چسب کلاس آنها مشخص و شناخته شده است) حاصل می آید. مدل بدست آمده در اشکال گوناگون مانند قوانین کلاسبندی (If-Then)، درختهای تصمیم، فرمولهای ریاضی و شبکههای عصبی قابل نمایش میباشد.
به عنوان مثال فرض کنید مدیر فروشگاهی در نظر دارد مجموعهی بزرگی از دادهها را بر اساس میزان فروش به زیاد، متوسط و کم طبقهبندی کند. وی میبایست مدلی ایجاد کند که بر اساس خصیصههای کالا مانند قیمت، مارک، محل ساخت و نوع کالا، کلاس مربوط به آن نوع کالا را تعیین نماید. طبقهبندی نهایی میبایست به طور ماکزیمال هر کلاسی را از دیگری تشخیص داده،و تصویر سازماندهی شدهای از دادهها را به نمایش در آورد. [7]
از کاربردهای کلاسبندی می توان بازاریابی، تشخیص بیماری، تحلیل اثرات معالجه، تشخیص خرابی در صنعت و تعیین اعتبار را نام برد. [6]
1-4-2- مراحل یک الگوریتم کلاسبندی
الگوی عمومی برای الگوریتمهای آموزش از طریق مثال با فرایند کلاسبندی به سه مرحله تقسیم میشوند:[2]
[1] Data Mining
[2] Knowledge Discovery
[3] Data Mining
[5] Data integration
[6] Pattern evaluation
[7] WareHouse
[8] Information Gap
[9] Subject Oriented
[10] Integrated
[11] Time Variant
[12] NonVolatile
[13] Classification
[14] prediction
[15] Clustering
[16] Estimation