سلام خدمت همه دوستان توی این مطلب قصد دارم موضوع داده کاوی رو از صفر تا صد آموزش بدم
سلام خدمت همه دوستان توی این مطلب قصد دارم موضوع داده کاوی رو از صفر تا صد آموزش بدم
موضوع : داده کاوی چیست و به چه دردی می خوره؟
توی اولین پست قصد داریم به یک سوال کلیدی جواب بدیم
داده کاوی چیست و به چه دردی می خوره؟
ما داریم توی عصری زندگی میکنیم که حجم داده های که به صورت روزنامه تولید میشه چندین Terabytes یا حتی چندین petabytes است. این داده ها توی انواع شبکه های کامپیوتری موجود در سراسر دنیا، توی وب، پایگاه های داده های نرم افزارهای مختلف که توسط کسب و کارهای زیادی توی دنیا دارن استفاده میشن (از حوزه پزشکی و بگیرید تا حوزه های مهندسی)
سوال اصلی که پیش می آد و شروعی میشه بر داده کاوی اینکه “این همه داده رو چطوری باید پردازش کنیم؟”. مسلما از عهده انسان پردازش این همه داده حجیم بر نمی آید. اینجاست که داده کاوی و تکنیک ها ای اون به کمک ما می آد تا بتونیم از دل این حجم بالای داده (Data) ، اطلاعات مفید (Information) رو استخراج کنیم.
پس میشه داده کاوی رو به طور خلاصه (غیر علمی) به صورت زیر تعریف کرد : داده کاوی شامل تکنیک ها و ابزارهای میشه که به ما کمک میکنه از حجم بالای داده ها ذخیره شده، اطلاعات سودمندی رو استخراج کنیم که استخراج اونا توسط انسان و تکنیک های ساده پردازش داده غیر ممکن است.
منبع
http://mrmining.ir/2016/10/14/%D8%AF...1%D9%87%D8%9F/
داده کاوی نتیجه بلوغ پایگاه داده ها
قبل از توضیح ارتباط بین پایگاه داده و داده کاوی، لازمه تا مفهوم پایگاه داده رو بدونیم: یک پایگاه داده در واقع یک ساختار برای نگهداری اطلاعات است. این ساختار به گونه ای طراحی شده که دسترسی، مدیریت و به روز رسانی اطلاعات در آن به راحتی انجام بشه.
در دهه 1960 و قبلترش، تمرکز در حوزه پایگاه داده ها معطوف به فایل های اولیه بود. و بیشتر فعالیت ها در حوزه پردازش، ذخیره سازی، بازیابی و به روز رسانی ساختارهای نگهداری داده در فایل های اولیه بود.
در دهه 1970 پایگاه داده ای شبکه ای و سلسله مراتبی به وجود آمد و بعدش پایگاه داده ای رابطه ای به وجو داومدند که در حال حاضر پرکاربرد ترین نوع پایگاه داده ها هستند. با توجه به اینکه پایگاه داده های رابطه ای از محبوبیت فوق العاده ای برخوردار بودند تلاش های زیادی در حوزه های مرتبط با آنها صورت گرفت. مهمترین این حوزه ها عبارتند از
متدهای دسترسی و ایندکس گذاری پایگاه داده
زبان های پرس و جوی اطلاعات ذخیره شده در پایگاه داده های رابطه ای که معروف ترین و پرکاربرد ترین اونا SQL است.
تلاش برای بهینه سازی پرس و جوها از اطلاعات ذخیره شده در پایگاه داده
گزارشات، فرم و رابط کاربری
پردازش های برخط از اطلاعات ذخیره شده در پایگاه داده
از اواسط دهه 1980 مدل های داده ای پیشرفته، مدیریت داده های پیچیده، پایگاه داده ای مبتنی بر وب، مدیریت داده های غیر قطعی و پاک سازی داده، یکپارچه سازی داده و … بسیار مورد توجه بود. در واقع این مفاهیم پیش نیاز های ظهور مفهوم داده کاوی و کشف دانش بود. (در مورد هر یک از این پیشنیاز ها بعدا مفصل صحبت میکنیم)
در اواخر دهه 1980 بود که کم کم مفهوم انباره داده، داده کاوی و کشف دانش به وجود آمد.
در نتیجه می توان تعریف جدیدی را برای پایگاه داده مطرح کرد. در واقع داده کاوی علمی است که با استفاده از اون داده های ذخیره شده در یک پایگاه داده رو تحلیل و پردازش می کنیم تا بتونیم ازش اطلاعات مفید رو استخراج کنیم. نکته مهم توی این تعریف اینه که داده کاوی ، ذخیره سازی داده رو در بر میگیره . در نتیجه ذخیره سازی بهینه داده می تونه یک عامل مهم در کشف دانش پنهان در اونها باشه. در نوشته های بعدی در مورد ارتباط بین ذخیره سازی داده ها ، نرمال سازی داده ها و … با تکنیک های داده کاوی بیشتر صحبت میکنیم.
توی این نوشته قصد داشتم شما رو با تاریخچه داده کاوی آشنا کنم، به طور خلاصه دیدیم که توسعه و پیشرفت در حوزه پایگاه های داده، منجر به شکلی گیری علم داده کاوی و کشف دانش شد.
منبع
http://mrmining.ir/2016/10/15/%D8%AF...-%D9%87%D8%A7/
با سلام
فکر کنم پیشروترین شرکت در زمینه مفاهیم مرتبط با داده کاوی با ارائه محصولاتی انحصاری در این زمینه شرکت اوراکل باشد . شرکتی که هم در زمینه ذخیره سازی داده های با حجم بالا حرف اول را می زند هم در زمینه ارائه محصولاتی که به ما در تصمیم گیری های کلان مرتبط با داده ها کمک شایان توجهی می کند.
گام اول داده کاوی : شناخت داده ها
هر چه شناخت ما از دادهها بیشتری باشه، خروجی داده کاوی مفیدتر و کاربردیتر خواهد بود.توی این مطلب و چند مطلب بعدی میخواهیم یکم در مورد دادهها و ویژگیهای اونا صحبت کنیم.
ابتدا لازمه تا انواع دادههای که ممکنه باهاش سروکار داشته باشید رو معرفی میکنیم
دادههای Nominal : مقادیری که این دادههای می گیرن شامل یک رنج میشه. مثلاً شغل فرد. مقادیری که داده میگیره میتونه معلم، پزشک، برنامه نویس، کشاورز و … باشه
دادههای Binary: این دادهها رو میشه یک زیر مجموعه از Nominal دونیت که مقداریش شامل دو حالت بیشتر نیست. مثلاً جنسیت می تونه مرد یا زن باشه. یا مثلاً سیگاری بودن فرد که می تونه بله/خیر باشه.
دادههای Ordinal: این دادههای هم یک حالت خاص از دادههای Nominal هستند. مهمترین تفاوت این دسته با Nominal اینکه، مقادیری که قبول میکنه دارای یک ترتیب هستند. یک نمونه از این موارد سطح تحصیلات فرد است (دیپلم، فوق دیپلم، کارشناسی، کارشناسی ارشد و دکتری)
بقیه انواع دادههای رو توی مطالب بعدی معرفی میکنیم.
یک سؤال مهم خوب دونستن اینکه دادههای توی این سه دسته قرار مگیرین چه مزیتی داره. قصد ندارم وارد بحثهای تخصصی بشم ولی وقتی ما بدونیم داده ما یکی از سه مورد بالا هست، باید حواسمونن باشه تعریف ویژگیهای مانند میانگین، میانه، مقدار کمینه (minimum)، مقدار بیشینه (maximum)، برای اونا بدون معنا است.
خوب این کجا به درد می خوره. بعضی از الگوریتمها داده کاوی نوع داده رو محدود میکنن به انواعی که بشه از اونا مثلاً میانگین و میانه و … گرفت. خوب اگر از یکی از داده های فوق توی اون الگوریتم ها استفاده کنیم ممکنه نتایج مطلوبی به همراه نداشته باشه
http://mrmining.ir/2016/10/18/%DA%AF...-%D9%87%D8%A7/
بررسی انواع داده Interval-Scaled/Ratio-Scaled و Discrete/Continuous (گسسته و پیوسته) در داده کاوی
در ادامه مطلب قبلی، به بررسی عنوان دادههای که در داده کاوی میپردازیم. در این مطلب دادهای Interval-Scaled/ Ratio-Scaledو Discrete/Continuous (گسسته و پیوسته) را معرفی میکنیم.
دادههای Interval-Scaled و Ratio-Scaled:
دادههای Interval-Scaled : در این نوع دادههای عددی، بین هر دو داده متوالی آن یک فاصله واحد یکسان وجود دارد، مقادیر این دادهها میتواند مثبت، منفی و صفر باشد. به عنوان مثال نمره کسب شده در یک آزمون تستی. فرض کنید هر سؤال درست سه نمره مثبت دارد و هر سؤال منفی یک نمره منفی دارد. در این صورت نمره کسب شده میتواند مثبت، 0 یا منفی باشد. دادههای Interval-Scaled دارای ترتیب میباشند و فاصله هر دو داده متوالی با یک دیگر برابر است.
دادههای Ratio-Scaled: این دادههای دارای یک مبدأ 0 هستند و محدوده آنها میتواند صفر و یا مثبت باشد. به عنوان مثال سابقه کاری افراد را یک داده Ratio-Scaled است. هر فرد یا سابقه کاری ندارد (0 سال) و یا بیشتر (1 سال، 2 سال و …).
منبع
http://mrmining.ir/2016/10/23/%D8%A8...%D9%87-%D9%BE/
پیش پردازش داده ها Data Preprocessing
پیش پردازش داده ها (Data Preprocessing) اولین گام در داده کاوی می باشد و یکی از گام های مهم آن نیز به شمار می آید.
شاید اولین سوالی که پیش بیایید این است که پیش پردازش داده ها به چه دردی می خوره؟
داده های که امروز در پایگاه داده های مختلف نگهداری می شن معولا سه تا نقض بزرگ دارن : 1- بعضی داده ها noisy هستن، بعضی از مقادیر داده ها وجود نداره (missing)، و بعضی موارد هم ناسازگاری بین داده ها وجود داره.. این نقایص توی داده های حجم بسیار بیشتر است و به همین خاطر توجه به آنها بسیار مهم است.
همانطور که بیان داده های نامناسب خروجی های داده کاوی نیز غیر مفید خواهند کرد. به همین خاطر ما تو پیش پردازش سعی میکنیم 1- داده های noisy و missing و ناسازگار رو شناسایی کنیم 2- و به بهترین شیوه ممکن این نقایض رو رفع کنیم. تا بتوانیم خروجی های مطلوبی از داده کاوی، داده های داشته باشیم.
مهمترین تکنیک های پیش پردازش داده ها عبارتند از
تکنیکهای پاکسازی داده یا Data cleaning: که هدف اونها از بین برده دادههای noisy و ناسازگاریهای بین داده ها است.
تکنیکهای پاکسازی داده Data integration: از آنجایی که ممکن است دادهها از منابع مختلفی جمع آوری شده باشند، نیاز به یکپارچگی بین آنها است.
تکنیکهای کاهش داده Data reduction: توی حجم بالای داده ممکن است بعضی از دادههای غیر مفید هم وجود داشته باشه و نیاز نباشه همه دادهها توی پردازش نهایی باشن، تکنیکهای Data reduction اینجا کاربرد دارن
تکنیکهای Data transformations: این الگوریتم هیا بیشتر زمانی به درد میخورند که قصد داشته باشیم نرمال سازی های رو روی دادهها انجام بدیم
تا اینجا فک کنم برای شروع پیش پردازش داده ها کافی باشه توی مطالب بعدی تک تک مفاهیم بیان شده در بالا رو توضیح میدیم به همراه مثالهای متنوع.
منبع
http://mrmining.ir/2016/10/24/%D9%BE...preprocessing/
نمونه کاربردی از داده کاوی در افزایش فروش محصول
در این مطلب یک نمونه واقعی از کاربرد داده کاوی در افزایش فروش محصول رو توی یک سوپر مارکت بررسی میکنیم.
در یک نمونه کاربردی داده کاوی، داده های ذخیره شده در حوزه فروش محصولات یک سوپر مارکت مورد بررسی و تحلیل قرار گرفت و مشخص شد که ارتباط معناداری بین فروش نوشیدنی ها الکلی و پوشک بچه وجود دارد. یک نکته توی پرانتز بگم، “ارتباط معنا دار” یکی از اون کلماتی است که در تحلیل نتایج داده کاوی باهاش خیلی بخورد می کنیم. ارتباط معنا دار توی این مورد به این معنا است که، از بین مشتریانی که مشروبات الکلی می خریده، تعداد قابل توجهی پوشک هم می خریدن.
با بررسی دقیقتر نتایج مشخص شد که این اتفاق نتیجه قرار گیری تصادفی این دو محصول کنار یکدیگر است. این قرارگیری تصادفی بدون داشتن هیچ دانش قبلی از رفتار خرید مشتریان و کاملاً تصادفی بوده.
تحلیل نتایج داده کاوی مشخص کرده بود که، پدرانی که فرزند دارند و آخر شب برای خرید پوشک میآیند، وقتی که مشروبات الکی رو کنار پوشک میدیدند ترغیب میشدند که اون رو هم بخرن. با بررسی بیشتر دادههای این سوپر مارکت الگوهای موثر دیگری نیز از رفتار خرید مشتریان به دست اومده که فعلاً به همین مقدار بسنده میکنیم. بعدها به این مثال بر میگردیم. این نمونه اولین نمونه ما از استفاده داده کاوی در افزایش فروش محصول بود.
خروجی داده کاوی برای این سوپر مارکت در نهایت چی شد؟
شناسایی رفتار خرید مشتریان
(یک جوری نتیجه مورد اول هستش و مهمتر از اون) ارائه یک چینش بهینه از کالاها و محصولات فروشگاه در جهت افزایش فروش (استفاده از داده کاوی در افزایش فروش محصول)
منبع
http://mrmining.ir/2016/10/26/%D9%86...-%D9%81%D8%B1/
کاربرد داده کاوی در حوزه سلامت
در این مطلب به کاربرد داده کاوی در حوزه سلامت می پردازیم. داده کاوی در بخش های مختلفی از حوزه سلامت می تواند کاربرد داشته باشد. در این مطلب تنها به یکی از آنها اشاره می کنیم.
زمانی که یک بیمار به پزشک مراجعه میکند، اطلاعات زیر میتواند به تشخیص بهتر درمان کمک کند:
اطلاعاتی که بیمار خودش در اختیار پزشک قرار میدهد. این اطلاعات معمولاً توسط خود بیمارا ارائه میشود و از مهمترین منابع برای تشخیص بیماری است.
سابقه بیمار: یکی دیگر از منابعی که میتواند به پزشک برای تشخیص بهتر بیماری، کمک کند، “سابقه پزشکی” فرد است. هر چه اطلاعات مربوط به سابقه پزشکی کاملتر باشد، مسلماً پزشک میتواند با اطمینان بیشتری بیماری را تشخیص دهد.
سابقه بیمارانی که شرایط بیمار فعلی را دارند نیز میتواند به عنوان یک منبع اطلاعاتی مهم برای درمان بیمار به کار گرفته شود.
با توجه به مطالب بیان شده در بالا، هر چه میزان اطلاعات پزشک بیشتر باشد تشخیص صحیح بیماری با اطمینان بالاتر انجام میشود. نکته مهمی که در این باید به آن توجه داشت این است که هر چه میزان دادهها بیشتر باشد نتیجه بهتری میگیریم، اما اگر این دادهها بسیار زیاد باشد، بررسی و نتیجه گیری بر اساس آنها از عهده یک نفر بر نمیآید. این نقطه دقیقاً محل ورود داده کاوی به حوزه سلامت است.
امروز بسیاری از بیمارستانهای پیشرفته دنیا، با استفاده از تکنیکها و ابزارهای داده کاوی، حجم بالای از دادههای پزشکی را تحلیل و بررسی میکنند. خروجی داده کاوی میتواند منجر به تجویز و ارائه بهترین راه برای بهبودی بیمار شود.
داده کاوی در حوزه سلامت محدود به مثال بالا نمی شود و نمونه ها و تحقیقات زیاد در این زمینه انجام شده است که در مطالب بعدی نمونه های از آنها را با جزییات بیشتری بررسی می کنیم.
منبع
http://mrmining.ir/2016/10/31/%DA%A9...7%D9%85%D8%AA/
کاربرد داده کاوی در تشخیص تخلفات قانونی
یکی از مهمترین کارکردها داده کاوی در فعالیت های قانونی، کمک به اجرای دقیق قانون است. ابتدا یک تعریف از داده کاوی ارائه میدیم که تعریف قبلی رو کمی کاملتر می کنه. داده کاوی ابزاری است که به ما کمک میکند تا اطلاعات (Information) را از دادهها(Data) استخراج کنیم. ما به این فرایند می گیم کشف دانش (knowledge discovery). کشف دانش به کمک ما کمک میکند تا الگوهای مناسب رو از دل دادههای با حجم بالا استخراج کنیم.
بازرسانی که در حوزه کشف تخلفات قانونی کار میکنند، معمولاً حجم بالایی از اطلاعات رو مورد بررسی قرار میدهند که شامل 1) دادههای موجود در سازمانها که مورد بررسی قرار میگیرند، 2) تجربیات و دانشی که خود بازرس دارد و 3) پروندههای که قبلاً برسی کردهاند و سایر منابع دادهای. هر چه میزان این دادهها بیشتر باشد تجربه فرد کاملتر میشود و میتواند تخلفات را راحت تر شناسایی کند.
اگر بخواهیم با استفاده از تعریف بالا، پاراگراف قبلی رو ترجمه میکنیم می شه: معمولاً بازرسان با توجه به دانشی که دارند یک سری الگو مهم را برای خود تببین میکنند که میتواند به عنوان راهنما برای شناسایی تخلفات به کار گرفته شوند. به عبارت دیگر وقتی شواهد نشان دهد که فرایندهای یک سازمان با الگوهای تخلفات تبیین شده توسط بازرس همخوانی دارد، میتواند نشان دهنده شرایطی باشد که احتمالاً تخلفی رخ خواهد داد.
وقتی حجم دادهها بالا برود تحلیل و بررسی آنها و کشف الگوها، کمی زمانبر و سخت میشود. داده کاوی میتواند در این زمینه به افراد بازرسان در تبیین الگوها دقیقتر و مطمئنتر کمک کند.
کارکردهای دیگر داده کاوی در تشخیص تخلفات قانونی، به شرح زیر است
1- با جمع آوری داده های بازرسان در حوزههای مختلف ، میتوان سازمانها را بر اساس اینکه کدام نوع تخلفات در آنها شایعتر است دسته بندی کند.
2- داده کاوی میتواند پیش بینی را در مورد تخلفات آتی بعضی از سازمانها ارائه دهد. به عنوان مثال اگر ما یک الگو کشف کرده باشیم و فعالیتهای یک سازمان با آن الگو منطبق است میتواند سایر فعالیتهای که احتمالاً آن سازمان انجام خواهد داد را بر اساس الگوی کشف شده، تشخیص دهیم.
منبع
http://mrmining.ir/2016/11/01/%DA%A9...6%D9%88%D9%86/
هدف پیش پردازش داده (Data Preprocessing) ایجاد داده های کامل، سازگار و دقیق
هدف پیش پردازش داده این است که بتوانیم داده های دقیق ( accuracy )، کامل ( completeness ) و سازگار ( consistency ) برای انجام داده کاوی داشته باشیم. همانطور که تا کنون چندین بار اشاره کردیم، داده کاوی بسیار به مناسب بودن داده ای که برای پردازش به ما داده میشود وابسته است. هر چه داده ها دقیق تر، سازگارتر و کامل تر باشند نتایج حاصل از داده کاوی نیز به همان اندازه مفیدتر و سودمندتر خواهند بود.
ما گفتیم داده ها باید دقیق ، کامل و سازگار باشند. ابن به چه معناست. با یک مثال این سه واژه رو توضیح میدیم. فرض کنید داده های یک شرکت فروش قطعات الکترونیکی رو به ما دادن تا داده کاوی انجام بدیم. فرض میکنیم اهداف انجام داده کاوی، توسط مدیران شرکت مشخص شده است. حالا داده های شرکت می خواهیم یک نگاهی بندازیم. خوب توی این داده ها چه معایب و نقایصی رو ممکن است بهش بخوریم (برای هر نمونه برای مشخص شده هدف پیش پردازش داده مثال های بیان شده است):
داده های ناقص (incomplete) : مثال های از داده های ناقص
عدم وجود مقدار برای یکی از داده های که به آن نیاز داریم : فرض کنید برای داده کاوی ما به نام محصول، قیمت و تعداد محصول فروش رفته از هر محصول نیاز داریم، اولین مشکلی که ممکن است با آن برخورد کنیم آن است، در بعضی موارد اطلاعات یکی از سه قلم ذکر شده ثبت نشده باشه. این خودش یک نوع داده ناقص است.
داده ای که به آن نیاز داریم ولی اصلا ذخیره نشده است : فرض کنید در یک گام داده کاوی نیاز داشته باشید بدانید که آیا برای یک محصول خاص تبلیغیات تلویزیونی انجام شده است یا خیر. مشکلی که ممکن است اینجا رخ بدهد این است که، اصلاً همچنین دادهای ثبت نشده است. (تفاوت با بالایی این است که آنجا ممکن در بعضی از موارد مثلا نام کالا ثبت نشده باشد، در این مثال اصلا همچین داده ای ذخیره نشده است)
داده غیر دقیق (inaccurate or noisy): مثال های از داده های غیر دقیق
خطاها در دادههای وارد شده: کاربر به جای قیمت، تعداد کالا را وارد کرده باشه. یا اینکه مقدار منفی برای تعداد کالای فروخته شده وارد کرده باشد (بر خلاف داده های ناقص در داده های غیر دقیق، مقدار وجود دارد ولی نادرست است)
داده ناسازگار (inconsistent) : مثال های از داده های ناسازگار
در یک کاربر کد کالای خازن را 1005 وارد کرده و یک کاربر دیگر کد 1008 را برای خازن وارد کرده است.
یک کاربر سوییچ را با دو تا “ی” وارد کرده است و یک سوئیچ را با یک “ئ” و یک “ی” وارد کرده است.
برای اینکه ما بتونیم داده کاوی رو بخوبی انجام بدیم باید بتونیم این داده های ناقص، ناسازگار و غیر دقیق رو تبدیل کنیم به داده های دقیق، سازگار و کامل. در مطالب بعدی این موارد رو به صورت کامل به همراه تکنیک های اون بررسی میکنیم. به عبارت دیگر هدف پیش پردازش داده داشتن داده های بدون مشکل است.
منبع
http://mrmining.ir/2016/11/07/%D9%87...7%D8%A7%DB%8C/
پیش پردازش داده ها : منشاء ایجاد داده های غیر دقیق (inaccurate)
همانطور که در مطلب قبل (پیش پردازش داده ها) بیان کردیم د وجود دادههای ناقص، غیر دقیق و ناسازگار در پایگاه داده های بزرگ دور از انتظار نیست و معمولا یکی از مشکلات کار با پایگاه داده های بزرگ است. اشنایی با این داده ها و منشاء انها می تواند در پیش پردازش داده ها بیسیار موثر باشد. در این مطلب قصد داریم دلایل ایجاد اینگونه دادههای نامناسب را بررسی کنیم.
شناسایی دلایل ایجاد هر نوع از داده ها ناقص، غیر دقیق و ناسازگار، یک پیش نیاز برای گام پیش پردازش داده ها می باشد.
در این بخش دلایل ایجاد داده های نادقیق را بررسی میکنیم
ابزارهای جمع آوری داده ممکن است دارای خطا باشند: در بسیاری از حوزه ها ثبت اطلاعات و داده ها توسط ابزارها انجام می شود و اگر ابزارها دچار مشکل بشوند ممکن است داده های دارای خطا و نامعتبر را ثبت کنند. به عنوان نمونه میتوان به داده های هواشناسایی اشاره کرد. فرض کنیدبه علت مشکلی که در دما سنج مورد استفاده به علت ایجاد مشکل دما را با 2 درجه اختلاف نمایش دهد. این امر باعث می شود که اطلاعات نادرست ثبت گردد. ممکن است بزاری که جمع آوری داده را انجام میدهد دقت مورد نظر ما را نداشته باشد.
خطاهای انسانی در ثبت داده: هر چه میزان افرادی که با یک سیستم کار میکنند بیشتر شود احتمال رخ دادن خطای انسانی بیشتر می شود. به عنوان مثال کاربر ممکن است تعداد کالای وارد شده را منفی وارد کند. بخشی زیادی از این گونه خطاها را می توان به کمک برنامه نویسی و کنترل های که روی ورودی داده داریم، رفع کنیم. اما بعضی از انواع خطاها به راحتی قابل تشخصی نیستند. به عنوان مثال یک کاربر ممکن است تاریخ تولد یا شماره تماس خود را اشتباه وارد کند. این نوع خطاها با عنوان خطاهای “خطاهای پنهان” یاد می شوند و از بدترین نوع داده های غیر دقیق هستند، زیرا پی بردن به داده اشتباه بسیار سخت و در بعضی موراد غیر ممکن است.
خطا در انتقال داده: خطاهای انتقال می تواند منشاء ابزاری یا انسانی داشته باشند
منشاء ابزاری: فرض کنید ما قصد داریم دو پایگاه داده را بر روی دو سیستم مختلف با یکدیگر ترکیب کنیم. یکی از اتفاقاتی که هنگام انتقال داده می تواند رخ دهد مشکلات مربوط به بافر است. به عنوان مثال در زمان همگام سازی داده ها، محدودیت های اندازه بافر می تواند باعث ثبت داده نامعتبر گردد.
منشأ انسانی: فرض کنید ما دو تا پایگاه داده داریم که در یکی از آنها جنسیت افراد به صورت “مرد” یا “زن” ذخیره شده است و در پایگاه داده دیگر جنسیت با “0” و “1” ذخیره شده است، صفر به معنای این است که کاربر زن است و یک به معنای این است که کاربر مرد است. هنگام که می خواهیم داده ها را یکسان کنیم (مثلا همه را به قالب “مرد” یا “زن” تبدیل کنیم) ممکن است در تبدیل داده ها خطا رخ دهد.
تا اینجا انواع دلایل مربوط به داده های غیردقیق را بررسی کردیم در مطالب بعدی دلایل به وجود آمدن داده های ناقص و ناسازگار را نیز بررسی خواهیم کرد و پس از آن وارد بحث پیش پردازش داده ها می شویم. و مهمترین فعالیت های حوزه پیش پردازش داده ها را مورد بررسی قرار می دهیم.
منبع
http://mrmining.ir/2016/11/11/%D9%BE...-%D9%87%D8%A7/
پیش پردازش داده ها : منشاء ایجاد داده های ناقص (Incomplete)
همانطور که درقبلا بیان کردیم وجود دادههای ناقص، غیر دقیق و ناسازگار در پایگاه داده های بزرگ دور از انتظار نیست و معمولا یکی از مشکلات کار با پایگاه داده های بزرگ است.
داده های ناقص بر خلاف داده های غیر دقیق اصلا وجود ندارد. به عبارت دیگر در داده های غیر دقیق ممکن بود داده های نامعتبر درج شوند، ولی در داده های ناقص ممکن است، بخشی از اطلاعات وجود نداشته باشد.
با توجه به اهمیت داده های ناقص در این مطلب قصد داریم مهمترین دلایل به وجود آمدن داده های ناقص را بررسی کنیم:
1.عدم دسترسی به داده ها در هنگام ثبت داده ها: ممکن است داده های که ما به آنها نیاز داریم در زمان ثبت دادهها در دسترس نبوده باشد. فرض کنید قرار است برای هر ایرانی یک کارت هوشمند ملی صادر شود و هر فرد برای خودش یک کد اختصاصی خواهد داشت. این طرح قرار است از آخر امسال اجرا شود. سازمان ما برنامه ای دارد که در آن اطلاعات مشتریان ثبت شده است. با توجه به اینکه تا چند وقت دیگر هر فردی یک کد ملی هوشمند خواهد داشت، ما بخشی را به نرم افزارهای شرکت اضافه کرده ایم که کد ملی هوشمند مشتریان را نیز در یافت کند. حال فرض کنید دو سال از اجرای طرح گذشته است. سوال مهم اینجاست که آیا همه مشتریان ما کد ملی هوشمند ثبت شده دارند؟ پاسخ منفی است. مشتریانی قبل از اجرای کارت ملی هوشمند، اطلاعاتشان ثبت شده است این بخش داده ای وجود ندارد. پس داده ناقص در پایگاه داده خواهیم داشت.
2.داده های که در زمان ثبت مهم نبودند ولی بعدا مهم شده: یک مثال واقعی از این نوع داده ها، ثبت اطلاعات در اپراتورهای همراه بود. در ابتدا که افراد برای خرید سیم کارت به اپراتورها مراجعه می کردند اطلاعات کد ملی آنها دریافت نمی شود چون مهم نبود. بعد از گذشت مدتی با توجه به بعضی از سوء استفاده های که از سیم کارتهای خریداری شده می شود. ثبت کد ملی، خریدار سیم کارت اجباری شد. ثبت کد ملی سیم کارت های فروش رفته قبلی یکی از معضلات اپراتورهای همراه بود که راه حل های نیز توسط اپراتورها در پیش گرفته شد تا بتوانن این داده ناقص را کامل کنند.
3.عدم ثبت داده به علت غیر قابل فهم بودن یا اشتباه سخت افزاری: یک شرکت خدماتی را فرض کنید که اطلاعات مشتریان خود را ثبت میکند. بعضی مواقع اطلاعات شناسنامه ای مربوط خریدار (مثلا نام پدر) به دلایلی مانند عجله بخش پذیرش شرکت، ناخوانا بوده اطلاعات شناسنامه ای، همراه نداشتن شناسنامه مشتری و … ممکن است این اطلاعات درج نگردد.
تا اینجا انواع دلایل مربوط به داده های غیردقیق و ناقص را بررسی کردیم در مطلب بعدی دلایل به وجود آمدن داده های ناسازگار را نیز بررسی خواهیم کرد و پس از آن وارد بحث پیش پردازش داده ها می شویم.
منبع (اطلاعات بیشتر)
http://mrmining.ir/2016/11/20/%D9%BE...D9%87%D8%A7-2/
پیش پردازش داده ها : نکات تکمیلی در مورد داده های ناقص، ناسازگار و غیر دقیق
در این قسمت آخرین بخش مربوط به این حوزه پیش پردازش داده ها را ارائه خواهیم دارد
•دادههای که با سایر دادههای ناسازگاری دارند باید از مجموعه داده هاحذف شوند.
•در بعضی از مواقع پیشینه (تاریخچه) مربوط به دادهها و یا اطلاعات مربوط به زمان تغییرات دادهها نیز نگهداری می شود. در صورت عدم نیاز به آنها ، این اطلاعات را حذف کنیم.
•دادههای که مقادیر گم شده دارند یا به عبارت دیگر برای آنها مقادیری وجود ندارد باید بر اساس سایر ویژگیهای مرتبط با آنها استنتاج شوند و مقادیر مناسب برای آنها تولید گردد.
اهمیت کاربر استفاده کننده از داده ها : نکته دیگر در مورد دادههای این است که کیفیت داده های تولید شده بسیار به کسی که می خواهد از آن استفاده کند وابسته است. به عنوان مثال فرض کنید ما اطلاعات مربوط به آدرس مشتریان را در اختیار داریم. فرض کنیددر داده های موجود، اطلاعات آدرس 80 مشتریان وجود دارد و 20 درصد از آدرس مربوط به مشتریان یا دیگر معتبر نیست (مثلا مشتری نقل مکان کرده است) و یا اشتباه ثبت شده است. میزان کیفیت این اطلاعات را می اوانیم از دیدگاه دو دسته متقاضی بررسی کنیم
•تحلیلگر بازار: این حجم داده (80 درصد آدرس مشتریان) برای تحلیل گران می تواند حجم مناسبی از داده ها باشد و از لحاظ آنها، این مقدار داده هم کافی است و هم دقیق
•مدیر فروش: از دید مدیر فروش این داده ولی ممکن است ناقص و غیر کاربردی باشد.
در نتیجه در نظر گرفته کسی که به دادها نیاز دارد یک اصل مهم در تعیین داده ها ناقص، ناسازگار و غیر دقیق است.
دوتا معیار دیگر که بسیار به کاربر واسته است به شرح زیر است
1- Believability : به معنای این است که کاربر چقدر باور دارد که دادههای موجود درست است.
2- Interpretability : اینکه داده های موجود از دید کاربر چقدر قابل فهم است.
از آنجایی که این دو معیار چندان به تکنیک های داده کاوی ارتباطی ندارد در این بخش تنها به آنها اشاره داشتیم.
منبع (اطلاعات بیشتر)
http://mrmining.ir/2016/11/22/%D9%BE...8%D8%B1%D8%AF/
چرخه داده کاوی
توی مطالب که تا اینجا در مورد داده کاوی گفتیم هدف ما این بود که یک سری پیش نیاز از داده کاوی رو ارائه بدیم. این پیش نیاز ها برای ادامه مسیر بسیار ضروری است پس نیاز است تا یک نگاهی به اونها داشته باشید.
از اینجا به بعد قصد داریم گام های داده کاوی رو معرفی و بررسی کنیم. در واقع قصد داریم هر یک از گام های داده کاوی رو به صورت جزیی تر همراه با معرفی تکنیک های هر گام و مثال های متنوع بیان کنیم. گام های یا چرخه داده کاوی توی شکل زیر نشان داده شده است
Untitled.png
یک تفسیر ساده از چرخه داده کاوی (تصویر بالا) به این صورت است
گام اول : معمولا داده های که ما برای داده کاوی نیاز داریم در منابع و پایگاه داده های مختلف وجود دارد. در نتیجه در اولین گام نیاز است تا این داده ها یکپارچه سازی بشن. یکی دیگر از فعالیت های مهم در گام اول پاکسازی داده ها است. معمولا داده ها در منابع اطلاعاتی بزرگ ناقص، غیر دقیق و ناسازگار هستند در نتیجه نیاز است تا داده های معتبر برای فعالیت های بعدی ایجاد گردد. خروجی این گام داده های معتبر و یکپارچه است.
گام دوم : یک نکته مهم در مورد داده ها این است که همیشه، همه داده ها مورد نیاز نیست و بسته به اهدافی که داریم ممکن است بخش های از داده ها مورد نیاز باشد. از این رو گام دوم نیاز است تا تنها داده های مفید و مناسب کارمون رو از بین حجم زیاد داده انتخاب کنیم.
گام سوم : اجرای تکنیک های داده کاوی بر روی داده ها است. خروجی این گام همانطور که بارها گفته ایم یک سری الگو و اطلاعات است که در نگاه اول در حجم بالای داده غیر قابل تشخیص است
گام چهارم : ارزیابی الگوهای استخراج شده در گام سوم ، آخرین گام از داده کاوی می باشد. خروجی این گام اطلاعات مفید و معتبر است که در اختیار تصمیم گیرندگان قرار می گیرد.
منتظر مطالب بعدی باشید.
منبع
http://mrmining.ir/2016/11/25/%DA%86...7%D9%88%DB%8C/
پیش پردازش دادهها : پاکسازی داده، یکپارچه سازی داده، کاهش داده و تبدیل داده
همانطور که توی قول داده بودیم قصد داریم مهمترین تکنیک های پیش پردازش دادهها رو با جزییات بیشتری بررسی کنیم. در مطلب قبل چرخه داده کاوی رو معرفی کردیم و گفتیم که پیش پردازش دادهها اولین گام در داده کاوی است. در این مطلب مهمترین تکنیک ها پیش پردازش داده ها را معرفی میکنم.
مهمترین فعالیت های که در بخش پیش پردازش دادهها انجام می شود عبارت است از 1- پاکسازی داده (data cleaning) ، 2- یکپارچه سازی داده (data integration ) ، 3- کاهش داده (data reduction) و در نهایت تبدیل داده (data transformation)
توی این مطلب یک تعریف مختصر از هر کدوم از 4 مفهوم بالا ارائه میدیم تا یک شناخت کلی از اونا حاصل بشه و در مطالب بعدی هر یک رو به جزییات بیشتر، تکنیک ها و مثل های متنوع بررسی میکنیم
پاکسازی داده (data cleaning)
مهمترین فعالیت های این بخش عبارت است تخمین مقادیر ناموجود در پایگاه داده ها، از بین بردن اختلال (noise) در داده ها، حذف کردن داده های پرت و نامربوط، از بین بردن ناسازگاری در داده ها. نکته مهم این است که هر چه این گام از داده کاوی بهتر انجام شود، خروجی الگوریتم ها و تکنیک های داده کاوی کیفیت بالاتری خواهد داشت
یکپارچه سازی داده (data integration)
در بسیاری از موارد ممکن است داده ها در فایل ها و منابع مختلف نگهداری شوند و در این صورت نیاز است تا داده ها پیش از اجرای تکنیک های داده کاوی با یکدیگر یکپارچه شوند. یکپارچه سازی هم فعالیتی سنگین است و هم چالش های فراوانی را به همراه دارد که در مفصل در مورد آن صحبت خواهیم کرد.
کاهش داده (data reduction)
یکی از مهمترین نکات در داده کاوی این است که ممکن است همیشه، همه داده ها مورد نیاز نباشند و تنها بخشی از داده ها که مورد نیاز است باید مورد پردازش قرار بگیرد. کاهش داده (data reduction) به این مباحث می پردازد.
تبدیل داده (data transformation)
فعالیت های مانند نرمال سازی داده ها و گسسته سازی داده ها در این حوزه جای میگیرند.
تا اینجا با کلیات پیش پردازش دادهها آشنا شدید در مطالب بعدی هر یک از بخش ها را با جزییات بیشتری بیان خواهیم کرد. منتظر مطالب بعدی ما باشید.
منبع (اطلاعات بیشتر)
http://mrmining.ir/2016/11/28/%D9%BE...E%D8%A7%D8%B1/
پاکسازی داده ها – تخمین داده های ناموجود Missing Values
همانطور که در مطلب قبل بیان کردیم پیش پردازش داده ها دارای 4 گام اصلی می باشد 1- پاکسازی داده (data cleaning)، 2- یکپارچه سازی داده (data integration)، 3- کاهش داده (data reduction) و در نهایت تبدیل داده (data transformation).
پاکسازی داده اولین بخشی که قصد درایم در مورد تکنیک های آن صحبت کنیم. مهمترین فعالیت های این بخش عبارتند از
تخمین داده های ناموجود (Missing Values)
هموار سازی نویز ها (smooth out noise) – این مفهوم رو بیشتر در مثال توضیح خواهیم داد
مشخص کردن داده های پرت (outlier)
تصحیح ناسازگاری ها در داده ها
در چند مطلب آینده هر یک از زیر بخش های مربوط به پاکسازی داده ها را به صوت مفصل بررسی خواهیم نمود.
بخش اول: تخمین داده های ناموجود (Missing Values)
فرض کنید شما حجم زیادی از داده ها دراید اگر بخشی از اطلاعات وجود نداشته باشد چکار خواهید کرد؟ در ادامه راه حل های مقابله با این مشکل را بررسی خواهیم کرد
راه حل اول برای تخمین داده های ناموجود ، حذف داده: ساده ترین تکنیک و روشی که می توانیم در این زمینه از آن استفاده کنیم این است که داده را به صورت کامل از مجموعه داده ای حذف کنیم. این تکنیک بسیار ساده می باشد، اما در استفاده از آن باید بسیار دقت نمود. این تکنیک چه زمانی استفاده خواهد شد.
کاربرد اول: عدم وجود داده های ضروری
داده های که ما با انها سر و کار داریم به دو بخش تقسیم می شود
داده های ضروری و با اهمیت
داده های غیر ضروری
وقتی داده های ضروری ناموجود باشد، با توجه به اهمیت این داده ها اگر تخمین ما درست نباشد ممکن است خروجی تکنیک های داده کاوی را تحت تاثیر قرار بدهد، در نتیجه می تواند تکنیک مناسبی باشد. البته اگر تخمین ما قابل قبول باشد، تکنیک حذف چندان قابل قبول نخواهد بود.
کاربرد دوم: زمانی که داده های ناموجود در یک قلم داده ای زیاد باشد، می توان آن داده را حذف نمود. فرض کنید در یک ردیف از فاکتور فروش، نام کالا و تعداد کالای فروش رفته ناموجود است. در این مورد بهتر است آن قلم داده ای را از فاکتور فروش حذف کنیم. چون تعداد داده های ناموجود زیاد است، حذف داده می تواند تکنیک مناسبی باشد.
تکینک حذف وقتی زیاد انجام شود ممکن است کل داده ها را تحت تاثیر قرار دهد و در نتیجه خروجی داده کاوی را ناکارآمد کند. در نیتجه در استفاده از این روش باید دقت نمود که خروجی داده کاوی را تحت تاثیر قرار ندهد. در کل حذف داده ها چندان روش کار آمدی نمی باشد.
روش دیگری نیز برای تخمین داده های ناموجود ، ارائه شده است که در مطالب بعدی به آنها می پردازیم.
منبع (اطلاعات بیشتر)
http://mrmining.ir/2016/12/03/%D9%BE...C%D9%88%D8%AF/
قبل از اینکه مطلب رو ادامه بدیم، ابتدا یک نگاه بندازیم ببینیم دقیقا ما کجا هستیم. در چرخه داده کاوی ما در گام پیش پردازش هستیم. و داریم تکنیک های مربوط به تخمین داده های گم شده یا داده های ناموجود رو بررسی می کنیم. دسته بندی کلی تکنیک های پیش پردازش داده به صورت زیر است
- پاکسازی داده
- تخمین داده های ناموجود
- هموار سازی نویز ها
- مشخص کردن داده های پرت
- تصحیح ناسازگاری ها در داده ها
- یکپارچه سازی داده
- کاهش داده
- بدیل داده
ما توی مطلب قبل روش حذف داده رو بررسی کردیم. در این مطلب روش های دیگری را مورد بررسی قرار می دهیم.
روش دوم تخمین داده های گم شده، تعیین داده ها توسط کاربر: در بعضی موارد می توان داده های گم شده را با کمک کاربر تعیین نمود.این تکنیک دو عیب بزرگ دارد
- زمانبر بودن
- انجام این تکنیک برای داده های حجیم تقریبا غیر ممکن است.
نکته مهم در این بخش آن است کسی که دارد داده ها را پر میکند باید شناخت و اشراف کامل به داده داشته باشد. فرض کنید تاریخ خروج کالا برای بعضی از کالاها در فاکتورهای ما ثبت نشده است. کسی که می تواند در این حوزه به ما کمک کند مسئول انبار است. اما چگونه؟ با یک مثال چگونگی انجام کار را بیان میکنیم.نمونه 1 : فرض کنید یک مشتری خاص داریم که در یک بازه زمانی خاص کالاها را از انبار ما تحویل می گیرد و این را انباردار می داند. مثلا مشتری شماره 1، تحویل کالاهای خود را در آبان ماه انجام میدهد در نتیجه اگر کالا توسط مشتری شماره 1 تحویل گرفته شده باشد، انبار دار می تواند این داده را پر کند.نمونه 2 : فرض کنید انبادار بر اساس تجربه زمان های خروج کالاهای خاص می داند. به عبارت دیگر می داند که چه کالای در چه بازه زمانی توسط مشتریان درخواست می شود. به عنوان مثال بخاری 2 ماه شروع فصل سرما بیشترین فروش خود را دارد در نتیجه اگر زمان خروج بخاری مشخص نباشد انباردار می تواند با کمک تجربه خود داده ها را تکمیل نماید.
همانطور که بیان شد پر کردن داده های ناموجود با این روش هم زمانبر است و هم در حجم بالا تقریبا غیر ممکن.در مطالب بعدی سایر روش های تخمین داده های ناموجود را بررسی می کنیم.
منبع (اطلاعات بیشتر)
http://mrmining.ir/2016/12/06/%D8%AA...issing-values/
قبل از اینکه مطلب رو ادامه بدیم، ابتدا یک نگاه بندازیم ببینیم دقیقا ما کجا هستیم. در چرخه داده کاوی ما در گام پیش پردازش هستیم. و داریم تکنیک های مربوط به تخمین دادههای گم شده (داده های ناموجود) یا داده های ناموجود رو بررسی می کنیم. دسته بندی کلی تکنیک های پیش پردازش داده به صورت زیر است
- پاکسازی داده
- تخمین داده های ناموجود
- هموار سازی نویز ها
- مشخص کردن داده های پرت
- تصحیح ناسازگاری ها در داده ها
- یکپارچه سازی داده
- کاهش داده
- تبدیل داده
ما توی مطالب قبلی روش حذف داده و تعیین داده ها توسط کاربر رو بررسی کردیم. در این مطلب روش های دیگری را مورد بررسی قرار می دهیم.روش سوم : استفاده از یک مقدار کلی و ثابت برای داده های ناموجود.
یکی دیگر از تکنیک های مربوط به پر کردن داده های ناموجود (دادههای گم شده ) قرار دادن یک مقدار ثابت برای همه آن ها است. مثلا فرض کنید همه داده های غیر موجود را با یک مقدار مانند “نشناخته” یا Unknown پر کنیم. این روش بسیار ساده است، ولی چندان کارآمدی نیست، به همین خاطر کمتر از آن استفاده می شود.روس چهارم: استفاده از معیارهای مرکزیت (مانند میانه، میانگین و …)
این روش را میتوان بهبود یافته روش سوم دانست. در این روش یکی از معیارهای مرکزیت مانند میانگین، میانه، مد و یا هر معیار مرکزیت دیگری برای داده محاسبه میگردد و مقدار حاصله برای تمام دادههای گم شده استفاده میگردد.
یکی از محدودیت های این روش آن است که تنها در بین دادههای عددی قابل استفاده است و دادههای غیر عددی نمیتوانند از آن استفاده کنند.
یک نمونه از استفاده از این روش به شرح زیر است:
فرض کنید بر اثر اشتباه انسانی تعدادی از قیمتهای فروش “کالای شماره 1” از فاکتورهای سال گذشته پاک شده است. این روش میتواند در این مورد کاربرد داشته باشد. روش کار به این صورت است
میانگین سالانه: میانگین قیمت کالای شماره 1 را در فاکتورهای سال گذشته محاسبه میکنیم و مقدار بهدست آمده را برای فاکتورهای که قیمت کالای شماره 1 را ندارند وارد میکنیم. با توجه به نوع مسئله این روش میتواند یک نمونه قابل قبول باشد.منتظر سایر مطالب مرتبط با Missing Values باشید.
منبع (اطلاعات بیشتر)
http://mrmining.ir/2016/12/10/%D8%AA...-%D9%82%D8%B3/
قبل از اینکه مطلب رو ادامه بدیم، ابتدا یک نگاه بندازیم ببینیم دقیقا ما کجا هستیم. در چرخه داده کاوی ما در گام پیش پردازش هستیم. و داریم تکنیک های مربوط به تخمین داده های گم شده (داده های ناموجود) یا داده های ناموجود رو بررسی می کنیم. دسته بندی کلی تکنیک های پیش پردازش داده به صورت زیر است
- پاکسازی داده
- تخمین داده های ناموجود
- هموار سازی نویز ها
- مشخص کردن داده های پرت
- تصحیح ناسازگاری ها در داده ها
- یکپارچه سازی داده
- کاهش داده
- تبدیل داده
ما توی مطالب قبلی روش حذف داده ، تعیین داده ها توسط کاربر ، استفاده از یک مقدار کلی و ثابت برای داده های ناموجود و استفاده از معیارهای مرکزیت (مانند میانه، میانگین و …) رو بررسی کردیم. در این مطلب سایر روش های رو را مورد بررسی قرار می دهیم.
روش پنجم: استفاده از معیارهای مرکزیت (مانند میانه، میانگین و …) داده های دسته بندی شده. این روش رو میشه بهبود روش چهارم دونست (اطلاعات در مورد روش چهرام در این مطلب). در روش چهام اگر یک مقدار وجود نداشت، میانگین تمامی مقادیر موجود را حساب می کردیم و به جای مقدار نا موجود قرار می دادیم. در این روش سعی میکنیم که نزدیکترین نمونه ها به مقدار ناموجود رو انتخاب کنیم و بر اساس اون مقدار رو مشخص کنیم. با یک مثال توضیح می دیم.
فرض کنید ما صاحب یک کارخانه هستیم که تعدادی ربات بخشی از فعالیت های کارخانه را انجام می دهند. بعضی از ربات ها وظیفه جابجا کردن قطعات سنگین را بر عهده دارند، بعضی از ربات ها جوشکاری انجام می دهند و بعضی از ربات ها برشکاری انجام میدهند. هر ربات تعدادی قطعه دارد که پس از مدتی از کار می افتند و باید تعویض شوند. قصد داریم تحلیل را برای بازه های خرید این قطعات ارائه بدهیم به طوری که همیشه قطعه یدک در کارخانه وجود داشته باشد تا کار مختل نشود. در این تحلیل ما نیاز داریم تا طول عمر قطعات را داشته باشیم. متأسفانه طول عمر بعضی از قطعات استفاده شده در دست نیست و به علت خطای انسانی از بین رفته است. خوب حالا ما برای تخمین طول عمر دوتا کار می تونیم بکنیم (فرض کنید طول عمر قطعه 1 روی می خواهیم تخمین بزنیم)
- استفاده از روش چهارم: طول عمر تمام قطعه 1 ها رو توی همه ربات ها حساب کنیم و میانگین اون رو برای مقادیر ناموجود قطعه 11 بزاریم.
- استفاده از روش پنجم: ابتدا میاییم ربات ها رو سه دسته کنیم. ربات های حمل بار، ربات های جوشکار و ربات ها برش کار. برای هر کدوم از این دسته ها میانگین طول عمر قطعه 11 رو جداگانه حساب کنیم و مقادیر ناموجود رو بر اساس اینکه ماب کدوم ربات بوده مقادیر میانگین متناظر اون رو بزاریم. این کار رو به این دلیل انجام میدیم که تخمین ما دقیق تر باشه. از اونجای که ما سه دسته ربات داریم و هر کدام فعالیت های مختلفی انجام می دهند. از این ممکن است طول عمر یک قطعه در سه نوع ربات یکسان نباشد.
روش ششم : استفاده از محتمل ترین مقدار (the most probable value) برای پر کردن برای داده های گم شده . the most probable valuee رو میشه بهترین مقدار نیز ترجمه کرد. در این روش از تکنیک های مانند رگرسیون regression، استنتاج، درخت تصمیم گیری و … استفاده می شود.
به عنوان مثال فرض کنید ما میزان خرید یک مشتری را ندارد قصد دارین آن را حدس بزنید، می تواند از درخت تصمیم گیری یا استنتاج مبتنی بر شبکه بیزین استفاده کرد. (در مورد این مفاهیم و شیوه محاسبه اونا بعدا بیشتر توضیح می دیم)
ما 6 روش تعیین داده های گم شده رو معرفی کردیم، توی مطلب بعدی یک مقایسه خواهیم داشت روی این 6 روش و معایب و مزایایی هر کدوم رو بیان می کنیم.
منبع (اطلاعات بیشتر)
http://mrmining.ir/2016/12/12/%D8%AA...issing-values/
تا اینجا ما 6 تا تکنیک های تعیین داده های گمشده (Missing Values) رو معرفی کردیم ،توی این مطلب قصد داریم مقایسه ای رو بین این تکنیک ها انجام بدیم و مزایا و معایب هر کذوم رو بررسی کنیم.
- حذف داده
- تعیین داده ها توسط کاربر
- استفاده از یک مقدار کلی و ثابت برای داده های ناموجود
- استفاده از معیارهای مرکزیت (مانند میانه، میانگین و …)
- استفاده از معیارهای مرکزیت (مانند میانه، میانگین و …) داده های دسته بندی شده
- استفاده از محتمل ترین مقدار (the most probable value)
تکنیک های اول و سوم کمترین پردازش را برای تعیین داده گمشده را دارند و پردازش چندانی نیز برای تخمین داده های گمشده انجام نمی شود.تکنیک دوم : این تکنیک بیشترین دخالت انسانی را به همراه دارد و در حجم بالای داده ناکارآمد است.تکنیک های 3 تا 6 : در این تکنیک ها چون از الگوریتم های تخمین استفاده میکنیم، ممکن است مقدار تخمین زده شده درست نباشد. در بین این تکنیک ها، تکنیک 66 از همه محبوب تر و پر استفاده تر است و معمولا بهترین تخمین را نیز ارائه می دهد.تکنیک های 4 تا 6 : در مقایسه با تکنیک های اول و دوم، در این تکنیک های از اطلاعات موجود در منابع اطلاعاتی استفاده می شود تا بتوانیم بهترین تخمین را برای داده های گمشده بزنیم.تکنیک های 3 تا 6 : در حالت کلی مقادیر پیشنهادی بهتر و بهتر خواهند بود ولی محاسبات آن نیز پیچیده تر و سنگین تر می شود.در یک بررسی کلی می توان گفت، بهترین تکنیک برای تعیین داده های گشمده ، تکنیک استفاده از محتمل ترین مقدار است. البته نیاز پردازشی این تکنیک از سایر تکنیک ها بیشتراست اما مقدار تخمین زده شده بیشترین دقت را دارد.یک نکته مهم رو دقت داشته باشید که عدم وجود داده همیشه به معنای missing value نیست. به عنوان مثال فرض کنید شما به “شماره گواهینامه رانندگی” مشتریان خود نیاز دارد، وقتی این داده وجود نداشته باشید به معنای missing value نیست ممکن است داده اصلا وجود خارجی نداشته باشد. مثلا سن فرد کمتر از سن قانونی برای دریافت گواهی نامه رانندگی باشد.در اینجا تکنیک های تخمین داده های گمشده به پایان رسید و در گام بعدی بخش دوم تکنیک های پاکسازی داده ها (هموار سازی نویزها) را مورد بررسی قرار خواهیم داد.
- پاکسازی داده
- تخمین داده های ناموجود
- هموار سازی نویز ها
- مشخص کردن داده های پرت
- تصحیح ناسازگاری ها در داده ها
- یکپارچه سازی داده
- کاهش داده
- تبدیل داده
منبع (اطلاعات بیشتر)
http://mrmining.ir/2016/12/18/%D9%85...4%D8%AF%D9%87/
تکنیک های هموار سازی داده های نویزی -تکنیک Binning
قبل از اینکه به بررسی تکینک های هموارسازی داده های نویزی بپردازیم، یک نگاه بندازیم به مسیری که تا حالا اومدیم. همانطور که بیان کردیم تکنیک های پیش پردازش 4 بخش اصلی دارد که ما تکنیک های پاکسازی داده ها را داریم بررسی میکنیم. در مطالب قبلی تکنیک های تخمین داده های گمشده رو بررسی کردیم . از این مطلب وارد مبحث جدید یعنی هموار سازی داده های نویزی می شویم
- پاکسازی داده
- تخمین داده های گمشده
- هموار سازی داده های نویزی
- مشخص کردن داده های پرت
- تصحیح ناسازگاری ها در داده ها
- یکپارچه سازی داده
- کاهش داده
- تبدیل داده
قبل از شروع یک تعریف ار داده های نویزی ارائه می دیم. داده های نویزی به طور خلاصه میشه داده های که هنگام ثبت یا تغییر اون اشتباه یا خطای رخ داده است و مقدار آن نامعتبر است. توی این مطلب اطلاعات کامل انواع خطاهای که در هنگام ثبت داده ها رخ میدهد صحبت کردیم. همانطور که قول داده بودیم قصد داریم تا روش های از بین بردن داده های نویزی توی این مطلب و چند مطلب آینده بررسی کنیم.تکنیک های برطرف کردن داده های نویزی با عنوان تکنیک های هموار سازی (smoothing) شناخته میشن در این مطلب اولین روش رو بررسی میکنیم.تکنیک Binning : اولین روشی که بررسی میکنیم روش تکنیک Binning (میشه ترجمه کردن پیاله پیاله بندی)هستش:
منطق این تکنیک اینکه داده ها رو میشه بر اساس همسایه هاش هموار سازی کرد. به عبارت دیگه این تکنیک نگاهمیکنه که همسایه های یک داده چطوری هست و سعی میکنه داده رو شبیه همسایه هاش کنه. اگر یک داده با همسایه هاش زیاد فرق داشته باشه نشون دهنده اینکه داده نویزی هستش و باید هموار سازی روش انچام بشه.
نکته مهم در مورد این روش آن است که این روش در مورد داده های عددی کاربرد دارد (اطلاعات کامل در مورد انواعداده ها را می تواند در این مطلب مطالعه کنید)
اولین گام در این تکنیک تعیین Bin ها است. برای این منظور ابتدا داده ها به ترتیب صعودی (یا نزولی) مرتب می شوند. وقتی این کار را انجام شده، داده ها را در یک سری پیاله یا bin قرار میدهیم.
به عنوان مثال نمونه زیر را در نظر بگیرد4, 8, 15, 21, 21, 24, 25, 28, 34حالا فرض کنید می خواهیم داده ها را در 3 تا Bin قرار بدیم. از اونجا که ما 9 عدد داریم در نتیجه در سهم هر Bin میشه 3 عدد. نتیجه به صورت زیر میشهتا اینجا ما گام اول که تشکیل Bin است رو انجام دادیم در مطلب بعدی انواع رویکردهای مربوط به هموار سازی در Binning رو توضیح می دیم.
منبع (اطلاعات بیشتر)
http://mrmining.ir/2016/12/24/%D8%AA...A%DA%A9%D9%86/
هموارسازی داده ها با کمک تکنیک Binning – قسمت دوم
ما در مطلب قبل تکنیک پیاله بندی کردن (Binning) به عنوان یکی از الگوریتم های هموارسازی داده ها رو معرفی کردیم و با یک مثال نیز بخش اول تکنیک که ایجاد پیاله ها است رو بررسی کردیم (پیش از ادامه یک نگاهی به مطلب قبل بندازید تا ادامه ابهامی برای شما به وجود نیاد).
توی مطلب قبل پیاله های که بهش رسیدیم شدBin 1: 4, 8, 15
Bin 2: 21, 21, 24
Bin 3: 25, 28, 34خوب حالا می خواهیم هموارسازی داده ها رو انجام بدیم. همانطور که گفتیم این تکنیک از همسایه های یک داده برای هموار سازی استفاده میکنه. برای این منظور میشه دو رویکرد زیر رو در نظر گرفت:
- استفاده از میانگین هر پیاله برای هموارسازی داده ها : در این روش میانگین مقادیر موجود در هر پیاله محاسبه می شود و مقدار آن جایگزین همه اعداد موجود در پیاله می شود.
بزارید پیاله اول رو با این رویکرد بررسی کنیم: اعداد توی پیاله اول عیارتند از 4,5,15 که میانگین اونا میشه 9 در نتیجه مقدار 9 رو با تمام مقادیر موجود در پیاله جایگزین میکنیم.
پس از هموارسازی پیاله ها به کمک این روش به صورت زیر در میانBin 1: 9, 9, 9
Bin 2: 22, 22, 22
Bin 3: 29, 29, 29
- استفاده از مرزهای هر پیاله برای هموارسازی داده ها : در این روش مقادیر ابتدا و انتهای پیاله به عنوان مرزهای پیاله در نظر گرفته می شوند و بقیه مقادیر موجود در پیاله رو بررسی میکنیم به کدوم از این دو عدد نزدیکتر هستند، به هر عدد که نزدیک بودن با اون جایگزین میشه.
بزارید پیاله اول رو با این رویکرد بررسی کنیم : اعداد توی پیاله اول عیارتند از 4,5,15 که بیپشترین مقدار و کمترین مقدار عبارتند از 4 و 15. سایر اعداد توی پیاله فقط عدد 5 است. خوب 5 بین 4 و 15 به چه عددی نزدیک است؟ عدد 4 ، در نتیجه 5 با 4 جایگزین میشه
پس از هموارسازی پیاله ها به کمک این روش به صورت زیر در میانBin 1: 4, 4, 15
Bin 2: 21, 21, 24
Bin 3: 25, 25, 34توی این روش تکنیک هموار سازی پیاله بندی کردن رو با مثال بررسی کردیم، در مطلب بعدی کمی بیشتر در مورد این تکنیک توضیح میدیم.
منبع (اطلاعات بیشتر)
http://mrmining.ir/2016/12/29/%D9%87...%D8%AA-%D8%AF/
تکنیک های هموارسازی داده ها : محلی (Local) و سراسری (Global)
قبل از اینکه بخواهیم سایر روش های مربوط به هموارسازی داده ها را بررسی کنیم، نیاز است تا یک مفهوم رو در مورد انواع تکنیک های هموارسازی داده ها بیان کنیم.
ما می توانیم تکنیک های هموارسازی داده ها را بر اساس داده های که بر روی هموار سازی یک داده تاثیر می گذارند را به دو دسته کلی تقسیم نمود. 1- تکنیک های هموار سازی داده محلی (Local) و 2- تکنیک های هموار سازی داده سراسری (Global)
مهمترین نقطه تمایز بین این دو روش، تعداد داده های است که در هموار سازی یک داده تاثیر می گذارند. در روش محلی معمولا تعداد داده های تاثیر گزار، کم است و این داده ها معمولا در همسایگی داده مورد نظر قرار دارند، ولی در روش سراسری معمولا سعی می شود از همه داده ها برای هموارسازی یک داده خاص استفاده شود.تکنیک Binning که بررسی نمودیم ، از نوع محلی بود است، چون دو معیار مربوط به روش های محلی را دارد:
- اینکه تعداد داده های که بر روی هموار سازی یک داده تاثیر دارد کم و محدود است
- داده های تاثیر گزار بر روی یک داده همسایه های یک داده هستند
داده های که درون یک Bin روی هموار سازی همان Bin تاثیر گزار است. داده های یک Bin بر روی هموارسازی داده های Bin دیگری تاثیر نمی گذارند و همچنین داده های Bin های دیگر بر روی آنها تاثیر می گذارد.
در کنار این روش های محلی، روش های نیز وجود دارند سراسری از تمام داده ها را در برای هموارسازی داده ها استفاده میکنند. این روش ها معمولا پرهزینه تر از روش های محلی هستند، و همچنین خروجی به دست آمده از این روش ها بهتر است. در مطالب بعدی دو نمونه از این روش ها را بررسی خواهیم کرد 1- روش رگرسیون (Regression) و 2- روش آنالیز داده های خارج از محدوده ( Outlier analysis)
منبع (اطلاعات بیشتر)
http://mrmining.ir/2017/01/03/%D8%AA...-%D8%B3%D8%B1/
MrMining در جشنواره وب ایران
امسال سایت MrMining.ir در جشنواره وب ایران شرکت کرده است. در این جشنواره هر ساله از میان سایت های فعال در تمامی حوزه های وب و در گروه های مختلف یک سایت را به عنوان سایت برتر سال معرفی می شود. سایت MrMining.ir در شاخه اطلاع رسانی و محتوا و زیر شاخه کامپیوتر و فناوری اطلاعات شرکت کرده است.
برندگان این جشنواره به دو دسته هستند
1- سایت های منتخب از دیدگاه کاربران
2-سایت های منتخب از دیدگاه دوران (که متخصصین هر حوزه را شامل می شود)
در صورت مفید بودن سایت و مطالب ارائه شده در سایت می توانید، می توانید با رای دادن به سایت MrMining.ir ما در ارائه محتوای هر چه بهتر یاری کنید. مراحل رای دادن به سایت MrMining.ir نمایش داده شده است.
1
1- ابتدا بر روی بنر مشخص شده کلیک کنید (یا بر روی این لینک www.iwmf.ir/website/19950 کلیک کنید تا مستقیم به صفحه رای گیری وارد شوید)
2- بر روی قلب مشخص شده در تصویر کلیک کنید
3- برای رای دادن می توانید از طریق اکانت گوگل و یا یاهو خود اقدام کنید
4- اطلاعات اکانت خود را وارد کنید
5-در صورت نیاز دکمه Allow را فشار دهید
6-رای شما ثبت شد
هموار سازی داده ها با کمک تکنیک رگرسیون
همانطور که در مطلب قبل بیان کردیم روش های هموارسازی به دو دسته محلی و سراسری تقسیم می شن.پیش از این تکنیک Binning رو به عنوان یک روش محلی مورد بررسی قرار دادیم. در این مطلب قصد داریم تکنیک رگرسیون (Regressionn) رو بررسی کنیم. این روش در دسته روشهای سراسری قرار می گیره. در این ابتدا شیوه کار این تکنیک و انواع اون رو بررسی میکنیم و سپس دوتا مثال ارائه میدیمدر تکنیک رگرسیون سعی میکنیم تا داده ها رو روی یک تابع وفق دهیم (conform) به طوری که این تابع بتونه بهترین نماینده برای نمایش داده ها باشه، این تکنیک خودش به دو دسته تقسیم میشه
- 1رگرسیون خطی: زمانی که ما دوتا متغیر داریم می تونیم از این تکنیک استفاده کنیم. در این روش سعی میشه تا یک خط تعریف کنیم (رسم کنیم) که بتونه بهترین نمایش برای ارتباط بین دو تا متغیر باشه، به طوری که بتونیم با کمک اون یک متغیر رو بر اساس دیگری تخمین بزنیم.
- رگرسیون خطی چندتایی: رگرسیون خطی چندتایی رو می تونیم، توسعه یافته حالت خطی بدونیم، و زمانی استفاده میشه که بیش از دوتا متغیر داریم و نیاز به چندتا خط داریم که بتونیم داده ها رو روی مطابقت بدیم. (مطابقت دادن داده رو fit کردن داده هم می گویند)
تعاریف بالا، یکم ریاضی وار است، بزارید برای درک بهتر یک مثال بزنیم تا به صورت شهودی هم بتونید این مفهوم رو درک کنید.رگرسیون خطی: فرض کنید ما یک سری داده داریم که بر حسب و x و y تعریف شدن. ابتدا ما میاییم و این داده ها رو بر روی نمودار نشون میدیم. حالا اگر خطی رو رسم کنیم که فاصله اون از تمام نقاط کمینه باشه. به این خط، رگرسیون می گیم. این مفهوم در شکل زیر نمایش داده شده است.
رگرسیون خطی چندتایی:حالا فرض کنید، داده های ما بر حسب سه متغیر x y و z رسم کردیم. خوب در این صورت هم ما باید مجموعه ای از خطوط داشته باشیم که فاصله اونها از همه داده ها مون کمینه باشه. در شکل زیر رگرسیون برای داده های که بر حسب سه متغیر رسم شده اند نمایش داده شده است.
در این مطلب سعی کردیم تا مفهوم رگرسیون به عنوان یک روش در هموار سازی داده ها توضیح بدیم. از اونجایی که پرداختن به بحث ریاضی مربوط به این تکنیک خارج از حوصله این متن است، برای بررسی بحث های ریاضی اون می تونید منابع مربوط به رو مطالعه کنید.
منبع (اطلاعات بیشتر)
http://mrmining.ir/2017/01/18/%D9%87...C%D9%88%D9%86/
هموار سازی داده ها با کمک تکنیک تحلیل داده های پرت
در مطلب قبلی ما روش رگرسیون رو به عنوان یکی از روش های سراسری هموار سازی داده ها مورد بررسی قرار دادیم. در این مطلب قصد داریم یکی دیگر از روش های مربوط به هموار سازی داده ها سراسری رو مورد بررسی قرار بدیم. تفاوت روش های هموار سازی محلی و سراسری رو در این مطلب به صورت کامل مورد بررسی قرار دادیم.تحلیل داده های پرت: تحلیل داده های پرت یکی از روش های هموار سازی داده ها به صورت سراسری است که می تواند با کمک تکنیک های مختلفی انجام می شود. یکی از مهمترین تکنیک های که در این حوزه کاربرد دارد، تکنیک های خوشه بندی یا clustering است. ما بعدا مفصل در مورد خوشه بندی و انواع اون به تفصیل صحبت خواهیم کرد. در این مطلب تنها مفهوم آن را بررسی خواهیم کرد.
در تکنیک های خوشه بندی ما سعی میکنیم داده های شبیه به هم رو توی یک خوشه یا cluster جای بدیم. داده های ما دو حالت خواهند داشت که به صورت زیر قابل تفسیر است
- داده های خوشه بندی شده: یعنی یک سری داده هستند که بهم شبیه هستند و تعداد آنها به اندازه ای است که می توانند یک خوشه تشکیل دهند (درباه روش ها و اینکه چطوری تشخیص بدیم یک خوشه چقدر مناسب است، بعدا مفصل توضیح خواهیم داد)
- داده های پرت: داده های که با مجموعه داده ای بسیار متفاوت هستند و می توان آنها را از مجموعه داده ای حذف کرد.
بزارید با یک مثال تحلیل داده های پرت رو دنبال کنیم. فرض کنید ما داده های مربوط به مکان های جغرافیایی مربوط به مشتریان رو داریم و اونها رو روی نقشه مشخص کرده ایم، سپس با کمک تکنیک های خوشه بندی میاییم و خوشه ها رو مشخص می کنیم. همانطور که توی شکل مشخص مشتریان ما تقریبا توی سه منطقه جمع شدن. و سایر مشتریان از این سه خوشه بسیار متفاوت هستند. حالا ما می توانیم از داده ها استفاده کنیم برای تصمیم گیری. مثلا می تونیم از این اطلاعات برای تعیین بهترین مکان برای تاسیس واحد های پشتیبانی و ارتباط با مشتری استفاده کرد (مثلا مرکز خوشه ها بهترین مکان برای تاسیس این واحد ها است چون کمترین فاصله رو از مجموعه مشتریان آن خوشه دارد)تحلیل داده های پرت مربوط به مکان های جغرافیایی مربوط به مشتریانمنبع (اطلاعات بیشتر)
http://mrmining.ir/2017/02/01/%D9%87...-%D8%AF%D8%A7/