هوش تجاری (Business Intelligence)

هوش تجاری (Business Intelligence)

به اشتراک بگذاریم برای یادگیری، یاد بگیریم برای به اشتراک گذاری
هوش تجاری (Business Intelligence)

هوش تجاری (Business Intelligence)

به اشتراک بگذاریم برای یادگیری، یاد بگیریم برای به اشتراک گذاری

مراحل کلی در انجام عملیات داده کاوی


می‌توان گفت داده‌کاوی هدف اصلی و نهایی سازمان‌ها در بکارگیری از BI است. انجام عمل داده‌کاوی علاوه بر تخصص و توانایی فنی بالا و تسلط به کسب و کار مربوطه نیازمند مقدمات دیگری نیز هست و تا فراهم نشدن تمامی این مقدمات امکان پذیر نمی‌باشد. در ادامه هر یک از این پیش نیازها را بررسی می‌کنیم.


طراحی و پیاده سازی انبار داده:


بدون وجود انبار داده‌ای جامع و دقیق نمی‌توان به سوی داده کاوی قدم برداشت. پیش از انجام هر نوع عمل کاوش در داده‌ها ابتدا باید از یکپارچگی، صحت و تجمیع اطلاعات اطمینان حاصل شود. اطلاعات باید واقعی و دارای توالی به روز رسانی مشخص باشند. مراحل پیاده سازی انبار داده در اینجا شرح داده شده است.


 بررسی و انتخاب داده‌ها بر اساس نوع الگوریتم مورد استفاده:


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


تبدیل داده‌ها به فرمت و ساختار مورد نیاز الگوریتم:


هر الگوریتم داده کاوی بر اساس نوع خروجی و هدفی که دنبال می‌کند به فرمت خاص خود نیاز دارد. در این مرحله باید داده‌های مورد نیاز الگوریتم را به شکل و قالب قابل قبول برای الگوریتم تبدیل کنیم. انواع داده‌ای مورد استفاده در Microsoft Data Mining را اینجا مطالعه کنید.


کاوش در داده با استفاده از الگوریتم‌های داده کاوی:

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

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


تحلیل و تفسیر نتیجه :


بدیهی است که کسب دانش از داده‌ها نیازمند تجزیه و تحلیل و تفسیر خروجی مرحله قبل است. رسیدن به نتیجه مطلوب در کنار تلاش تیمی متشکل از افراد فنی و غیر فنی که تسلط کامل برروی اطلاعات و کسب وکار دارند میسر است.


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

از داده‌کاوی برای کاوش در اطلاعات و بدست آوردن دانش استفاده می‌شود. برای اینکار الگوریتم‌های زیادی وجود دارد که هر یک برای هدف خاصی کاربرد دارند. در  SQL Server Business Intelligence Development Studioتعداد 9 الگوریتم مختلف برای انجام عمل داده‌کاوی وجود دارد که در پنج دسته کلی به شرح زیر تقسیم می‌شوند.   

 

الگوریتم‌های طبقه‌بندی(Classification algorithms)

در این نوع از الگوریتم‌ها پیش بینی بر اساس یک یا چند متغیر گسسته بر روی سایر ویژگی‌های موجود در مجموعه داده‌ها انجام می‌شود.   

 

الگوریتم‌های رگرسیون(Regression algorithms)

در این نوع از الگوریتم‌ها پیش بینی بر اساس یک یا چند متغیر پیوسته بر روی سایر ویژگی‌های موجود در مجموعه داده‌ها می‌شوند.  

 

الگوریتم‌های دسته‌بندی(Segmentation algorithms)

این الگوریتم‌ها اطلاعات را به چند گروه یا خوشه تقسیم می‌کنند. هر گروه ویژگی‌های مشابه دارد.  

 

الگوریتم‌های وابستگی(Association algorithms)

ارتباط میان ویژگی‌های مختلف موجود در مجموعه داده‌ها از طریق این الگوریتم کشف می‌شود. از این الگوریتم بیشتر در تجزیه و تحلیل سبد خرید کالا استفاده می‌شود.   

 

الگوریتم‌های تحلیل زنجیره‌ای(Sequence analysis algorithms)

این نوع الگوریتم‌ها  نتیجه‌ی رویدادهای خاص را دنبال می‌کنند. مانند دنبال کردن رخداد‌های آدرس‌ یک سایت اینترنتی.   

 

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

فرآیند داده کاوی- CRISP

 

چرخه حیات داده کاوی شامل 6 بخش است. شکل زیر مراحل این فرآیند را نمایش می‌دهد. در این سیکل حرکت به عقب و جلو امری عادی است. خروجی هر مرحله رابطه مستقیم با انجام وظایف در مرحله بعدی دارد و حرکت فلش‌ها برای وابستگی‌های میان مراحل بسیار مهم است. 

   

 

 

در ادامه هر سیکل را به طور خلاصه شرح می‌دهم.

 

درک و فهم موضوع (Business understanding

اولین مرحله‌ی این چرخه، تمرکز بر روی هدف و درک نیازمندی‌ها و موضوع پروژه است. تبدیل اطلاعات اولیه به آگاهی و رسیدن به تعریفی مناسب برای حل مسئله داده‌کاوی و طراحی برنامه اولیه جهت دسترسی به هدف مورد نظر اولین قدم در یک پروژه‌ی داده‌کاوی است. ممکن است گذر از این مرحله ماه‌ها طول بکشد که البته به نوع سازمان نیز بستگی دارد.  

 

درک و فهم داده‌ها (Data understanding

       این مرحله با جمع آوری داده‌های اولیه از منابع داده، بررسی ویژگی‌ها و کیفیت داده، پردازش فعالیت‌ها به منظور آشنایی با داده‌ها، شناسایی مشکلات و اکتشاف بینش اولیه از داده‌ها شروع می‌شود.  

 

       آماده سازی داده‌ها (Data preparation)

مرحله آماده سازی داده‌ها، تمامی فعالیت‌ها را برای ساخت داده‌های خام اولیه به مجموعه داده‌های نهایی پوشش می‌دهد. این فعالیت‌ها شامل پاک سازی، ادغام و قالب بندی داده‌ها است. از آنجایی که از این داده‌ها در مراحل بعدی استفاده می‌شود این مرحله بسیار مهم می‌باشد.  

 

مدل سازی (Modeling

در این مرحله تکنیک‌های مدل سازی مختلف انتخاب و اعمال می‌شوند تا پارامترهای آن‌ها به مقادیر مطلوب برسند. پس از انتخاب روش مدل سازی باید یک مدل آزمون ایجاد کنیم تا کیفیت و اعتبار مدل را آزمایش کنیم. در نهایت یک مدل نهایی که به نظر می‌رسد از لحاظ تجزیه و تحلیل داده دارای کیفیت بالایی است، ساخته می‌شود.  

 

ارزیابی (Evaluation

      قبل از استقرار نهایی مدل باید مشخص شود که آیا مدل انتخاب شده، ما را به هدفی که در اولین قدم تعیین نموده بودیم می‌رساند. 

 

      گسترش (Deployment)  

      حتی اگر هدف از ساخت مدل، افزایش دانش باشد، عموماً ساخت یک مدل پایان پروژه نیست. اطلاعات حاصله احتیاج به سازماندهی و ارائه به روش‌هایی که کاربران نهایی بتوانند از آن استفاده کنند دارد. اغلب به کار بردن مداوم  این مدل، در سازماندهی و فرایندِ ساخت تصمیمات مدنظر است.

در هر یک از این مراحل می‌توانیم به مرحله قبل برگردیم و با بازنگری به پیشبرد هدف سازمان کمک کنیم. پس از مرحله گسترش نیز می‌توانیم از ابتدا مراحل را مورد بررسی قرار داده و در صورت نیاز پروژه را گسترش دهیم.


برگرفته از CRISPWP

                         

الگوریتم خوشه‌بندی در داده کاوی

همانطور که می‌دانید از داده‌کاوی برای کاوش در اطلاعات و کشف دانش استفاده می‌شود. برای اینکار الگوریتم‌های متعددی وجود دارد که هر یک برای هدف خاصی کاربرد دارند. در  SQL Server Business Intelligence Development Studio تعداد 9 الگوریتم مختلف برای انجام عمل داده‌کاوی وجود دارد که از هر یک در شرایط خاص و در جهت رسیدن به اهداف مشخصی استفاده می‌شود. خوشه بندی از مهمترین الگوریتم‌های داده کاوی است و کاربرد بسیاری در کشف دانش دارد به همین دلیل در این مقاله به الگوریتم خوشه بندی که یکی از مهمترین الگوریتم‌های داده‌کاوی است، خواهیم پرداخت.

کلاسترینگ (Clustering) یا خوشه‌بندی از جمله الگوریتم‌های قطعه بندی به حساب می‌آید. الگوریتم خوشه‌بندی اطلاعاتی را که ویژگی‌های نزدیک به هم و مشابه دارند را در دسته‌های جداگانه که به آن خوشه گفته می‌شود قرار می‌دهد. به بیان دیگر خوشه‌بندی همان دسته‌بندی‌های ساده‌ای است که در کارهای روزانه انجام می‌دهیم. وقتی با یک مجموعه کوچک از صفات روبرو باشیم دسته بندی به سادگی قابل اجرا است، برای مثال در یک مجموعه ‌از خودکارهای آبی، مشکی، قرمز و سبز به راحتی می‌توانیم آن‌ها را در 4 دسته قرار دهیم اما اگر در همین مجموعه ویژگی‌های دیگری مثل سایز، شرکت سازنده، وزن، قیمت و... مطرح باشد کار کمی پیچیده می‌شود. حال فرض کنید در یک مجموعه متشکل از هزاران رکورد و صدها ویژگی قصد دسته بندی دارید، چگونه باید این کار را انجام دهید؟!

بخش بندی داده‌ها به گروه‌ها یا خوشه‌های معنادار به طوری که محتویات هر خوشه ویژگی‌های مشابه و در عین حال نسبت به اشیاء دیگر در سایر خوشه‌ها غیر مشابه باشند را خوشه‌بندی می‌گویند. از این الگوریتم در مجموعه داده‌های بزرگ و در مواردی که تعداد ویژگی‌های داده زیاد باشد استفاده می‌شود.

  

تعریف خوشه بندی

فرض کنید کودکی هستید که به همراه یک کیسه پر از تیله در اتاقی نشسته‌ اید. اکنون کیسه را باز می‌کنید و اجازه می‌دهید تا تیله‌ها روی زمین حرکت کنند. متوجه می‌شوید که تیله ها رنگهای متفاوتی دارند: قرمز، آبی، زرد، سبز. تیله ها را برحسب رنگ جدا می‌کنید تا اینکه چهار گروه تیله داشته باشید. سپس متوجه می‌شوید که برخی از تیله ها بزرگ، بعضی کوچک و بعضی، متوسط هستند. حال تصمیم می‌گیرید که تیله‌های بزرگ و کوچک را با هم  و تیله‌های متوسط را به گروهی مجزا دسته بندی کنید. شما به این تقسیم بندی نگاه می‌کنید و از این کار راضی هستید. اکنون یک عملیات خوشه‌بندی انجام داده‌اید.

دوباره نگاهی به خوشه‌ها می‌کنید و می‌بینید که نه تنها تیله هایی با رنگهای یکپارچه دارید، بلکه تیله‌های چشم گربه‌ای، شرابی، شیشه‌ای و احتمالا انواع دیگری نیز دارید. برخی از تیله‌ها دارای سائیدگی هستند. برخی از آنها دارای زوایایی هستند که بطور مستقیم حرکت نمی‌کنند. اکنون سر درگم هستید، شما گروه‌ بندی خود را براساس کدام خصوصیت انجام می‌دهید؟ اندازه، رنگ یا فاکتورهای دیگر از قبیل شکل یا جنس؟ به احتمال زیاد شما دوست دارید فقط بازی کنید!

زمانی که با یک مجموعه کوچک از خصوصیات سروکار داریم، خوشه‌بندی یک عمل ساده ای است که می توانیم آن را انجام دهیم. اما زمانی که خصوصیات رشد می‌کنند مشکلات خوشه‌بندی افزایش پیدا کرده و حتی ممکن است از طریق ذهن آدمی غیر ممکن باشد. عمل خوشه‌بندی فقط در 5 یا 6 بٌعد برای افراد نظریه پرداز که فهم عمیقی از داده‌ها دارند امکان پذیر است. اما مجموعه داده‌های مدرن، عموماً شامل ده‌ها (اگر نگوییم صدها) بٌعد هستند و زمانی که ما نمی‌توانیم روابط ممکن بین خصوصیات را درک کنیم، عمل خوشه‌بندی غیر ممکن می‌شود.

توجه: در این مقاله منظور از بٌعد تعداد خصوصیات اشیاء می‌باشد. به عنوان مثال، نقاط در صفحه دکارتی دارای دو بعد X و Y هستند.

کلاسترینگ، اشیاء را براساس ویژگی‌هایی که با هم دارند گروه‌بندی می‌کند. هدف اصلی در خوشه بندی تقسیم بندی اشیاء به گونه‌ای است که بیشترین شباهت در یک گروه و بیشترین تفاوت با اشیاء گروه‌های دیگر را دارا ‌باشد. بعنوان تعریف ساده‌تر می‌توان گفت که اشیاء در خوشه مخصوص خود دارای بیشترین شباهت و در برابر اشیای متعلق به خوشه‌های دیگر دارای بیشترین تفاوت هستند.

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


در کلاسترینگ هر خوشه می‌تواند خود به چند زیر خوشه تبدیل شود. برای درک بهتر مشکلات تصمیم‌گیری برای تشکیل یک خوشه بندی به شکل زیر توجه کنید. در این شکل 20 شخص که می‌توانند بصورت سه روش در خوشه بندی تقسیم شوند، نمایش داده شده است.




با توجه به شکل ممکن است که گرفتن چهار خوشه عقلانی نباشد (به علت شباهت نزدیک دو گروه)، به همین علت تاکید می‌کنیم که اشیاء خوشه را با توجه به وابستگی نوع داده‌ها و نتایج آن می‌توان بدست آورد.

 چه تحلیل و آنالیزهایی خوشه بندی نیستند؟

در این قسمت به طور خلاصه تفاوت تجزیه و تحلیل خوشه‌ای با دیگر تکنیک های گروه‌بندی را بیان می‌کنیم. در واقع گروه‌بندی اشیاء، داده را به کلاسهای نام گذاری شده تخصیص می‌دهد. در گروه بندی هر شیء دارای یک سرپرست و یا ناظر می‌باشد. می‌توان گفت خوشه بندی یک نوع طبقه بندی بدون سرپرست است یعنی اشیاء بر اساس شباهت‌هایی که باهم دارند تقسیم می‌شوند و نه بر اساس معیارهای از پیش تعیین شده. به همین دلیل به خوشه‌بندی گاهی اوقات طبقه بندی بدون سرپرست نیز می‌گویند. در داده‌کاوی هنگامی که از اصطلاح طبقه بندی استفاده می‌شود منظور همان طبقه بندی بصورت با سرپرست می‌باشد و همچنین واژه‌های قطعه بندی و پارتیشن بندی مترادف خوشه بندی هستند. این لغات بارها در روش های سنتی استفاده شده است. در واقع استفاده از قطعه بندی، استفاده از تکنیک های ساده ای برای گروه‌بندی داده‌ها می‌باشد.

بعنوان مثال تقسیم بندی پیکسل‌های عکس به دو قسمت رنگ و شدت رنگ و یا تقسیم بندی مردم به گروهایی بر اساس درآمد و یا نام خانوادگی؛ با این وجود بعضی از تقسیم‌بندی‌های عکس و تجزیه و تحلیل بازار خوشه‌ می‌باشد و از یک چارچوب ریاضی برای داده‌کاوی استفاده می‌کنند. قوانین زیادی از داده‌کاوی روی مشکلات تقسیم بندی فعالیت و نظارت دارد و به همین ترتیب روش‌های فراوانی برای پارتیشن بندی مجموعه‌ای از داده وجود دارد اما هیچ کدام در سطح تجزیه و تحلیل خوشه‌بندی نمی‌باشند.

 ارتباط محکمی میان پارتیشن‌بندی و گراف خوشه بندی وجود دارد. برای درک بهتر تفاوت میان خوشه بندی و سایر تکنیک‌های گروه‌بندی اشیاء به مثال زیر توجه کنید.

تفاوت خوشه بندی با بانک اطلاعاتی یا درخواست از موتور جستجو: اگرچه یک کوئری مجموعه‌ای از رکوردها  را به دو گروه تقسیم می کند ( و فقط قسمت مورد نیاز پرس و جو بازیابی می‌شود) این دو نتیجه به علت نداشتن ارتباط، خوشه بندی نیستند. یک پرس و جو مجموعه ای از اشیاء را نمایش می‌دهد در حالی که خوشه بندی تلاش می‌کند اشیاء را براساس شباهت ها و تفاوت‌ها سازماندهی کند.

نکته: شاید به نظر برسد که پاسخ های کوئری دارای شباهت هایی هستند، اما باید توجه داشت که در پرس و جو عموما تمام ابعاد درخواست نمی‌شوند و ممکن است شباهت ها فقط در چند بٌعد کوچک باشد.

الگوریتم خوشه بندی  

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

شناسایی گروه‌های طبیعی داده‌ها، انسان را از تحلیل های ساده تجارت مبتنی بر سازمان موجود رها می‌سازد در غیر اینصورت با گروهای محدودی روبرو می‌شویم که خودمان تصور کرده‌ایم و ممکن است چگونگی مسیری که باعث کمک به مشتریان نشود را انتخاب کرده باشیم. منظور از تحلیل ساده، تحلیل‌هایی است که به نظر درست و دقیق می‌آید اما در واقع ممکن است چنین نباشد. بعنوان مثال به علت استفاده زیاد از چای و قند شاید خیلی از افکار فروشنده‌ها نیز به این مطلب جلب گردد که قرار دادن قند و چای در کنار هم گزینه مناسبی است، اما باید توجه داشت که نسبت اتمام قند به چای خیلی بیشتر است. حال اگر فرض کنیم خانواده‌ها عموما زیاد چای مصرف می‌کنند می‌توان نتیجه گرفت به علت شستن زیاد ظروف مربوط به چای، مصرف مایع ظرفشویی و قند دارای تناسب مصرفی کمتری است. پس می‌توان نتیجه گرفت گذاشتن مایع ظرفشویی در کنار قند از گذاشتن چای در کنار قند منطقی‌تر می‌رسد. البته توجه کنید که رابطه فوق به صورت نظری می‌باشد و ممکن است پس از داده‌کاوی نتیجه مناسب‌تری بدست آید.

برای شناخت بیشتر و بهتر رفتار پیرامون مشتریان جهت ارسال پیام‌های مناسب به گروه های خاص می توان از خوشه بندی استفاده نمود. برای مثال یک ویدئو کلوپ ممکن است دریابد که گروهی از مشتریان فیلم‌های خانوادگی را بر پایه یک نظم خاصی خریداری می کنند و گروه دیگر علاقه کمتری نسبت به خرید فیلم‌های مستند دارند. ظاهرا ارسال کارت تبلیغاتی فیلم‌های دیسنی (نام یک شرکت فیلمسازی در آمریکا) برای گروه دوم گزینه عاقلانه‌ای نمی‌باشد.

توانایی تعریف و شناسایی بخش‌های بازار ابزاری قوی برای اداره بهتر کسب و کار فراهم می کند. فیلم‌های خانوادگی برای فروش مطلوب هستند یا فیلم‌های مستند؟ سود بیشتر در ناحیه شمال غرب است یا جنوب شرق؟ سود اجاره‌کنندگان بیشتر است یا خریداران؟ تقریبا راه ها‌ی بیشماری برای گروه‌بندی داده‌ها وجود دارد. اما برای گروه‌بندی با یک دید عمیق در کسب و کار راه‌های کمی وجود دارد.

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

Data Type و Content Type در داده کاوی

برای پیاده سازی مدل‌های داده کاوی در SSAS از دو نوع داده‌ای استفاده می‌شود. یک نوع  فیزیکی که در ساختار داده‌کاوی کاربرد دارد و دیگری نوع منطقی است که برای ستون‌های مورد استفاده در مدل بکار می‌رود. به زبان ساده‌تر در زمان ایجاد یک مدل داده‌کاوی برای ستون‌های انتخاب شده از جداول دو نوع داده‌ای Data Type و Content Type خواسته می‌شود که اولی به عنوان نوع فیزیکی و دومی به عنوان نوع منطقی برای SSAS شناخته می‌شود.

در ادامه به شرح هر یک از آن‌ها خواهم پرداخت اما قبل از آن به عبارات و تعارف زیر توجه کنید.


Data Type: از آن به عنوان نوع داده‌ای نام برده می‌شود که نشان دهنده نوع رکوردهای یک ستون خاص در جدول است.

Content Type: از آن به عنوان نوع محتوایی نام برده می‌شود که بیانگر شرح حالت و نوع منطقی رکوردهای ستون است.

Column: ستون‌های هر جدول است.

Row: به سطرهای هر جدول گفته می‌شود.

Case Table: منظور از آن جدول اصلی و پایه است.

Nested Table: منظور از آن جدول کمکی یا تودرتو است.

Input: به ستون‌های ورودی انتخاب شده برای مدل گفته می‌شود.

Predictable: به ستون‌هایی که باید پیش بینی بر اساس آن‌ها انجام شود گفته می‌شود. از آن‌ها به عنوان ستون‌های قابل پیش‌بینی نیز یاد می‌شود.


در زمان ساخت مدل، نوع داده‌ای هر ستون در قسمت Data Type مشخص می‌شود که این کار باعث می‌شود تا الگوریتم اطلاعاتی از داده‌های هر ستون بدست آورد و در پردازش آن‌ها بکار گیرد. در داده‌کاوی هر نوع داده‌ای یک یا چند نوع محتوایی را پشتیبانی می‌کند. Content Type رفتار محتوای ستون‌ها را به SSAS توصیف می‌کند. برای مثال اگر داده‌های یک ستون در وقفه‌های زمانی خاصی مانند روزهای هفته تکرار شوند می‌توان نوع محتوایی مربوط به آن ستون را برابر با Cyclical قرار داد.

برخی از الگوریتم‌های داده‌کاوی برای اینکه به خوبی کار کنند حساسیت زیادی به مشخص بودن این انواع دارند مانند الگوریتم بیز که نمی‌تواند از نوع محتوایی Continus برای مقادیر ورودی استفاده کند.


Data Type

هنگام ساخت مدل داده‌کاوی در SSAS باید نوع داده‌ای هر ستون مشخص شود. در واقع نوع داده‌ای مشخص کننده‌ی متنی یا عددی بودن داده‌های موجود در ستون است. موتور داده‌کاوی از این اطلاعات برای مشخص کردن نحوه پردازش استفاده می‌کند.

هر نوع داده‌ای یک یا چند نوع محتوایی را پشتیبانی می‌کند. برای مثال اگر داده‌های موجود در یک ستون عدد باشند می‌توانید در قسمت Data Type آن نوع Numeric یا Text را انتخاب کنید. اگر نوع Numeric را انتخاب کنید در آن صورت برای Content Type نوع‌های Continuous و Discretize قابل انتخاب هستند.

جدول زیر نوع‌های داده‌ای و محتوایی قابل پشتیبانی را نشان می‌دهد.



نوع محتوایی (Content Types)نوع داده‌ای (Data Type)
Cyclical, Discrete, Discretized, Key Sequence,Ordered, SequenceText
Continuous, Cyclical, Discrete, Discretized, Key, Key Sequence, Key Time, Ordered, SequenceLong
Cyclical, Discrete, OrderedBoolean
Continuous, Cyclical, Discrete, Discretized, Key, Key Sequence, Key Time, Ordered, SequenceDouble
Continuous, Cyclical, Discrete, Discretized, Key, Key Sequence, Key Time, OrderedDate


Content Type


همانطور که پیش‌تر گفته شد نوع محتوایی برای SSAS به عنوان یک نوع منطقی شناخته می‌شود که بیانگر رفتار محتوای ستون‌ها است. در ادامه به شرح هر یک از انواع Content Type می‌پردازم.

Discrete: این نوع نشان دهنده این است که ستون مورد نظر شامل تعداد محدودی از مقادیر است. برای مثال ستون جنسیت را در نظر بگیرید، مقادیر این ستون یا مرد است یا زن، به ستون‌هایی که این نوع مقادیر را در خود دارند Discrete گفته می‌شود. این نوع مقادیر نظم و ترتیب خاصی ندارند و نمی‌توانند حاکی از مسئله‌ای باشند و با اینکه ممکن است گاهی اوقات عددی هم باشند، نمی‌توانند ما را به مقصود خاصی برسانند. مثل شماره تلفن که عدد است اما کاربردی در محاسبات ندارند.

 

Continuous: این نوع بیانگر داده‌های عددی نامحدود است که در یک مقیاس خاصی میان مقادیر وجود دارد. همانطور که در مورد نوع Discreteمتوجه شدید، این نوع محدود و قابل شمارش است اما مقادیر Continuous مقادیر عددی در رنج بزرگ و نامحدود می‌باشند. یک ستون با رکوردهایی از درجه حرارت مثال مناسبی برای این نوع است.


Discretized: این نوع بیانگر فرایند قرار دادن یک مجموعه از تعداد محدودی از مقادیر Continuous در یک گروه است. به عبارت دیگر نوع discretized گروهی از داده‌های مشتق شده از ستون Continuous را شامل می‌شود. می‌توان داده‌ها را به صورت دستی discretized کرد.


Key: همانطور که از نام این نوع مشخص است، به معنای یونیک بودن رکوردها در هر سطر است. معمولا در جداول اصلی (Case Tables) کلید به صورت عددی یا متنی مشخص می‌شود. انتخاب نوع Key برای ستون به معنای عدم آنالیز برروی آن ستون است و فقط جهت پیگیری رکوردها استفاده می‌شود.

جداول تودرتو (Nested Tables) نیز ستون کلید دارند اما معنای Key در این جداول کمی متفاوت با قبلی است. در جداول تودرتو زمانی یک ستون را به عنوان Key معرفی می‌کنیم که قصد داشته باشیم تا از خصوصیات آن ستون برای آنالیز استفاده کنیم. با این حال مقادیر ستون این جدول باید جدول اصلی یونیک باشد. برای مثال اگر قصد آنالیز محصولات خریداری شده‌ی مشتریان را دارید، باید در قسمت Content Type مربوط به ستون CustomerID در جدول اصلی نوع Key را انتخاب کنید و همین کار را برای ستون PurchasedProducts در جدول تودرتو انجام دهید.


key sequence: از این نوع فقط در الگوریتم خوشه بندی زنجیره‌ای استفاده می‌شود و بیانگر و توصیف کننده‌ی رویدادهای پیوسته و زنجیره‌ای در ستون است.


key time: از این نوع فقط در الگوریتم سری زمانی استفاده می‌شود و به معنای این است که مقادیر این ستون در واحد زمان نمایش داده می‌شوند.


Cyclical: رکوردهای موجود در این نوع بیانگر وجود یک مجموعه‌ی گردشی است برای مثال روزهای هفته یک مجموعه گردشی است زیرا هفت روز هفته مرتبا تکرار می‌شود. ستون‌های cyclical را با نوع‌های ordered  discrete  نیز مشخص می‌کنند.


Ordered: این نوع معمولا مشخص کننده‌ی ستون‌هایی است که مقادیر آن‌ها به صورت زنجیره‌ای است.


منبع 1

منبع 2