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

جلسه بیست و یکم –10/10/93

Data Mining – داده کاوی

مراحل پیاده سازی ساختار و مدل داده کاوی در SSDT (این کار با استفاده از زبان DMX هم مقدور است)

  • انتخاب ساختار منبع داده برای ساخت ساختار داده کاوی (Relational، Multi Dimensional)

  • انتخاب الگوریتم مورد نظر جهت ساخت اولین مدل داده کاوی (انتخاب از میان 9 الگوریتم)

معمولا یک مساله با چندین الگوریتم را حل می کنند. سپس الگوریتم مناسب را با توجه به میزان دقت آن انتخاب می نمایند.

  • انتخاب DSV

  • انتخاب Case (فقط یکی) و Nested Table (درصورت وجود)

مثال: می خواهیم مدلی برای خرید یا عدم خرید مشتریان براساس خصوصیات آنها طراحی کنیم.

خصوصیات مشتریان شامل: جنسیت، وضعیت تاهل، درآمد سالیانه، تعداد فرزند، تعداد خودروهای خانواده، منطقه (region) و سن

بانک اطلاعاتی مورد استفاده: AdvantureWorkDW و View مورد استفاده vTargetMail می باشد.

خرید

سن

منطقه

تعداد خودرو

تعداد فرزند

درآمد سالیانه

وضعیت تاهل

جنسیت

مشتری

 

 

 

 

 

 

 

 

 

 

گام ها:

  • شناسایی Attribute ها

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

  • در این مثال Nested Case نداریم (چون مجموعه تراکنشی در کار نیست، مثلا اگر به مجموعه خریدها اشاره می شد، آن وقت Nested Case داشتیم)

  • کل جدول بالا Case Table است.

  • مشتری Case Key است (یعنی جداکننده Case ها)

 

  • شناسایی کلید

  • از ستون سن تا جنسیت Input است

  • خرید، Output است (Predictable)

  • مشتری نه Input  است و نه Output

 

  • انتخاب نوع داده – Data Type و نوع محتوی -  Content Type

انواع داده به قرار زیر است:

  • Long – برای داده های عددی صحیح

  • Double – برای داده های عددی اعشاری

  • Text – برای داده های متنی  و رشته ای

  • Date – برای داده های از نوع تاریخ

  • Boolean – برای داده های منطقی (1/0 یا true/false)

  • Binary – برای داده های باینتری

علاوه بر انواع محتوای گفته شده (گسسته، ...) انواع دیگر محتوی به قرار زیر است:

  • Key

  • Key Time – مورد استفاده الگوریتم سری های زمانی می باشد

  • Key Sequence – کلید ترتیب است و در الگوریتم Sequence کاربرد دارد

  • Table – در تعریف Nested Case کاربرد دارد.

  • گسسته   (شک دارم درست باشه) ، تعیین نوع گسستگی در سرعت دادن به اجرای الگوریتم موثر است

    • Order: مثل سایز لباس Large/Medium/Small

    • Cycle: مثل ایام هفته

 

  • تعیین درصد تقسیم داده ها به مجموعه های Train Set و Test Set

Train Set: مجموعه ای که الگوها و روابط از روی آن شناسایی و استخراج می شود.

Test Set: مجموعه ای که در فاز ارزیابی، الگوها برروی آن مورد آزمایش قرار می گیرند. (عدد یا در درصد مشخص)

  • تعیین نام برای ساختار و مدل داده کاوی

 

آشنایی با صفحات Data Mining Designer:

Data Mining Designer :

  • Mining Structure: محیطی برای تعریف ساختار اصلی داه کاوی (شامل انتخاب Attribute ها و تعیین چگونگی ارتباط به آنها (تعریف Case، Nested Case، Case Key و Nested Key) است)

  • Mining Model: محیطی برای تعریف مدل داه کاوی که شامل انتخاب Input، Output و انتخاب الگوریتم های مورد نظر و تنظیمات هر الگوریتم است.

  • Mining Model Viewer: محیطی است برای مشاهده الگوهای استخراج شده (Model Content)

  • Mining Accuracy Chart: محیطی برای ارزیابی الگوهای یافته شده است. (قابل استفاده در فاز ارزیابی)

  • Mining Model Prediction: محیطی برای نوشتن گزاره های DQL به زبان DMX جهت انجام عملیات پیش بینی است.

 

توجه: این امکان وجود دارد که با طیف بندی متغییرهای پیوسته، متغییرهای گسسته شبیه سازی شوند. در این روش می توان تعداد سطوح که می خواهد ساخته شود را مدیریت کرد (پیش فرض 5 سطح است) – (Discretization Bucket Count) و یا می توان روش دسته بندی سطوح را مشخص کرد (Discretization Method)   که روش های equal (تقسیم مساوی) و clusters (براساس توزیع اطلاعات) قابل انتخاب هستند.

 

شرح بیشتر TAB، Mining Model :

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

  • Predict only: در این انتخاب ویژگی فقط از نوع Output می باشد.

  • Predict: در این انتخاب ویژگی از نوع Input  و Output است.

  • Ignore: عدم استفاده از ویژگی

  • Key: ویژگی کلید ساختار داده کاوی است

  • Input: ویژگی از نوع Input است

Model Filter: الزامی وجود ندارد که مدل با استفاده از تمامی رکوردهایی که در ساختار هستند ایجاد شود. به طور مثال می توان در مساله بررسی خرید مدل را براساس جنسیت تفکیک و برای هر یک مدل مجزا ساخت.

چند نکته در مورد روش Clustering :

  • از پردقت ترین مدل های داده کاوی می باشد.

  • از کاربردهای Clustering آن است که با داشتن بودجه محدود فقط روی مشتریان مهم تمرکز کنیم.

  • برای یافتن تقلب و کلاهبرداری می توان از این مدل استفاده کرد. با شناسایی رفتار متفاوت مشتری نسبت به سایر مشتریان. به این ترتیب که اگر مجموعه تراکنش ها به هیچ کدام از خوشه ها شباهت نداشته باشد، مشتری مورد نظر کاندید تقلب باشد.

  • در این روش، Output الزامی نیست.

 

الگوریتم Association: این روش در تحلیل سبد خرید (Basket Analysis) (کدام کالاها بیشتر با هم فروش می روند)، Frequent Item Set کاربرد دارد.

 

مثال: اجرای الگوریتم Association برروی مثال زیر (Decision Tree هم الگوریتم قابل استفاده در این مثال است):

کالا

شماره فاکتور

شماره ردیف

A

1

1

B

1

2

C

1

3

A

2

4

 

 

 

گام ها:

  •  Attributes - ویژگی ها در این مثال: شماره فاکتور و کالا هستند

  • Content Key – شماره فاکتور Key و کالا discrete است. (مهم نیست که کالا Key باشد و یا Discrete)

  • Case: شماره فاکتور و کالاها می باشند.

  • Nested Table و Case Table: کل کالاهای یک فاکتور می باشند.

  • Case Key : شماره فاکتور

  • Nested Key: کالا

  • Input: کلیه کالاهای یک فاکتور می باشند.

  • Output: کلیه کالاهای یک فاکتور می باشند.

 

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

با فرض داشتن سه کالا:

در طراحی Cellular: در این مدل ویژگی Key نداشته و Key Time داریم.

C

B

A

ماه

1200

2000

1000

01/93

1500

1800

1100

02/93

1300

1600

1400

03/93

 

 

 

 

در مدل فوق فقط برای کالای A:

  • Case: ترکیب ماه و فیلد A

  • Case Key : ماه است

  • Input: فیلد A

  • Output: فیلد A

  • تمامی فیلدهای اطلاعاتی ویژگی محسوب می شوند.

در طراحی Interleaved:

مبلغ

محصول

ماه

1000

A

01/93

1100

A

02/93

1400

A

03/93

 

B

 

 

B

 

  • Case: ترکیب ماه، محصول و مبلغ است

  • Case Key : ماه است

  • Input: فیلد مبلغ

  • Output: فیلد مبلغ

  • در طراحی Interleaved یک Key و Keytime داریم.