معیارهای الگوریتم های رگرسیون

Summarize this content to 400 words in Persian Lang
هنگامی که یک الگوریتم رگرسیون ایجاد می کنیم و می خواهیم بدانیم این مدل چقدر کارآمد بوده است، از معیارهای خطا برای به دست آوردن مقادیری استفاده می کنیم که نشان دهنده خطای مدل یادگیری ماشین ما است. معیارهای این مقاله زمانی مهم هستند که بخواهیم خطای مدل های پیش بینی را برای مقادیر عددی (واقعی، اعداد صحیح) اندازه گیری کنیم.
در این مقاله معیارهای خطای اصلی برای الگوریتمهای رگرسیون را پوشش میدهیم، محاسبات را به صورت دستی در پایتون انجام میدهیم و خطای مدل یادگیری ماشین را روی مجموعه دادههای قیمت دلاری اندازهگیری میکنیم.
متریک آدرس داده شده است
SE – مجموع خطا
من – خطای متوسط
MAE – میانگین خطای مطلق
MPE – میانگین درصد خطا
MAPAE – میانگین درصد مطلق خطا
هر دو معیار کمی شبیه به هم هستند، جایی که ما معیارهایی برای میانگین و درصد خطا و معیارهایی برای میانگین و درصد مطلق خطا داریم که به این صورت متمایز می شوند که یک گروه مقدار واقعی تفاوت را بدست می آورد و گروه دیگر قدر مطلق را به دست می آورد. تفاوت یادآوری این نکته مهم است که در هر دو معیار، هرچه مقدار کمتر باشد، پیشبینی ما بهتر است.
SE – مجموع خطا
معیار SE سادهترین معیار در این مقاله است که فرمول آن به شرح زیر است:
SE = εR — P
وارد حالت تمام صفحه شوید
از حالت تمام صفحه خارج شوید
بنابراین، مجموع تفاوت بین مقدار واقعی (متغیر هدف مدل) و مقدار پیش بینی شده است. این معیار دارای نکات منفی است، مانند عدم تلقی مقادیر به عنوان مطلق، که در نتیجه منجر به یک مقدار نادرست می شود.
من – میانگین خطا
متریک ME یک “مکمل” SE است، که در آن اساساً این تفاوت را داریم که با توجه به تعداد عناصر، میانگین SE را به دست خواهیم آورد:
ME = ε(R-P)/N
وارد حالت تمام صفحه شوید
از حالت تمام صفحه خارج شوید
بر خلاف SE، ما فقط نتیجه SE را بر تعداد عناصر تقسیم می کنیم. این متریک مانند SE به مقیاس بستگی دارد، یعنی باید از مجموعه داده های یکسانی استفاده کنیم و بتوانیم آن را با مدل های مختلف پیش بینی مقایسه کنیم.
MAE – میانگین خطای مطلق
متریک MAE ME است اما فقط مقادیر مطلق (غیر منفی) را در نظر می گیرد. هنگامی که ما در حال محاسبه تفاوت بین واقعی و پیش بینی شده هستیم، ممکن است نتایج منفی داشته باشیم و این تفاوت منفی در معیارهای قبلی اعمال شود. در این متریک، ما باید تفاوت را به مقادیر مثبت تبدیل کنیم و سپس میانگین را بر اساس تعداد عناصر بگیریم.
MPE – میانگین درصد خطا
متریک MPE میانگین خطا به عنوان درصدی از مجموع هر اختلاف است. در اینجا باید درصد اختلاف را بگیریم، آن را جمع کنیم و سپس آن را بر تعداد عناصر تقسیم کنیم تا میانگین بدست آید. بنابراین، تفاوت بین مقدار واقعی و مقدار پیش بینی شده ایجاد می شود، تقسیم بر مقدار واقعی، ضرب در 100، همه این درصد را جمع کرده و بر تعداد عناصر تقسیم می کنیم. این معیار مستقل از مقیاس (%) است.
MAPAE – میانگین درصد مطلق خطا
متریک MAPAE بسیار شبیه به متریک قبلی است، با این حال تفاوت بین x واقعی پیش بینی شده به طور مطلق ایجاد می شود، یعنی شما آن را با مقادیر مثبت محاسبه می کنید. بنابراین، این متریک تفاوت مطلق در درصد خطا است. این معیار نیز مستقل از مقیاس است.
استفاده از معیارها در عمل
با توجه به توضیح هر متریک، هر دو را به صورت دستی در پایتون بر اساس پیشبینی مدل یادگیری ماشینی نرخ تبدیل دلار محاسبه میکنیم. در حال حاضر، بیشتر معیارهای رگرسیون در توابع آماده در بسته Sklearn وجود دارد، اما در اینجا ما آنها را به صورت دستی فقط برای اهداف آموزشی محاسبه می کنیم.
ما از الگوریتم های RandomForest و Decision Tree فقط برای مقایسه نتایج بین دو مدل استفاده خواهیم کرد.
تجزیه و تحلیل داده ها
در مجموعه داده ما، ستونی از SaldoMercado و saldoMercado_2 داریم، که اطلاعاتی هستند که بر ستون Value (نظام دلار ما) تأثیر میگذارند. همانطور که می بینیم، موجودی MercadoMercado نسبت به موجودی Mercado_2 رابطه نزدیک تری با مظنه دارد. همچنین می توان مشاهده کرد که مقادیر گم نشده ای نداریم (مقادیر بی نهایت یا Nan) و ستون balanceMercado_2 مقادیر غیرمطلق زیادی دارد.
آماده سازی مدل
ما با تعریف متغیرهای پیش بینی کننده و متغیری که می خواهیم پیش بینی کنیم، مقادیر خود را برای مدل یادگیری ماشین آماده می کنیم. ما از train_test_split برای تقسیم تصادفی داده ها به 30% برای تست و 70% برای آموزش استفاده می کنیم.
در نهایت، هر دو الگوریتم (RandomForest و DecisionTree) را مقداردهی اولیه می کنیم، تنظیم داده ها را انجام می دهیم و امتیاز هر دو را با داده های آزمون اندازه گیری می کنیم. امتیاز 83% برای TreeRegressor و 90% برای ForestRegressor بدست می آید که در تئوری نشان می دهد که ForestRegressor بهتر عمل کرده است.
نتایج و تجزیه و تحلیل
با توجه به عملکرد جزئی مشاهده شده ForestRegressor، ما یک مجموعه داده با داده های لازم برای اعمال معیارها ایجاد کردیم. ما پیشبینی را روی دادههای آزمایش انجام میدهیم و یک DataFrame با مقادیر واقعی و پیشبینیشده، شامل ستونهایی برای تفاوت و درصد ایجاد میکنیم.
ما می توانیم مشاهده کنیم که در رابطه با کل واقعی نرخ دلار در مقابل نرخی که مدل ما پیش بینی کرده بود:
ما اختلاف کل 578.00 R$ داشتیم
این نشان دهنده 0.36٪ تفاوت بین x واقعی پیش بینی شده است (مقادیر مطلق در نظر گرفته نمی شود)
از نظر خطای متوسط (ME)، مقدار کمی داشتیم، میانگین 0.009058 R$
برای میانگین مطلق این مقدار کمی افزایش می یابد، زیرا در مجموعه داده ما مقادیر منفی داریم
تاکید می کنم که در اینجا برای اهداف آموزشی محاسبه را به صورت دستی انجام می دهیم. با این حال، به دلیل عملکرد بهتر و احتمال خطای کم در محاسبه، استفاده از توابع متریک از بسته Sklearn توصیه می شود.
کد کامل در GitHub من موجود است: github.com/AirtonLira/artigo_metricasregressao
نویسنده: ایرتون لیرا جونیورلینکدین: linkedin.com/in/airton-lira-junior-6b81a661/
هنگامی که یک الگوریتم رگرسیون ایجاد می کنیم و می خواهیم بدانیم این مدل چقدر کارآمد بوده است، از معیارهای خطا برای به دست آوردن مقادیری استفاده می کنیم که نشان دهنده خطای مدل یادگیری ماشین ما است. معیارهای این مقاله زمانی مهم هستند که بخواهیم خطای مدل های پیش بینی را برای مقادیر عددی (واقعی، اعداد صحیح) اندازه گیری کنیم.
در این مقاله معیارهای خطای اصلی برای الگوریتمهای رگرسیون را پوشش میدهیم، محاسبات را به صورت دستی در پایتون انجام میدهیم و خطای مدل یادگیری ماشین را روی مجموعه دادههای قیمت دلاری اندازهگیری میکنیم.
متریک آدرس داده شده است
- SE – مجموع خطا
- من – خطای متوسط
- MAE – میانگین خطای مطلق
- MPE – میانگین درصد خطا
- MAPAE – میانگین درصد مطلق خطا
هر دو معیار کمی شبیه به هم هستند، جایی که ما معیارهایی برای میانگین و درصد خطا و معیارهایی برای میانگین و درصد مطلق خطا داریم که به این صورت متمایز می شوند که یک گروه مقدار واقعی تفاوت را بدست می آورد و گروه دیگر قدر مطلق را به دست می آورد. تفاوت یادآوری این نکته مهم است که در هر دو معیار، هرچه مقدار کمتر باشد، پیشبینی ما بهتر است.
SE – مجموع خطا
معیار SE سادهترین معیار در این مقاله است که فرمول آن به شرح زیر است:
SE = εR — P
بنابراین، مجموع تفاوت بین مقدار واقعی (متغیر هدف مدل) و مقدار پیش بینی شده است. این معیار دارای نکات منفی است، مانند عدم تلقی مقادیر به عنوان مطلق، که در نتیجه منجر به یک مقدار نادرست می شود.
من – میانگین خطا
متریک ME یک “مکمل” SE است، که در آن اساساً این تفاوت را داریم که با توجه به تعداد عناصر، میانگین SE را به دست خواهیم آورد:
ME = ε(R-P)/N
بر خلاف SE، ما فقط نتیجه SE را بر تعداد عناصر تقسیم می کنیم. این متریک مانند SE به مقیاس بستگی دارد، یعنی باید از مجموعه داده های یکسانی استفاده کنیم و بتوانیم آن را با مدل های مختلف پیش بینی مقایسه کنیم.
MAE – میانگین خطای مطلق
متریک MAE ME است اما فقط مقادیر مطلق (غیر منفی) را در نظر می گیرد. هنگامی که ما در حال محاسبه تفاوت بین واقعی و پیش بینی شده هستیم، ممکن است نتایج منفی داشته باشیم و این تفاوت منفی در معیارهای قبلی اعمال شود. در این متریک، ما باید تفاوت را به مقادیر مثبت تبدیل کنیم و سپس میانگین را بر اساس تعداد عناصر بگیریم.
MPE – میانگین درصد خطا
متریک MPE میانگین خطا به عنوان درصدی از مجموع هر اختلاف است. در اینجا باید درصد اختلاف را بگیریم، آن را جمع کنیم و سپس آن را بر تعداد عناصر تقسیم کنیم تا میانگین بدست آید. بنابراین، تفاوت بین مقدار واقعی و مقدار پیش بینی شده ایجاد می شود، تقسیم بر مقدار واقعی، ضرب در 100، همه این درصد را جمع کرده و بر تعداد عناصر تقسیم می کنیم. این معیار مستقل از مقیاس (%) است.
MAPAE – میانگین درصد مطلق خطا
متریک MAPAE بسیار شبیه به متریک قبلی است، با این حال تفاوت بین x واقعی پیش بینی شده به طور مطلق ایجاد می شود، یعنی شما آن را با مقادیر مثبت محاسبه می کنید. بنابراین، این متریک تفاوت مطلق در درصد خطا است. این معیار نیز مستقل از مقیاس است.
استفاده از معیارها در عمل
با توجه به توضیح هر متریک، هر دو را به صورت دستی در پایتون بر اساس پیشبینی مدل یادگیری ماشینی نرخ تبدیل دلار محاسبه میکنیم. در حال حاضر، بیشتر معیارهای رگرسیون در توابع آماده در بسته Sklearn وجود دارد، اما در اینجا ما آنها را به صورت دستی فقط برای اهداف آموزشی محاسبه می کنیم.
ما از الگوریتم های RandomForest و Decision Tree فقط برای مقایسه نتایج بین دو مدل استفاده خواهیم کرد.
تجزیه و تحلیل داده ها
در مجموعه داده ما، ستونی از SaldoMercado و saldoMercado_2 داریم، که اطلاعاتی هستند که بر ستون Value (نظام دلار ما) تأثیر میگذارند. همانطور که می بینیم، موجودی MercadoMercado نسبت به موجودی Mercado_2 رابطه نزدیک تری با مظنه دارد. همچنین می توان مشاهده کرد که مقادیر گم نشده ای نداریم (مقادیر بی نهایت یا Nan) و ستون balanceMercado_2 مقادیر غیرمطلق زیادی دارد.
آماده سازی مدل
ما با تعریف متغیرهای پیش بینی کننده و متغیری که می خواهیم پیش بینی کنیم، مقادیر خود را برای مدل یادگیری ماشین آماده می کنیم. ما از train_test_split برای تقسیم تصادفی داده ها به 30% برای تست و 70% برای آموزش استفاده می کنیم.
در نهایت، هر دو الگوریتم (RandomForest و DecisionTree) را مقداردهی اولیه می کنیم، تنظیم داده ها را انجام می دهیم و امتیاز هر دو را با داده های آزمون اندازه گیری می کنیم. امتیاز 83% برای TreeRegressor و 90% برای ForestRegressor بدست می آید که در تئوری نشان می دهد که ForestRegressor بهتر عمل کرده است.
نتایج و تجزیه و تحلیل
با توجه به عملکرد جزئی مشاهده شده ForestRegressor، ما یک مجموعه داده با داده های لازم برای اعمال معیارها ایجاد کردیم. ما پیشبینی را روی دادههای آزمایش انجام میدهیم و یک DataFrame با مقادیر واقعی و پیشبینیشده، شامل ستونهایی برای تفاوت و درصد ایجاد میکنیم.
ما می توانیم مشاهده کنیم که در رابطه با کل واقعی نرخ دلار در مقابل نرخی که مدل ما پیش بینی کرده بود:
- ما اختلاف کل 578.00 R$ داشتیم
- این نشان دهنده 0.36٪ تفاوت بین x واقعی پیش بینی شده است (مقادیر مطلق در نظر گرفته نمی شود)
- از نظر خطای متوسط (ME)، مقدار کمی داشتیم، میانگین 0.009058 R$
- برای میانگین مطلق این مقدار کمی افزایش می یابد، زیرا در مجموعه داده ما مقادیر منفی داریم
تاکید می کنم که در اینجا برای اهداف آموزشی محاسبه را به صورت دستی انجام می دهیم. با این حال، به دلیل عملکرد بهتر و احتمال خطای کم در محاسبه، استفاده از توابع متریک از بسته Sklearn توصیه می شود.
کد کامل در GitHub من موجود است: github.com/AirtonLira/artigo_metricasregressao
نویسنده: ایرتون لیرا جونیور
لینکدین: linkedin.com/in/airton-lira-junior-6b81a661/