جلسه بیستم – 08/10/93 اصول داده کاوی

Data Mining – داده کاوی

Data mining is the computational process of discovering patterns in large data sets involving methods at the intersection of artificial intelligence, machine learning, statistics, and database systems.

چند نکته:

·         داده کاوی به دنبال الگوهای تکرار شونده است.

·         برخی الگوها پنهان هستند.

·         کشف الگوهای قاعده مند است.

·         ارائه پیشنهاد در برخی سایتهای فروش از موارد کاربرد داده کاوی است.

·         پیش بینی عدم قطعیت دارد.

·         برای انجام داده کاوی نیاز به اطلاعات می باشد. هم اکنون برخی شرکتها درایران (مانند EMRC)  چنین کسب و کاری دارند.

 

اهداف داده کاوی:

·         Descriptive goal – هدف تشریحی: شناسایی الگوها و روابط بین داده ها است. برخی گزارش های OLAP  نیز این ویژگی را دارند. مانند مقایسه میزان فروش محصولات در سال جاری و مقایسه آن با سال قبل و استخراج نرخ رشد فروش محصولات.

·         Predictive goal – انجام پیش بینی و برآورد براساس الگوهای فوق

 

8 فاز در داده کاوی

1.       Problem specification – طرح مساله

با کمک خبره های کسب و کار انجام می شود.

2.        Resourcing – برای حل مساله شناسایی منابع لازم است

منابع گاهی در بانک اطلاعاتی سازمان وجود دارد. درصورت نیاز باید اطلاعات از منابع بیرونی تامین شود.

3.       Cleaning – پالایش و تمیز کردن اطلاعات

به طور مثال می خواهیم تحلیل سنی برروی اطلاعات انجام دهیم ولی اطلاعات سنی در اختیارمان نیست (خوب در این شرایط باید چکار کرد؟ اطلاعات آنهایی که نداریم را نامعلوم مشخص کنیم ؟)

4.       Processing – برای داده کاوی تغییر اولیه اطلاعات و آماده سازی نیاز است

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

5.       Data mining – شناسایی الگوها و اعمال الگوریتم داده کاوی برروی اطلاعات

6.       Evaluation – ارزیابی نتایج

ممکن است که روابط اشتباه شناسایی شده باشد و لازم است تا روی مجموعه اطلاعات دیگر تست شود. این کار با استفاده از روش های فنی یا استفاده از تجارب خبرگان قابل انجام می باشد. (مثال از شناسایی اشتباه روابط: ارتباط معکوس گرم شدن کره زمین با تعداد دزدهای دریایی)

7.       Interpretation – تفسیر نتایج

8.       Exploitation – بهره برداری

 

اجرای یک پروژه داده کاوی

-          تحلیل: مهمترین فعالیت در این قسمت به دست آوردن شناخت درست از مساله و یافتن مفاهیم کلیدی (Key Concepts) در مساله است.

-          طراحی و پیاده سازی: مهمترین فعالیت در این قسمت مدل کردن مساله مورد نظر با استفاده از مفاهیم کلیدی است.

 


 

مفاهیم کلیدی – Key Concepts

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

چند نکته:

o        هرچه تعداد ویژگی ها بیشتر باشد، توان تحلیلی ما بیشتر است.

o        در برخی اوقات برای ارائه یک ویژگی نیاز به اعمال تغییرات در سیستم های پایه یا تغییر فرایند ETL در جمع آوری داده ها می باشیم.

مثال ویژگی مورد نیاز "میزان ماندگاری محصول در قفسه" می باشد. محصول A و B را فرض کنید که در طول یک سال از هردوی این محصولات 1000 عدد به فروش می رسد و مجموع سود حسابداری آن برابر می باشد. حال آنکه محصول A در مدت بسیار کوتاه تر از محصول B به فروش رسیده است. بدیهی است که بازگشت سرمایه برای محصول A زودتر و سود اقتصادی آن به مراتب بیشتر می باشد.

 

انواع ویژگی:

-          گسسته – Discrete Categorical

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

-          پیوسته –Continues

ویژگی های این نوع طیفی از مقادیر را شامل می شوند. مثال این وضعیت سن (20 تا 70 سال) و میزان درآمد سالیانه (10000 تا 100000 دلار) می باشد.

-          گسسته شده – Discretized

این دسته ویژگی هایی هستند که ماهیت پیوسته داشته اما به دلایلی به نوع گسسته تغییر ماهیت داده شده اند.  مانند سن (20-30 ، 30-50 و ....) یا درآمد (10000 تا 100000، 100000 تا 200000 و ....)

 

* دلیل اهمیت گسسته و پیوسته بودن ویژگی آن است که برخی الگوریتم ها تنها روی نوع ویژگی گسسته یا پیوسته توانایی اجرا دارند.

 

·         State – وضعیت / Value – مقدار

مقادیر موجود در یک ویژگی گسسته را State می نامیم. 

o        مثال: به انواع رنگ های قرمز، آبی، سیاه و ... State های مختلف رنگ اطلاق می شود.

o        در مثال بالا با این رنگ ها Existing گفته می شود.

o        Missing برای گزینه هایی که State نامشخص نمی باشد مورد استفاده قرار می گیرد.

مقادیر موجود در یک ویژگی پیوسته را Valueمی نامیم

o        مثال: به طیف درآمدی 10000 تا 100000 دلار Value اطلاق می شود.

o        در مثال بالا با مقادیری که در طیف می باشند Existing گفته می شود.

o        Missing برای گزینه هایی که Value نامشخص نمی باشد مورد استفاده قرار می گیرد.

 

·         Case – نمونه

مهمترین مفهوم در تحلیل یک مساله داده کاوی است. نمونه تعیین کننده چگونگی ارتباط بین ویژگی های مختلف(Attributes) در یک مساله داده کاوی است.

Case یا نمونه Entity یا موجودی اصلی است که مورد داده کاوی قرار می گیرد.

چندمثال:

o        مدلی بسازید که با استفاده از آن بتوان نرخ بیکاری یک شهر را براساس میانگین تحصیلات، میانگین درآمد و میزان تورم پیشی نماید.

نرخ بیکاری

میزان تورم

میانگین درآمد

میانگین تحصیلات

شهر

2%

10%

200000

لیسانس

تهران

 

 

 

 

کرج

 

 

 

 

شیراز

هر رکورد از جدول فوق یک Case یا نمونه است.

 

o        مدلی بسازید که با بتواند نرخ بیکاری یک شهر را در سال های آینده پیش بینی کند.

نرخ بیکاری

سال

شهر

20%

90

تهران

30%

91

تهران

40%

92

تهران

ترکیب شهر و سال از جدول فوق یک Case یا نمونه است.

 

o        در یک مدل برای تحلیل سبد خرید مشتریان مشخص نمایید که چه کالاهایی بیشتر با یکدیگر فروش می روند.

کالا

شماره فاکتور

A

1

B

1

C

1

A

2

F

2

C

3

 

 

ترکیب شماره فاکتور و کالا از جدول فوق یک Case یا نمونه است.

 

·         Nested Case

هرگاه Case یا نمونه مورد نظر دارای ساختار Master-Detail باشد اطلاعات قسمت Detail به عنوان Nested Caseمعرفی می شود.

Master (به بخش شماره فاکتور یک Case گفته می شود)

سایر ستونها

شماره فاکتور

 

1

 

2

 

3

 

 

Detail (به ترکیب شماره فاکتو، ردیف و کالا Nested Case گفته می شود)

کالا

شماره ردیف

شماره فاکتور

A

1

1

B

2

1

C

3

1

A

1

2

F

2

2

C

1

3

 

 

 

 

اگر دو جدول فوق نرمال نبوده و با یکدیگر ترکیب شده باشند (جدول زیر) به شماره فاکتور Case و به ترکیب شماره ردیف و کالا Nested Case گفته می شود.

کالا

شماره ردیف

شماره فاکتور

A

1

1

B

2

1

C

3

1

A

1

2

F

2

2

C

1

3

 

o        مثال: می خواهیم درآمدم مشتریان یک فروشگاه را براساس خریدهایی که انجام داده اند و فیلم هایی که دیده اند را پیش بینی نماییم.

جدول مشتری (به شماره مشتری CASE گفته می شود)

سایر ستونها

شماره مشتری

 

1

 

2

 

3

 

 

 

جدول خریدها (به ترکیب شماره مشتری و کالا Nested Case گفته می شود)

سایر ستونها

کالا

شماره مشتری

 

1

1

 

2

1

 

1

2

 

5

3

 

 

 

 

جدول فیلم­ها (به ترکیب شماره مشتری و فیلم Nested Case گفته می شود)

سایر ستونها

فیلم

شماره مشتری

 

X

1

 

Y

1

 

X

2

 

Z

3

 

 

 

 

توجه: در هر مساله داده کاوی تنها یک Case وجود دارد و این Case می تواند به هر تعدادی Nested داشته باشد.

 

چندتعریف:

-          Case Tableجدول که شامل داده های Case است

-          Nested Tableجدول که شامل داده های Nested Case است.

-         Case Level Attribute

-         Nested Case Level Attribute

-          Case Keyویژگی است که نقش کلید را بازی می کند. این کلید هر Case یا نمونه را از نمونه دیگر تفکیک می کند. مثال: در تحلیل سبد خرید، شماره فاکتور نقش Case Key را بازی می کند.  Case Key معمولا کلید Case Table است.

-          Nested Keyویژگی است که عناصر مختلف زیرمجموعه یک Case را تفکیک می کند. لیکن این تفکیک براساس ماهیت (نوع) مساله انجام می شود و معمولا Nested Key کلید Nested Table نیست.

 

جدول فاکتورها

-          شماره فاکتور کلید جدول است. (PK)

-          هرسطر از جدول زیر یک Case  است

-          این جدول Case Table است

-          شماره فاکتور Case Key است

سایر ستونها

شماره فاکتور

 

1

 

2

 

3

 

 

 

جدول اجزاء فاکتور

-          شماره شناسه، کلید جدول است. (PK)

-          ترکیب شماره فاکتور و کالا از جدول زیر یک Nested Case  است

-          این جدول Nested Table است

-         شماره شناسه Nested Table Key است

-          کالا Nested Key و مفهومی است که می خواهیم آن را آنالیز کنیم.

کالا

شماره فاکتور

شماره شناسه

A

1

1

B

1

2

C

1

3

A

2

4

 

 

 

 

ویژگی ها غیر از کلید به دو دسته تقسیم می شوند:

-          ورودی

-          خروجی

یک مدل داده کاوی از ورودی ها برای پیش بینی خروجی ها استفاده می نماید.

 

مثال:

نرخ بیکاری

میزان تورم

میانگین درآمد

میانگین تحصیلات

شهر

OUTPUT

INPUT

INPUT

INPUT

KEY

 

 

 

 

 

 

 

 

 

 

توجه: کلید (Key) همواره نه Input است و نه Output.

مثال:

نرخ بیکاری

شهر

سال

INPUT

&

OUTPUT

KEY TIME

KEY

 

 

 

 

 

 

در مثال فوق نرم بیکاری سال های گذشته Input است. در این مدل قصد محاسبه نرخ بیکاری برای سال هدف را داریم کهOutput خواهد بود.

 

مثال: مساله شناسایی کالاهایی است که در یک فاکتور با هم ارائه می شوند.

جدول فاکتورها

سایر ستونها

شماره فاکتور

 

Case Key

 

جدول اجزاء فاکتور

کالا

شماره فاکتور

شماره شناسه

Nested Key

Case Key

 

مجموعه کالاها یا مجموعه کلیدها هم Input است و هم Output

 

ساختار داده کاوی در SSAS:

*       Mining Structure – ساختار داده کاوی: تعیین کننده قالب (Shape)  اصلی مساله است. در یک Mining Structureساختار، Attribute، State، Value، Case، Case Key، Nested Case و Nested Key تعیین می گردد. Mining Structure در برگیرنده داده های مورد نیاز برای انجام عملیات داده کاوی است.

*       Mining Model – مدل داده کاوی: جایی است که الگوریتم های داده کاوی برروی مجموعه داده ها اعمال می شوند و الگوها و روابط پنهان شناسایی شده و در قالب Model Content یا Learned Model در مدل داده کاوی ذخیره می گردند. درMining Model، input ها و output ها و الگوریتم مورد نظر انتخاب می شوند.

توجه: یک Mining Structure می تواند با تعداد زیادی Mining Model ارتباط داشته باشد.

مثال: اگر ساختار داده کاوی جدول زیر باشد:

مبلغ خرید

سن

مشتری

 

 

 

 

 

 

می توان مدل داده کاوی برای:

·         پیش بینی خرید براساس سن انجام داد

·         پیش بینی خرید براساس خرید انجام داد

 

زبان DMX (Data Mining eXtentions)

زبانی برای کارکردن با ساختار و مدل های داده کاوی در SSAS است.

کارکردهای زبان DMX

·         DDL – Data Definition Language: در ساخت اشیاء داده کاوی (ساختارها و مدل ها) کاربرد دارد.

·         DML – Data Manipulation Language  (Processing):  برای خواندن داده ها و پرکردن ساختار داده کاوی و یافتن الگوها در مدل داده کاوی کاربرد دارد.

·         DQL – Data Query Language: در فرآیند Prediction استفاده می شود. با استفاده از گزاره های Select می توان نتایج را مشاهده کرد و یا عمیات پیش بینی انجام داد.

 

DML – Data Manipulation Language  (Processing): این فرایند شامل خواندن داده ها از انبار داده رابطه ای یا انبار داده ی چندبعدی و بارگذاری آن در حافظه Mining Structure Cache و سپس انتقال داده ها به Mining Model و اجرای الگوریم های داده کاوی برروی آنها و استخراج الگوها (Model Content) و ذخیره کردن آنها در مدل داده کاوی می باشد.

Processing

o        Mining Structure Population

o        Mining Model Training