توسط zahra riyahi zahra riyahi بدون دیدگاه

سلسله مراتب ها در Data Analysis

در ادامه مقاله قبل تحت عنوان «طراحی OLAP Cube» (www.keysun-co.com  شرکت هوش تجاری کیسان) که در آن به بررسی ویژگی ها (Attributes) و سلسله مراتب پرداختیم در این مقاله قصد دارم به بررسی دقیقتر انواع سلسله مراتب و نحوه طراحی آنها بپردازیم.

سلسله مراتب ها در Data Analysis

در مقاله قبل با مرتب کردن ویژگی های مرتبط در سطوح مختلف سلسله مراتبی را به وجود آوردیم. سلسله مراتب محصولات و مدل فقط دارای دو سطح می باشد، اما سلسله مراتب می تواند دارای سطوح بیشتری باشد. برای مثال، می توانید با استفاده از ویژگی ماه به عنوان پایین ترین سطح و سپس اضافه کردن سطوح دیگر شامل اعضای ویژگی های Quarter و سال سلسله مراتبی با سطوح بیشتر برای زمان ایجاد کنید. سپس می توانید سطح دیگری را در بالاترین سطح سلسله مراتب با نام All Level ایجاد کنید. این سطح شامل تنها یک عضو (All Dates) می باشد که مجموع تمامی اعضای سطح سال می باشد.

تصویر زیر بعضی از اعضای سلسله مراتب زمان را که در چهار سطح All، Year، Quarter و Month طراحی شده است مشاهده می کنید.

Figure 1-1 Date hierarchy

می توانید اعضای یک سلسله مراتب را به عنوان اعضای یک رابطه والد و فرزندی در نظر بگیرید. یک عضو در یک سطح والد اعضای مرتبط به آن در سطح پایینی می باشد، و یک عضو در یک سطح برای اعضای مرتبط به آن در سطح بالاتر، فرزند می باشد. سلسله مراتب زمان یک سلسله مراتب طبیعی است. در یک سلسله مراتب طبیعی، هر عضو فرزند تنها یک والد دارند. برای مثال شکل ۱-۱ نشان می دهد که  ۲۰۱۱ والد Qtr 1 2011 و Qtr 2 2011 می باشد، و Feb 2011 والد Qtr 1 2011 است. سلسله مراتب سایز به وسیله رنگ یک سلسله مراتب طبیعی نیست. برای مثال عضو ۴۰ در سطح سایز دارای دو والد می باشد: عضو های Black  و Silver در سطح رنگ.

همچنین شکل ۱-۱ نشان می دهد که یک سلسله مراتب می تواند شاخه های زیادی داشته باشد. هنگامی که شما به انتهای شاخه یک درخت بروید به برگ می رسید. در انتهای شاخه های سلسله مراتب می توانید به برگ ها (Leaf member ) برسید. یک سلسله مراتب ممکن است All member نداشته باشد، اما هر سلسله مراتب باید حتما Leaf member داشته باشد.

می توانید هر ویژگی (Attribute) را در یک سلسله مراتب قرار دهید که تنها دارای دو سطح می باشد، استفاده از ویژگی به عنوان سطح برگ و سپس اضافه کردن یک سطح All .

برخی سلسله مراتب ها از قبیل سلسله مراتب زمان دارای تعادل است . مطابق شکل ۱-۱ مهم نیست کدام مسیر را در طول شاخه ها دنبال میکنید، می توانید یک عضو در هر سطح پیدا کنید، و هر مسیر دارای تعداد مشابهی سطح می باشد. در یک سلسله مراتب متعادل به راحتی میتوانید برای سطوح اسم تعیین کنید.

برخی سلسله مراتب ها غیر متعادل هستند. یک چارت سازمانی اغلب نامتعادل می باشد. برای مثال، تعداد زیادی از شرکت ها ممکن است تعداد زیادی کارمند داشته باشند و به همین ترتیب تعداد زیادی سطوح مدیریتی. ساختارهای تفکیک کار و چارت های حسابدار ی مثال های دیگری از سلسله مراتب های نامتعادل می باشند. در یک سلسله مراتب نامتعادل، اغلب دادن نامی خاص به هر سطح کار دشواری است، اما عناصر برگ همیشه عناصری هستند که فرزندی در ادامه خود ندارند. شکل ۱-۲ یک سلسله مراتب نامتعادل را نشان میدهد، مهم نیست کدام مسیر را در طول شاخه ها دنبال کنید میتوانید یک عضو در هر سطح پیدا کنید. برخی مسیرها، ممکن است دارای تعداد سطوح بیشتری نسبت به سایر مسیر ها باشند، به عبارت دیگر، اعضای برگ ممکن است متعلق به سطوح متفاوتی باشند.

Figure -1-2 Organization Chart

در برخی سلسله مراتب ها تشخیص متعادل یا نا متعادل بودن سلسله مراتب کار دشواری است. برای مثال، در سلسله مراتب مناطق جغرافیایی، ممکن است شما بتوانید به راحتی برای سطوح اسمی خاص انتخاب کنید _ All، Country، State/Province و City_ اما برخی کشورها ممکن است State  یا Province نداشته باشند. این نوع سلسله مراتب ها را سلسله مراتب های Ragged یا ناهموار  می گویند. شگل ۱-۳ نشان می دهد که مهم نیست کدام مسیر را دنبال کنی، هر مسیری تعداد سطوح یکسانی دارد. برخی مسیرها ممکن است هیچ عضوی در در هر سطح نداشته باشند. در یک سلسله مراتب ناهموار، اعضای برگ همیشه به یک سطح تعلق دارند.

Figure 1-3 Ragged hierarchy

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

در مقاله بعد تحت عنوان « ابعاد در Data Analysis » (شرکت هوش تجاری کیسان    www.keysun-co.com ) به بررسی ابعاد در Data Analysis می پردازیم.

 

توسط zahra riyahi zahra riyahi بدون دیدگاه

ایجاد یک پروژه SQL Server Analysis Services

در ادامه مقاله های قبل که در آن به توضیح ویژگی ها (Attributes ) و سلسله مراتب ها( Hierarchy)  و ابعاد(Dimension) (www.keysun-co.com شرکت هوش تجاری کیسان) پرداختیم در این مقاله و مقاله های آتی قصد داریم بپردازیم به راه اندازی یک پروژه SSAS .

شروع پروژه

مراحل اولیه ایجاد یک  database Analysis services را با ایجاد یک پروژه Analysis services در یک Business intelligence solution  آغاز میکنیم.

یک پروژه  Analysis services شامل تمامی کد های مورد نیاز یک   database    Analysis servicesمی باشد. سپس شما یک data source به پروژه تان اضافه می کنید. یک data source شامل اطلاعاتی است که Analysis services برای اتصال به پایگاه داده منبع نیاز دارد. سرانجام یک data source view اضافه خواهیم کرد که شامل اطلاعاتی درباره جداول و view های موجود در پایگاه داده منبع می باشد.

ایجاد یک Business intelligence solution  

در این مقاله از SQL Server business intelligence Development Studio (BIDS) برای طراحی و Deploy یک نمونه Analysis Services business intelligence solution استفاده می کنیم. BIDS یک فضای Development برای تمامی ابزارهای SQL Server business intelligence از قبیل Integration Services و Reporting Services و Analysis Services فراهم میکند.

در صورتی که با محیط Develop اپلیکیشن Microsoft Visual Studio آشنایی دارید، توجه داشته باشید که BIDS  یک همان Visual Studio است بعلاوه الگوهایی که خاص SQL Server business intelligence طراحی شده اند. BIDS شامل چهار پنجره اصلی است که برای توسعه برنامه های هوش تجاری از آنها استفاده میکنید: Designer Window, Solution Explorer, Properties Window, and Toolbox.

برای شروع، یک business intelligence solution ایجاد می کنیم که شامل یک پروژه Analysis Services می باشد. سپس در مراحل بعد یک data source و یک data source view به پروژه اضافه می کنیم. پایگاه داده Analysis Services که ایجاد خواهیم کرد در واقع  یک لایه تجزیه و تحلیل از یک

full-featured business intelligence solution می باشد. بیشتر Solution های پروژه های هوش تجاری همچنین دارای یک transformation لایه دیتا هستند که دیتا را از سیستم های تجاری بیرون کشیده، تغییراتی در آن بوجود آورده و سپس داخل یک Data mart و یا data warehouse  بارگذاری می کنند. Business intelligence solutions همچنین دارای یک لایه presentation نیز می باشد که گزارشات و ویژوال های دیتا در آن ایجاد می شود.

 

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

  • پس از باز کردن نرم افزار Visual Studio در قسمت File گزینه New و سپس Project را انتخاب می کنیم.

  • type را از منوی سمت چپ انتخاب کرده و سپس Analysis Services Project template را کلیک می کنیم. پنجره باز شده همچنین شامل template هایی برای پروژه های Integration Services و Reporting Services می باشد.
  • در قسمت Name نام پروژه را وارد می کنیم (Adventure Works SSAS) که همزمان در قسمت Solution Name نیز جهت هماهنگی با نام پروژه به صورت خودکار تغییر میکند. در صورتی که solution  ای تعریف کنید که دارای چندین پروژه می باشد می توانید نام solution را بگونه ای که نماینده کل پروژه باشد، تغییر دهید.
  • با انتخاب گزینه Create Directory for Solution نام solution را  Adventure Works BI))

تغییر میدهیم.

  • در قسمت Location مسیر پروژه را تعیین کرده و برای ایجاد پروژه OK را کلیک میکنیم. پروژه Adventure Works SSAS ایجاد شده و در Solution Explorer نشان داده می شود.

در صورتی که نتوانستید Solution ایجاد شده را در Solution Explorer ببینید، علت بر میگردد به این تنظیمات پیش فرض Visual Studio که در صورتی که یک Solution دارای تنها یک پروژه باشد، Solution

نشان داده نمی شود در صورتی نشان داده می شود که پروژه دیگری به Solution اضافه شود. در صورتی که بخواهید حتی در صورت وجود یک پروژه Solution نشان داده شود، از قسمت Tools نوار بالا گزینه Option را انتخاب کرده و از قسمت Projects And Solutions گزینه Always Show Solution را تیک بزنید.

نکته: مسیر C:\Users\<YourUserName>\Documents \Visual Studio 2015\Projects   مسیر پیش فرض هر Solution ای است که با استفاده از  Visual Studio 2015ایجاد میکنیم. در صورتی که در گذشته یک پروژه Visual Studio ایجاد کرده باشید  Solution جدید در همان مسیر قبل ایجاد میشود.

در مقاله بعد تحت عنوان (« ایجاد data source  در پروژه SSAS » www.keysun-co.com  ) به مراحل بعد ایجاد یک پروژه SSAS که ایجاد data source  می باشد می پردازیم.

توسط zahra riyahi zahra riyahi بدون دیدگاه

تغییر شکل و ترکیب دیتا در Power BI

در ادامه مقاله قبل مبنی بر تغییر شکل و ترکیب دیتا در Query Editor , اکنون نیاز داریم که دیتا را بر اساس ستون New Rank مرتب سازی کنیم. ابتدا آخرین مرحله را از Applied steps یعنی Changed type1 انتخاب می کنیم تا به جدیدترین داده ها برسید. سپس, آیکن Drop-Down که در Header ستون New rank  قرار دارد را انتخاب کرده و بر روی گزینه Sort Ascending را انتخاب می کنیم.

توجه داشته باشید که دیتا براساس ستون New Rank مرتب سازی شده است. اما اگر در ستون Rank نگاه کنید, در مواردی که مقادیر New Rank برابر هستند, مرتب سازی صورت نگرفته است. برای رفع این مشکل, ستون New Rank را انتخاب کرده و فرمول را در قسمت فرمول به شکل زیر تغییر دهید:

Table. Sort (#”Changed Type1”, {{“New Rank”, Order. Ascending}, {“Rank”, Order. Ascending}})=

سپس Enter را می زنیم, و مشاهده می کنیم که سطرها بر اساس هر دو ستون New Rank و Rank مرتب سازی شده اند.

بعلاوه شما می توانید هر یک از مراحل Applied Step را از لیست انتخاب کرده و به تغییر دادن دیتا در آن نقطه بپردازید. Query Editor به صورت خودکار یک مرحله جدید را مستقیما بعد از انتخاب جاری Applied Step اضافه میکند.

برای انجام دادن این مرحله ابتدا از Applied Step مرحله ای که جهت اضافه کردن ستون سفارشی ایجاد کرده بودیم را انتخاب می کنیم, این مرحله Removed Column Step می باشد. اکنون می خواهیم مقدار Weather Ranking را در Arizona جایگزین کنیم,  برای جایگزین کردن Rank آب و هوا در سطر مربوط به Arizona, بر روی سلول مربوط به  Arizona راست کلیک کرده و از منوی ظاهر شده, گزینه Replace Value را انتخاب می کنیم . توجه داشته باشید که در حال حاضر Applied Step انتخاب شده است (مرحله از پیش تعیین شده Added Custom).

از آنجایی که ما در حال  اضافه کردن یک مرحله هستیم Query Editor درباره خطر انجام این کار به ما هشدار می دهد – مراحل بعدی می تواند باعث شکسته شدن Query بشود. لازم هست که مراقب باشیم ولی از آنجایی که این یک مقاله آموزشی است تا نشان دهد چگونه می توانیم مراحل ایجاد, حذف, درج و تغییر را ایجاد کنید, ما گزینه Insert را زده و پیش می رویم.

تغییر مقدار به ۵۱ برای Arizona و جایگزینی دیتا انجام شد. وقتی که شما گام جدیدی را در Applied step ایجاد می کنید, Query Editor آن را براساس نوع عملی که انجام می دهد نامگذاری می کند, برای مثال در مورد قبل Replaced Value.

وقتی که بیش از یک مرحله با یک نام مشابه داشته باشیم, Query Editor شماره ای را به نام برای هر مرحله اضافه می کند (به ترتیب) تا بدین ترتیب بین مراحل تفاوت ایجاد کند.

اکنون آخرین مرحله ( Sorted Rows) را انتخاب کرده, و توجه می کنیم که دیتا براساس مقدار جدید Arizona تغییر کرده است, این به این خاطر است که گام Replaced Value را در جای درستی قبل از گام  Added Custom قرار داده ایم.

موارد مطرح شده محدوده کوچکی از توانایی های Query Editor را شامل می شد, اما نمونه خوبی بود برای اینکه نشان دهد Query Editor چه مقدار می تواند قدرتمند و چند منظوره باشد.

در نهایت, قصد داریم نام جدول را به یک نام توصیفی تغییر دهیم. وقتی میخواهیم به ایجاد گزارش بپردازیم, داشتن نام توصیفی برای جدول, به ویژه هنگامی که به چندین منبع داده متصل می شویم, بسیار مفید است(تمامی این جداول در قسمت Field های Report View ذکر می شوند).

تغییر نام جدول کار ساده ای است: در Query Settings Pane در قسمت Properties , به سادگی اسم جدول را در قسمت Name تغییر می دهیم, و سپس کلید Enter را فشار می دهیم.

توسط zahra riyahi zahra riyahi بدون دیدگاه

ترکیب کردن و سامان بخشیدن به دیتا در Power BI Desktop

شما می توانید به وسیله Power BI Desktop, به انواع مختلفی از منابع داده متصل شوید, سپس براساس نیاز های خود دیتا را سامان ببخشید و گزارشاتی را ایجاد کرده و با دیگران به اشتراک بگذارید. سامان بخشیدن دیتا به معنی تغییر شکل دادن دیتا از قبیل تغییر نام ستون ها و جداول, تغییر Text به Number , حذف کردن سطرها, تعیین سطر اول به عنوان سرستون ( Header ), و موارد دیگر.

ترکیب دیتا به معنی اتصال به دو یا تعداد بیشتری از منابع, تغییر شکل آنها براساس نیاز, سپس یکی کردن آنها در یک کوئری می باشد.

بهتر است بدانید که Query Editor در Power BI Desktop از منوی راست کلیک و همچنین نوار Ribbon بیشترین استفاده را می کند. بیشتر گزینه های موجود در قسمت Transform نوار Ribbon با راست کلیک کردن بر روی یک Item برای مثال یک ستون نیز قابل دسترسی می باشد.

تغییر شکل (سامان دادن به دیتا)

وقتی دیتا را در Query Editor تغییرمی دهید, یک دستورالعمل گام به گام را به وجود می آورید (که Query Editor برای شما انجام می دهد) تا داده ها را تنظیم کرده و ارائه دهید. منبع داده اصلی در این صورت تحت تاثیر قرار نمی گیرد و تنها در این نمای خاص دیتا تغییر میکند.

مراحلی که شما مشخص کرده اید( از قبیل تغییر نام یک جدول, تغییر در یک Data Type  و یا پاک کردن ستون ها) بوسیله Query Editor ثبت شده و هر زمان که این کوئری به پایگاه داده وصل شود, این مراحل بر روی دیتا اعمال می شود تا دیتا همیشه بر اساس آنچه شما مشخص کرده اید تغییر کند.این مراحل در هر جایی که شما از این Feature استفاده کنید و نیز برای هر کسی که از کوئری Share شده شما استفاده می کند برای مثال در Power BI Service انجام می شود.

این مراحل به صورت متوالی, در صفحه Query Settings در قسمت Applied Steps ثبت می شوند.

برای مثال در دیتای نمونه قصد انجام مراحل زیر را داریم.

برای شروع اجازه دهید یک Custom Column (ستون سفارشی ) را برای محاسبه رتبه کلیه داده ها ی با هم برابر محاسبه کنیم و این ستون را با رتبه موجود مقایسه کنیم.

برای این منظور در قسمت Query Editor گزینه Add Column را از Ribbon Bar انتخاب کرده و سپس دکمه Custom Column را کلیک می کنیم.

سپس در پنجره باز شده در قسمت New Column Name نام ستون جدید را اضافه می کنیم که در اینجا New Rank می باشد, و در قسمت Custom Column Formula از قسمت Available Columns ستون ها ی مورد نظر را انتخاب می کنیم و با زدن دکمه Insert به پنجره Custom Column Formula منتقل می کنیم.

از وضعیت No syntax errors have been detected   مطمئن شده و OK را کلیک کنید.

برای یکسان نگه داشتن Data Type ها بر روی Header ستون راست کلیک کرده و گزینه Change Type  و سپس Whole Number را برای تغییر انتخاب کنید.

در صورتی که به بیش از یک ستون نیاز دارید, ابتدا یک ستون را انتخاب کرده ,Shift   را نگه داشته و سپس ستون های مجاور اضافی را انتخاب کنید و سپس بر روی Header  یک ستون راست کلیک کرده تا کلیه ستون های انتخاب شده را تغییر یابند. همچنین می توانید با استفاده ار دکمه CTRL نیز ستون ها ی مجاور اضافی  را انتخاب کنید.

 همچنین میتوانید Data Type  ستون را از طریق دکمه Transform و انتخاب گزینه Data Type Text تغییر دهید. که به شما این امکان را می دهد که Data Type  جاری را به Data Typa دیگری تغییر دهید.

توجه داشته باشید که کلیه مراحل انجام شده از ابتدا تا حالا در Applied Steps پنجره Query Settings منعکس شده است که نشان هر تعییر اعمال شده بر روی دیتا را نشان می دهد. در صورتی که بخواهید هر یک از مراحل را از فرایند تغییر در دیتا پاک کنید کافیست به سادگی علامت X سمت چپ هر یک از مراحل را کلیک کنید تا آن مرحله از فرایند تغییرات Remove  شود.

تصویر زیر Applied Steps مراحل را تا کنون منعکس می کند:

اتصال به Website  (Source), انتخاب جدول (Navigation), در حالی که جدول Load می شود, Query Editor به صورت خودکار ستون های عددی را از Data Type  , Text  به Whole Number  تغییر می دهد (Changed Type) , دو گام آخر اقدامات اخیر ما از قبیل Added Custom و Change Type 1 را نشان می دهد .

قبل از اینکه ما بتوانیم با این کوئری کار کنیم, نیاز داریم تغییرات کوچکی را در دیتا ایجاد کنیم:

  • تعیین رتبه با حذف کردن یک ستون, ما تصمیم گرفته ایم که ستون Cost Of Living عامل مهمی در نتایج ما نیست. بعد از حذف این ستون به این مسئله برخورد می کنیم که دیتا بدون تغییر باقی می ماند, هر چند که با استفاده از Power BI Desktop می توان آن را برطرف کرد, این یک ویژگی جالب از Applied Steps را در کوئری نشان می دهد.
  • برطرف کردن چند خطا- از آنجایی که یک ستون را حذف کرده ایم, لازم است که محاسباتمان را در ستون New Rank تنظیم کنیم.این مسئله شامل تغییر فرمول می باشد.
  • مرتب سازی دیتا-براساس ستون New Rank و ستون های Rank
  • جایگزین کردن دیتا
  • تغییر نام جدول

برای حذف کردن ستون Cost Of Living به سادگی ستون را انتخاب کرده و از Home Tab گزینه Remove Column را مطابق شکل زیر انتخاب می کنیم.

توجه داشته باشید که مقادیر ستون New Rank تغییری نکردند, این به خاطر توالی انجام گام ها می باشد, از آنجایی که Query Editor گام ها را به صورت متوالی و در عین حال مستقل از یکدیگر ثبت می کند, شما می توانید  ترتیب توالی را به سمت بالا یا پایین تغییر دهید. تنها با کلیک راست کردن بر روی هر مرحله Query Editor برای شما منوی را فراهم می کند که به شما این امکان را می دهد موارد زیر را انجام دهید:  Rename, Delete, Delete Until End (مرحله فعلی و تمام مراحل بعدی را حذف کنید), Move Up, Move Down, پیش بروید و آخرین مرحله یعنی Removed Columns را به مرحله بالاتر گام Added Custom منتقل کنید.

سپس مرحله Added Custom  را انتخاب کنید. توجه داشته باشید که دیتا در ستون New Rank به صورت Error نشان داده شده است که باید مورد بررسی قرار گیرد.

راه های کمی وجود دارد برای اینکه بتوانیم اطلاعات بیشتری در باره هر Error بدست آوریم. میتوانید یک سلول را انتخاب کنید ( بدون کلیک کردن بر روی کلمه Error ), یا کلیک مستقیم بر روی Error. در صورتی که سلول را بدون کلیک مستقیم بر روی کلمه Error کلیک کنیم, Query Editor اطلاعاتی را در خصوص Error در پنجره پایین صفحه به نمایش می گذارد.

در صورتی که مستقیا بر روی کلمه Error کلیک کنید Query , ,  Applied Step درQuery Settings Pane ایجاد می کند و اطلاعاتی را در خصوص Error نشان می دهد.

برای رفع Error ها , ستون New Rank را انتخاب کرده, سپس فرمول ستون را با کلیک کردن بر روی گزینه View و انتخاب Formula bar نشان دهید.

اکنون می توانید ستون Cost Of Living را خذف کرده و فرمول را به صورت زیر تغییر دهید:

Table.AddColumn(#”Removed Columns”, “New Rank”, each ([Weather] + [Health care quality] + [Crime] + [Tax] + [Culture] + [Senior] + [#”Well-being”]) / 7)

سپس با زدن دکمه Enter دیتا جایگزین می شود و Error از بین می رود.

همچنین شما می توانید با انتخاب گزینه Remove Error از نوار Ribbon و یا از منوی باز شده با کلیک راست Error ها را رفع کنید که در ایتصورت هر سطری که Error داشته باشد حذف می شود که در این مورد خاص در صورتی که به این روش عمل کنیم کل دیتا از ستون ما پاک می شود که ما نمی خواهیم این اتفاق بیفتد.

توسط zahra riyahi zahra riyahi بدون دیدگاه

چطور SSIS Package را به Web Service متصل کنیم؟

در SQL 2005, Web Service Task  در SQL Server Integration معرفی شد. این ابزار امکان اتصال به یک Web Service  و نیز امکان اجرا کردن هر یک از Web Method ها یی که ما بتوانیم به وسیله  Web Service به نمایش بگذاریم را فراهم میکند.

به عبارت دیگر ابزار Web Service به ما این امکان را می دهد که دیتای خاصی را از Web Service بخوانیم و یا دیتایی را به آن ارسال کنیم. ابزار Web Service به وسیله  فایل Web Service Definition  (WSDL) کار می کند. و سرویس, متد, و مجموعه پارامترهای هر متد را در صورت وجود به نمایش می گذارد.

نتایج خروجی در فرم XML ارائه می شود.

1

اکنون مراحل کار  با Web Service Task را مرحله به مرحله پیش می رویم.

  1. در مرحله اول یک Package جدید به نام Web_Service_Task  ایجاد می کنیم.
2

۲ . سپس از قسمت (Common) SSIS Toolbox ابزار Web Service را به قسمت Control Flow , Drag & Drop می کنیم.

3

۳ . Double-Clicking بر روی Web Service Task و در پنجره باز شده در مقابل HTTP Connection گزینه New Connection را انتخاب می کنیم.

4

 ۴ . پس از انتخاب گزینه New Connection به صورت خودکار پنجره HTTP Connection Manager Editor باز می شود , که لازم است در قسمت Server Setting , URL سرور مورد نظر را وارد کنیم.

5

گذشته از این ممکن است نیاز باشد که در این مرحله تنظیمات Time-Out و Chunk Size را نیز به تناسب نیاز  انجام بدهید و یا در حالت پیش فرض نگاه دارید.

همچنین در صورتی که نیاز به انجام تنظیمات Proxy Setting و مشخص کردن Proxy URL و Authentication برای اتصال به اینترنت از محیط کار خود دارید میتوانید از گزینه Use Credential استفاده کنید و یا به  Proxy رفته و تنظیمات مورد نیاز را انجام بدهید.

        ۵ . انتخاب دکمه Test Connection جهت تایید برقراری ارتباط.

6

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

7

        ۷ . سپس با کلیک بر روی گزینه OverWriteWSDLFile آن را بر روی گزینه True قرار می دهیم.

     ۸ . گزینه Download WSDL Button را انتخاب می کنیم که در این صورت فایل WSDL از HTTP Connection ,Download می شود.

       ۹ . در این مرحله در صورت چک کردن فایل WSDL که ایجاد کرده اید میتوانید فایل WSDL شامل چندین XML Code را مشاهده کنید که افزایش سایز آن نیز حاکی از وجود چندین کد در این فایل می باشد.

8
9
10

   ۱۰ . در قسمت Input در مقابل گزینه Service نام سرویس مربوط به WSDL را تعیین می کنیم, انتخاب Method بستگی به نیاز شما دارد, در قسمت Web Method Documentation نیز می توانید توضیحات کوتاهی را درباره متد مورد نظر مشاهده کنید.

11

     ۱۱ . سپس در قسمت Output  شما باید نوع خروجی را مشخص کنید: File Connection  و یا Variable

در مقابل گزینه Output ,New Connection را انتخاب می کنیم, سپس در پنجره File Connection Manager Editor Usage Type  و نام فایل مورد نظر را انتخاب می کنیم. من در این قسمت گزینه Create File را انتخاب کرده و در قسمت Browse مسیر فایل SWDL را تعیین می کنم و نام Output.XML را بر روی فایل قرار می دهم. در صورتی که از قبل میدانیم نتایج WSDLفایل در XML ذخیره می شود از ابتدا یک فایل XML ایجاد کرده و نام فایل را Out.XML قرار می دهیم.

12

     این تمام آن چیزیست که برای پیکره بندی Web Service Task نیاز دارید.

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

13
توسط zahra riyahi zahra riyahi بدون دیدگاه

کاربرد هوش تجاری (BI) در تحلیل تکنیکال صنعت داروسازی

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

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

داروسازی

در زیر به چند مورد از تاثیرات  هوش تجاری بر عملکرد بازاریابی شرکت های داروسازی اشاره می شود:

  1. تعیین گرایش های تجاری سازمان که موجب می شود تا سازمان بدون اتلاف وقت ، هزینه و انرژی در سایر سیرها بر اهداف خود متمرکز شود.
  2. تحلیل عمیق بازار و پیش بینی آن که می تواند قبل از اینکه رقبا سهم بازار خود را توسعه دهند، منافع جدید بوجود آمده در بازار را به اکتساب خود درآورند.
  3. بالابردن سطح رضایتمندی مشتریان و شناسایی مشتریان دائمی که وفا دارند.
  4. تقسیم بندی مشتریان و ایجاد تنوع در روش برخورد با هرگروه از مشتریان.
  5. افزایش کارایی سازمان در امور داخلی .
  6. استانداردسازی و ایجاد سازگاری بین ساختارهای سازمان.
  7. تسهیل در تصمیم گیری که جزء اهداف اساسی هوش تجاری محسوب میشود.
توسط zahra riyahi zahra riyahi بدون دیدگاه

کاربرد هوش تجاری(BI) در تحلیل تکنیکال ارزهای دیجیتال

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

  • مالیات ناچیز برای هر یک معامله
  • خطرسرقت این ارز کمتر نسبت به ارزهای فیزیکی
  • امنیت بالا
  • امکان سرمایه گذاری آسان بدون داشتن دانش فنی خاص (در صورتی که بتوانیم با بکارگیری ابزارهایی این کسب وکار را راحت تحلیل کنیم.)
  • فضای خصوصی استفاده از این ارزها
  • امکان معامله در سراسر دنیا بدون محدودیت کنونی

گهگاهی پر رنگ شدن بعضی از معایب ارزهای دیجیتال مثل نوسان قیمت ، پرداخت غیرقابل برگشت ، ایمن نبدن صد در صدی بعضی از الگوریتهای ارزهای دیجیتال و مشکلات حقوقی و مالی که ممکن است در این نوع از سرمایه گذاری ایجاد شد، بازار این ارزها را دچار نوسان شدید و تنزل قیمت میکند.
این نقطه همان محلی است که هوش تجاری می تواند به کمک سرمایه گذار بیاید و با تحلیل های پیشگویانه(Technical Forecasting ) سرمایه او را نجات داده و در نقطه مناسب دیگری کمک به خرید مناسب نماید.
سیستم (Intelligence Business (BIراه حلی است که به یک شرکت کمک می کند تا اطلاعات مربوط به حوزه سرمایه گذاری خود را نظیر ارزهای دیجیتال جمع آوری کرده و روی آن پردازش، تحلیل، درنهایت هم بصری سازی وپیشبینی انجام شود. مراحل BI به یک کاربر ، مالک یا کارگزار ارز دیجیتال نظیر بیت کویت یا اتریوم و هر نوع ارز دیگر کمک می کند بهترین تصمیم ممکن برای به حداکثر رساندن سود و امنیت مالی خود بگیرد.

ارز دیجیتال

حالا چه اقداماتی در زمینه بکارگیری هوش تجاری در خصوص ارزهای دیجیتال می بایست انجام داد؟

بعضی از این  کارها دراین تحلیل می تواند به شرح ذیل باشد:

بکارگیری معیارهای گزارش دهی مناسب، نمایش داده با ابزارهای بصری سازی مثل Power BI، تجزیه و تحلیل عملیاتی و نظارت، مطالعات کمی ، داده کاوی ، مدل سازی داده ها، تجزیه و تحلیل داده های بزرگ ، آزمایش چند متغیره و بسیاری دیگر.

مراحل عملیاتی استفاده از هوش تجاری در سرمایه گذاری در صنعت ارزهای دیجیتالی عبارت خواهد بود از :

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

پایگاه های داده SQL یا NOSQL ؟؟ کدام یک را انتخاب کنیم؟

بودن یا نبودن مسئله این است!!!!!!!
حتمالا شکسپیر در مورد پایگاه های داده فکر نمی کرده است زمانی که مشغول نوشتن این جمله بوده است، اما امروزه سوال بسیاری از شرکت هاست که ار چه نوع دیتابیسی استفاده کنند. بزرگترین تصمیم گیری در مورد انتخاب یک پایگاه داده، انتخاب یک پایگاه داده ارتباطی (SQL) یا پایگاه داده غیر ارتباطی NoSQL) ) است. در حالی که یک پایگاه داده ارتباطی یک گزینه ای مناسب برای بیشتر شرکت ها و سازمان ها است، برای مجموعه داده های بزرگ و تجزیه و تحلیل داده های بزرگ مناسب نیست. این دلیل عمده محبوبیت سیستم های پایگاه داده NoSQL در شرکت های بزرگ اینترنتی مانند Google، Yahoo، Amazon و غیره است.

SQL-Vs-NoSQL
با این حال، تصمیم به انتخاب یک پایگاه داده ساده نیست. هر دو پایگاه داده SQL و NoSQL دارای ساختار متفاوت و روش های ذخیره سازی داده های مختلف هستند. بنابراین انتخاب بین SQL و NoSQL عمدتا به نوع پایگاه داده ای است که برای یک پروژه خاص مورد نیاز است.

چقدر تفاوت دارند؟
هر دو پایگاه داده SQL و NoSQL برای اهداف مشابه استفاده می شوند، اما آنها در روش های ذخیره سازی و سایر موارد تفاوت های بسیاری دارند. تفاوت های متعددی بین پایگاه داده های SQL و NoSQL وجود دارد و برای شرکت ها و سازمان ها اهمیت دارد تا بدانند از کدام نوع پایگاه داده باید استفاده کنند.
برخی از تفاوت های پایگاه داده را در زیر با هم مرور می کنیم:

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

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

۲٫ مقیاس پذیری
بیایید درمورد ساختمانی بلند در همسایگی شما فکر کنیم. اگر به شما حق انتخاب بدهند برای ورود افراد جدید به محله شما چه میکنید؟ به این ساختمان طبقات بیشتری را اضافه می کنید یا ساختمان جدیدی در همان نزدیکی احداث می کنید؟
این مثال برای بیان یک تفاوت مهم میان ب پایگاه داده SQL و NoSQL است. پایگاه های داده SQL عمودی و قابل مقیاس بندی هستند. این بدان معنی است که اضافه کردن داده های بیشتر بر روی یک سرور تنها می تواند با افزایش آپشن هایی مانند RAM، CPU یا SSD صورت پذیرد(طبقه های بیشتر را می توان به این ساختمان اضافه کرد). از سوی دیگر، پایگاه داده های NoSQL به صورت افقی و قابل مقیاس پذیری هستند. این به این معنی است که ترافیک بیشتری را می توان با حذف کردن یا اضافه کردن سرورهای بیشتر در پایگاه داده NoSQL خود انجام داد. (ساختمان های بیشتری را می توان به محله اضافه کرد).

در بلندمدت، بهتر است ساختمان های بیشتری از کف را اضافه کنید، زیرا پایدارتر است (شانس کمتر برای ایجاد یک برج پیزا !!!). بنابراین، NoSQL در نهایت می تواند بزگتر و قدرتمندتر شود، و می توان پایگاه داده های NoSQL را انتخاب دلخواه برای مجموعه های بزرگتر یا همیشه در حال تغییر دانست.

۳٫ شمای((schema طراحی
یک طرح به شمای یک پایگاه داده اشاره دارد، به این ترتیب که چگونه اطلاعات سازماندهی شده است. طرحواره پایگاه داده SQL و پایگاه داده NoSQL کاملا متفاوت است. اجازه دهید از شوخی استفاده کنیم تا این را درک کنیم. سه ادمین دیتا بیس در یک فروشگاه NOSQL در حال قدم زدن هستند اندکی بعد گیج و خسته از فروشگاه خارج می شوند چرا که نمی توانند محل استقرار خود را پیدا کنند.
این اساسا بدان معنی است که مدیران پایگاه داده به سختی می توانند یک جدول در NoSQL پیدا کنند، زیرا هیچ تعریف استاندارد اساسی برای پایگاه داده های NoSQL وجود ندارد. آنها به ترتیب الزامات هر دو جفت کلیدی-ارزش، پایگاه داده مبتنی بر اسناد، پایگاه داده های گراف یا فروشگاه های گسترده ستون هستند. از سوی دیگر، اگر آن مدیران پایگاه داده به یک نوار SQL رفته بودند، قطعا می توانستند جداول را پیدا کنند به عنوان پایگاه داده های SQL دارای یک جدول مبتنی بر جدول هستند.

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

۴٫ جامعه
SQL یک فناوری بالغ است و بسیاری از توسعه دهندگان با تجربه که آن را درک می کنند وجود دارند. همچنین پشتیبانی عالی برای تمام پایگاه داده های SQL از فروشندگان آنها در دسترس است. حتی تعداد زیادی از مشاوران مستقل وجود دارند که می توانند با پایگاه داده SQL برای راه اندازی های بسیار گسترده ای کمک کنند.

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

توسط دپارتمان آموزش کیسان دپارتمان آموزش کیسان بدون دیدگاه

۱۰ الگوریتم برتر داده کاوی

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

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

۱. C4.5
۲. k-means
۳. Support vector machines
۴. Apriori
۵. EM
۶. PageRank
۷. AdaBoost
۸. kNN
۹. Naive Bayes
۱۰. CART

۱. الگوریتم C4.5 :
الگوریتم C4.5 یک دسته‌بندی (classifier) را در قالب یک درخت تصمیم تولید می‌کند که دارای ۲ نوع گره است. یک گره به‌صورت برگ که یک دسته را مشخص می‌کند و یک گره تصمیم که آزمون‌هایی روی یک صفت انجام می‌دهد تا یک شاخه یا زیر درخت به ازای هر خروجی آزمون تولید می‌کند. حالا

classifier چیست؟
واژه classifier مفهومی فراتر و کلی تر از کلاس را دارد که علاوه بر کلاس، واسط ها و انواع داده ای را نیز پوشش می دهد.

الگوریتم C4.5 بهینه شده الگوریتم ID3 می باشد که از قانون هرس بعدی بهره می برد و می تواند صفاتی را که داده های نویزی و مقدار و همچنین صفات گسسته ندارند، استفاده نماید. در C4.5 فرض بر این است که کل داده های آموزشی در داخل حافظه باشند.
به جهت ساخت درخت تصمیم، فرض می کنیم که مجموعه داده های آموزشی که دارای برچسب کلاس مربوطه و بردار ویژگی ها هستند، در دسترس می باشند. معیارهای گوناگونی برای تقسیم بندی گره ها در درخت تصمیم وجود دارد که از عمومی ترین آنها، معیار ضریب بهره اطلاعات است که در C4.5 به کار می رد.
درخت تصمیم بر پایه آنالیز داده های ورودی و برای یافتن یک ویژگی بر مبنای تصمیم گیری برای هر نود استفاده می شود. ویژگی های گوناگونی از داده در هر نود بررسی می شود و یک ویژگی که اگر انتخاب شود، باعث خواهد شد که بی نظمی (آنتروپی) کاهش یابد، گزینش می شود. مبنای فعالیت نیز بر این اساس ایجاد شده است.

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

مشکلات روش خوشه‌بندی K-Means
علی‌رغم اینکه خاتمه پذیری الگوریتم بالا تضمین‌شده است ولی جواب نهایی آن واحد نبوده و همواره جوابی بهینه نمی‌باشد. به‌طورکلی روش ساده بالا دارای مشکلات زیر است.
جواب نهایی به انتخاب خوشه‌های اولیه وابستگی دارد.
روالی مشخص برای محاسبه اولیه مراکز خوشه‌ها وجود ندارد.
اگر در تکراری از الگوریتم تعداد داده‌های متعلق به خوشه‌ای صفر شد راهی برای تغییر و بهبود ادامه روش وجود ندارد. در این روش فرض شده است که تعداد خوشه‌ها از ابتدا مشخص است. اما معمولاً در کاربردهای زیادی تعداد خوشه‌ها مشخص نمی‌باشد.

۳. الگوریتم Support vector machines :
ماشین بردار پشتیبانی (Support vector machines – SVMs) یکی از روش‌های یادگیری بانظارت است که از آن برای طبقه‌بندی و رگرسیون استفاده می‌کنند.
این روش ازجمله روش‌های نسبتاً جدیدی است که در سال‌های اخیر کارایی خوبی نسبت به روش‌های قدیمی‌تر برای طبقه‌بندی ازجمله شبکه‌های عصبی پرسپترون نشان داده است. مبنای کاریدسته‌بندی کننده SVM دسته‌بندی خطی داده‌ها است و در تقسیم خطی داده‌ها سعی می‌کنیم خطی را انتخاب کنیم که حاشیه اطمینان بیشتری داشته باشد. حل معادل پیدا کردن خط بهینه برای داده‌ها به‌وسیله روش‌های QP که روش‌های شناخته‌شده‌ای در حل مسائل محدودیت دار هستند صورت می‌گیرد. قبل از تقسیمِ خطی برای اینکه ماشین بتواند داده‌های با پیچیدگی بالا را دسته‌بندی کند داده‌ها را به‌وسیلهٔ تابعِ phi به فضای با ابعاد خیلی بالاتر می‌بریم. برای اینکه بتوانیم مسئله ابعاد خیلی بالا را با استفاده از این روش‌ها حل کنیم از قضیه دوگانی لاگرانژ برای تبدیلِ مسئلهٔ مینیمم‌سازی موردنظر به فرم دوگانی آن‌که در آن به‌جای تابع پیچیدهٔ phi که ما را به فضایی با ابعاد بالا می‌برد، تابعِ ساده‌تری به نامِ تابع هسته که ضرب برداری تابع phi است ظاهر می‌شود استفاده می‌کنیم. از توابع هسته مختلفی ازجمله هسته‌های نمایی، چندجمله‌ای و سیگموید می‌توان استفاده نمود.

۴. الگوریتم Apriori:
آپریوری یک الگوریتم کلاسیک برای یادگیری قوانین وابستگی است. آپریوری روی پایگاه‌های داده شامل تراکنش‌ها (مثلاً مجموعه محصولات خریداری شده توسط مشتریان در یک سوپرمارکت) ساخته شده‌است. الگوریتم‌های دیگری نیز در این زمینه وجود دارند که روی پایگاه داده‌هایی کار می‌کنند که یا شامل تراکنش نیستند (Winepi و Minepi) و یا دارای ثبت زمانی نیستند (DNA sequencing).
ورودی این الگوریتم مجموعه‌ای از مجموعه آیتم‌ها است. الگوریتم تلاش می‌کند تا زیرمجموعه‌هایی از آیتم‌ها را که حداقل بین C مجموعه آیتم مشترک است بیابد. آپریوری یک الگوریتم پایین به بالا است، آنگونه که در هر مرحله یک آیتم به زیرمجموعه‌های مکرر اضافه می‌شود. مجموعه کاندیدها روی داده مورد ارزیابی قرار می‌گیرند. شرط خاتمه الگوریتم، عدم وجود شیوه توسعه موفق دیگری است.
هدف الگوریتم آپریوری، یافتن وابستگی‌ها بین مجموعه‌های مختلف از داده‌است. گاهی به آن، تحلیل سبد خرید هم می‌گویند. هر مجموعه‌ای از داده تعدادی آیتم دارد و تراکنش نامیده می‌شود.

۵. الگوریتم EM:
الگوریتم امید ریاضی-بیشینه‌سازی (EM) یک روش تکرارشونده (iterative) است که به دنبال یافتن برآوردی با بیشترین درست نمایی برای پارامترهای یک توزیع پارامتری است. این الگوریتم روش متداول برای زمان‌هایی است که برخی از متغیرهای تصادفی پنهان هستند.

۶. الگوریتم PageRank:
پیج‌رنک یا رتبه صفحه (به انگلیسی: PageRank) به فناوری گفته می‌شود که بر پایه آن موتورهای جستجویی همچون گوگل وب‌گاه‌هایی که به هدف جستجوگر نزدیک‌ترند را در رده‌های بالاتری نسبت به دیگران قرار می‌دهد. اصطلاح انگلیسی این مفهوم به دنبال لری پیج نویسنده اولیه این الگوریتم و از مؤسسین اولیه گوگل نام‌گذاری شده است. به این روش کاربرانی که کلمه ویژه‌ای را جستجو می‌کنند می‌توانند ابتدا وب‌گاه‌هایی را ببینند که هم به خواسته آن‌ها نزدیک‌تر است و هم بازدید بیشتری داشته است.

پیج رنک که به‌اختصار PR می‌گویند برای اولین بار در سال ۱۹۹۶ میلادی توسط Sergey Brin ابداع گردید، پیج رنک نتیجه تجزیه‌وتحلیل لینک‌های ورودی به یک سایت است، پیج رنک رتبه‌ای است که گوگل برای یک سایت بین اعداد ۰ تا ۱۰ در نظر می‌گیرد. هرقدر این عدد نزدیک به ۱۰ باشد نشان‌دهنده این است که این سایت لینک‌های ورودی زیادی دارد و سایتهای زیادی به این سایت لینک داده‌اند. روش دیگر موتورهای جستجو، پردازش رتبه صفحه، با استفاده از تعداد یافته‌های خود در سایتهای اینترنتی می‌باشد. این روش، یک فناوری زیرساخت برای پدیدار گشتن «بمب گوگلی» نیز بود. ناگفته نماند که هدف از ساختن «بمب‌های گوگلی» بالاتر رفتن رتبه یک وبلاگ یا وب‌گاه در موتور جستجوی گوگل می‌باشد که معمولاً با همکاری گروه‌های مردمی ایجاد می‌شود.

البته به‌جز گوگل شرکت‌های دیگری هم به رتبه دهی به سایتها می‌پردازند، که یکی از آن‌ها الکسا (به انگلیسی: Alexa) (یک سایت معتبر بین‌المللی و دارای نمودار رتبه جهانی برای سایت‌ها می‌باشد) نام دارد که الگوریتم بالا بردن رتبه سایت‌ها را بر اساس تعداد درست بازدیدکنندگان انجام می‌دهد. این رتبه‌بندی شماره‌ای بین ۱ تا چند میلیون می‌باشد که هرچه این شماره به یک نزدیک‌تر باشد رتبه وب‌سایت شما بالاتر می‌باشد.

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

۸. الگوریتم kNN:
جستجوی نزدیک‌ترین همسایه یا Nearest Neighbor، که همچنین با نامه‌ای جستجوی مجاورت، جستجوی همسانی یا جستجوی نزدیک‌ترین نقطه شناخته می‌شود، یک مسئله بهینه‌سازی برای پیدا کردن نزدیک‌ترین نقطه‌ها در فضاهای متریک است. مسئله بدین‌صورت است که: مجموعه S شامل تعدادی نقطه در یک فضای متریک مانند M و نیز یک نقطهٔ پرس و جوی q∈ M داده‌شده است، هدف پیدا کردن نزدیک‌ترین نقطه در S به q است. در بسیاری از موارد، فضای M به‌صورت یک فضای اقلیدسی d-بعدی و فاصله بین نقاط با معیار فاصله اقلیدسی، فاصله منهتن یا دیگر فاصله‌های متریک سنجیده می‌شود.
جستجوی k نزدیک‌ترین همسایه، K همسایه نزدیک‌تر به نقطه پرس‌وجو را برمی‌گرداند. این روش معمولاً در تجزیه‌وتحلیل پیش‌بینی، به‌منظور تخمین و یا دسته‌بندی یک نقطه بر اساس اجماع همسایگان آن استفاده می‌شود. گراف k نزدیک‌ترین همسایه گرافیست که در آن هر نقطه در گراف K نزدیک‌ترین همسایگان خود متصل است.

۹. الگوریتم Naive Bayes:
به طور ساده روش بیز روشی برای دسته بندی پدیده‌ها، بر پایه احتمال وقوع یا عدم وقوع یک پدیده‌است.
بر اساس ویژگی‌های ذاتی احتمال (به‌ویژه اشتراک احتمال) نایو بیز (به انگلیسی: Naive Bayes classifier) با دریافت تمرین اولیه نتایج خوبی ارائه خواهد کرد. شیوه یادگیری در روش نایو بیز از نوع یادگیری با ناظر (به انگلیسی: Supervised learning) است.
برای نمونه یک میوه ممکن است پرتغال باشد. اگر نارنجی و کروی با شعاع حدود ده سانتی‌متر باشد. اگر این احتمالات به‌درستی به همدیگر وابسته باشند نایو بیز در تشخیص اینکه این میوه پرتغال است یا نه به‌درستی عمل خواهد کرد.
برنامه‌های کاربردی بسیاری هستند که پارامترهای نایو بیز را تخمین می‌زنند، بنابراین افراد بدون سروکار داشتن با تئوری بیز می‌توانند از این امکان به‌منظور حل مسائل موردنظر بهره ببرند. باوجود مسائل طراحی و پیش‌فرض‌هایی که در خصوص روش بیز وجود دارد، این روش برای طبقه‌بندی کردن بیشتر مسائل در جهان واقعی، مناسب است.

۱۰. الگوریتم CART:
این روش که موجب تشکیل یک درخت تصمیم با تقسیمات دوتایی می‌گردد، توسط بریمن و همکارانش در سال ۱۹۸۴ به‌طور کامل معرفی شد. این روش برای متغیرهای کمی طراحی گردیده ولی قابل‌استفاده برای هر نوع متغیری است. بر اساس این الگوریتم، نرم‌افزار آماری تحت نام CART نیز ساخته‌شده است که از شناخته‌شده‌ترین برنامه‌ها است. در این روش و برای متغیر پاسخ کیفی، شاخص جینی ()Gini Index به‌عنوان معیاری برای انتخاب متغیرهای مناسب، معرفی‌شده است.

توسط دپارتمان آموزش کیسان دپارتمان آموزش کیسان بدون دیدگاه

data mining چیست؟

معرفی فرایندهای داده کاوی

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

بسیاری از سازمان ها در صنایع مختلف از مزایای استفاده از داده کاوی از جمله تولید، بازاریابی، پتروشیمی، هوا فضا و غیره بهره می برند تا کارآیی کسب و کارشان را افزایش دهند. بنابراین، نیاز ها برای ایجاد یک فرایند داده کاوی استاندارد افزایش یافت. فرآیند داده کاوی باید  قابل اطمینان و تکرار پذیر باشد و همچنین ساده تا افرادی با کوچکترین دانش در زمینه داده کاوی بتوانند از آن استفاده کنند. در نتیجه، در سال ۱۹۹۰، یک فرآیند استاندارد  صنعت داده کاوی (CRISP-DM) اپس از گذراندن بسیاری از کارگاه ها و کمک های بیش از ۳۰۰ سازمان، منتشر شد.

بیایید فرایند استاندارد صنعت داده کاوی را با جزئیات بیشتری بررسی کنیم.

فرایند استاندارد متقابل صنعت معدن داده  (CRISP-DM) شامل شش مرحله است که به عنوان فرایند چرخه ای به عنوان شکل زیر ذکر شده است:

داده کاوی (data mining)

فهم کسب و کار

در فاز درک کسب و کار:

ابتدا لازم است که اهداف کسب و کار را به وضوح درک کنید و نیازهای کسب و کار را بیابید.

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

پس ازااهداف کسب و کار و شرایط فعلی، ما باید اهداف داده کاوی را برای رسیدن به اهداف تجاری در وضعیت فعلی ایجاد کنیم.

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

درک اطلاعات

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

بعد، خصوصیات “ناخوشایند” یا “سطح” داده های به دست آمده باید با دقت مورد بررسی قرار گیرد و گزارش شود.

سپس، داده ها باید با بررسی سوالات داده کاوی مورد بررسی قرار گیرند، که می تواند با استفاده از query، گزارش دهی و تجسم بررسی شوند.

در نهایت کیفیت داده باید با پاسخ دادن به برخی از سوالات مهم مانند “آیا داده های به دست آمده کامل شده است”، “آیا داده های غلط در داده های به دست آمده وجود دارد؟”

تهیه داده ها

آماده سازی داده ها معمولا حدود ۹۰٪ زمان پروژه را مصرف می کند. نتیجه مرحله آماده سازی داده ها مجموعه داده نهایی است. هنگامی که منابع داده های موجود شناسایی می شوند، باید آنها را انتخاب، تمیز، ساخت و فرمت شده به فرم مورد نظر. وظیفه اکتشاف داده ها در عمق بیشتری ممکن است در طی این مرحله انجام شود تا الگوهای مبتنی بر درک کسب و کار را متوجه شوند.

مدل سازی

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

بعد، سناریو تست باید برای اعتبار کیفیت و اعتبار مدل ایجاد شود.

سپس، با استفاده از ابزار مدل سازی در مجموعه داده آماده، یک یا چند مدل ایجاد می شود.

در نهایت، مدل ها باید با دقت با توجه به ذینفعان بررسی شوند تا اطمینان حاصل شود که مدل های ایجاد شده با ابتکارات تجاری ملاقات می شود.

ارزیابی

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

گسترش

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

CRISP-DM چارچوب یکسانی برای مستند سازی و راهنمایی تجربه ارائه می دهد. علاوه بر این، CRISP-DM می تواند در صنایع مختلف با انواع داده های مختلف اعمال شود.

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

در دامه با سایر آموزش های ما در زمینه داده کاوی همراه باشید.

برای اگاهی از سر فصل ها آموزش data mining کلیک کنید