LOGIN
ثبت نام یا ورود
Avatar
هنوز ثبت نام نکرده اید؟

هم اکنون عضو پلاک آبی شوید .و به اطلاعات وب سایت ما دسترسی داشته باشید

تنظیم مجدد کلمه عبور - نام کاربری را فراموش کرده ام

نام کاربری
کلمه عبور
مرا به خاطر بسپار

placabi articles

نرمالسازی داده ها  و تشخیص داده های پرت به روش Z-Score در پایتون توابع تولید اعداد تصادفی و گسسته سازی داده ها در Python

نرمالسازی داده ها و تشخیص داده های پرت به روش Z-Score در پایتون

  • این مورد را ارزیابی کنید
    (11 رای‌ها)

در این مقاله ضمن بررسی روش های نرمالسازی داده ها در داده کاوی به تشریح روش Z-score در نرمال سازی و کاربرد آن در تشخیص داده های پرت با انجام یک تمرین به صورت فیلم آموزشی با پایتون می‌پردازیم.

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

نرمال سازی یکی از تکنیک های مقیاس بندی ( Scaling )، نگاشت ( mapping ) در مرحله پیش پردازش ( preprocessing stage) در فرآیند داده کاوی است. در این روش می‌توانیم داده ها را از بازه فعلی آن به یک بازه دیگر نگاشت کنیم. این رویکرد می‌تواند کمک زیادی در اهداف پیش بینی و تجزیه و تحلیل های ما داشته باشد، بنابراین با توجه به تنوع مدل های پیش بینی در داده کاوی و به منظور حفظ این تنوع، تکنیک های نرمالسازی به ما کمک می‌کند تا این پیش بینی ها را به یکدیگر نزدیک کنیم. از جمله این تکنیک های نرمال سازی می‌توان به تکنیک Min-Max normalization، Z-score و Decimal scaling اشاره کرد که در این مقاله به طور مختصر به نحوه کارکرد Z-score می‌پردازیم.

 

روش نرمال سازی Z-Score

مقدار Z-score از طریق رابطه زیر محاسبه می‌شود که در آن، μ مقدار میانگین جمعیت آماری و σ انحراف معیار جمعیت می‌باشد. مقدار قدر مطلق ( absolute value) محاسبه شده برای z، فاصله آن ردیف از داده ها را از میانگین کل جمعیت بر حسب انحراف معیار نشان می‌دهد. هنگامی که این مقدار مثبت باشد، یعنی Z-score بالاتر از میانگین و اگر منفی باشد، نشان دهنده کمتر بود آن مقدار خاص، از میانگین کل داده ها می‌باشد.

رابطه ریاضی نرمال سازی

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

رابطه ریاضی نرمال سازی

کاربرد Z-Score در تشخیص داده های پرت

براساس ویژگی های توزیع نرمال مطابق شکل زیر، 99.7% داده ها در فاصله‌ی 6 انحراف معیار از میانگین قرار، دارند. لذا می‌توان نتیجه گرفت که 0.3% داده ها که خارج از این حدود قرار می‌گیرند، رفتاری نامتعارف نسبت به اکثریت داده ها دارند.

نمودار توزیع نرمال

با استفاده از خاصیت فوق از روش Z-score، برای کنترل کیفیت محصولات تولیدی در کارخانه ها استفاده میشود. بدین منظور به محاسبه Z-score برای یک محصول خاص پرداخته و با توجه به استاندارد های سازمان و بکارگیری حدود مشخصات یا همان specification limits ها سعی می‌کند تا از تولید محصولات معیوب و به دور از استاندارد های سازمان، جلوگیری کند. به عنوان مثال اگر نمودار زیر، بیانگر ارتفاع پایه های یک میز اداری باشد، مواردی که با رنگ قرمز مشخص شده اند، به دلیل اینکه از حد مشخصات بالایی (USL)، بالاتر هستند به عنوان محصول غیر استاندارد به شمار می‌آیند. شرکت ها با توجه به استراتژی های خود، ممکن است این محصولات را دور ریخته و یا مجددا وارد چرخه تولید کنند. البته برخی شرکت ها نیز با توجه به تمرکز زیادی که بر روی کیفیت کالا دارند، از روش های جدید تری استفاده می‌کنند تا میزان واریانس در تولید را به صفر نزدیک کرده و با این کار نه تنها هزینه حاصل از تولید قطعه معیوب را کاهش می‌دهند، بلکه از دید مخاطب نیز به عنوان تولید کننده یک محصول با کیفیت شناخته می‌شوند.

نمودار توزیع نرمال

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

در تمرین زیر سعی داریم با استفاده از یک مثال ساده با نحوه پیاده سازی روش Z-score در نرم افزار پایتون آشنا شویم:

توسعه مهارت با حل تمرین

تلفیق روش شناسایی داده های پرت یا outlier ها با ابزارهای مصورسازی، باعث ایجاد درک مناسبی نسبت به پراکندگی داده ها و تفاوت ویژگی‌های این نقاط با یکدیگر می‌شود. بدین منظور دیتاست iris را نرم افزار پایتون در یک نمودار ٢ بعدى با Zscore = 3 رسم نمایید و مقادیر داده های پرت را با یک رنگ مجزا مشخص کنید.

در فیلمک زیر، علیرضا قره داغی به حل تمرین بالا پرداخته است:

شناسایی داده های پرت در پایتون
خواندن 15316 دفعه آخرین ویرایش در شنبه, 08 ارديبهشت 1397 10:45
علیرضا قره داغی

کارشناس صنایع شرکت پلاک آبی

 

 

عضو تیم تولید محتوای وب سایت و شبکه‌های اجتماعی شرکت پلاک آبی

دانشجوی کارشناسی مهندسی صنایع دانشگاه صنعتی شریف

 

کاربرانی که در این گفتگو شرکت کرده اند

  • مهمان - mahbube

    سلام وقتتون بخیر
    من از روشz-score برای نرمالسازی ویژگیهام استفاده میکنم و مقادیر ویژگیها قبل از نرمال شدن بعضیها منفی و بعضی مثبت هستند. حالا بعد از نرمالسازی میخوام بدونم برای حذف داده های پرت چطوری threshold مناسبz-score رو تعیین کنم؟
    خوشحال میشم جوابم رو بدید
    باتشکر

  • سلام و وقت بخیر.

    در پاسخ به سوال شما باید به چند نکته اشاره کنم:

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

    پیروز و سربلند باشید.

نظر خود را اضافه کنید.

ارسال نظر به عنوان مهمان

0
نظر شما به دست مدیر خواهد رسید
 تماس با ما

تلفن: 09211437289
پست الکترونیک:
info @ p l a c a b i . com

 

We use cookies to improve our website. By continuing to use this website, you are giving consent to cookies being used. More details…