Scikit-learn

ارزیابی عملکرد مدل‌های رگرسیون با scikit-learn

ارزیابی عملکرد مدل‌های رگرسیون با scikit-learn: راهنمای جامع

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

معیارهای بنیادی ارزیابی:

  • میانگین خطای مربعات (Mean Squared Error – MSE): این معیار، میانگین مربع تفاوت بین مقادیر واقعی و مقادیر پیش‌بینی شده توسط مدل را نشان می‌دهد. هرچه MSE کوچکتر باشد، نشان‌دهنده دقت بیشتر مدل در پیش‌بینی مقادیر است.

  • ریشه میانگین مربع خطا (Root Mean Squared Error – RMSE): ریشه دوم MSE را نشان می‌دهد و واحد آن با واحد متغیر وابسته یکسان است. RMSE، تفسیری آسان‌تر از MSE ارائه می‌دهد و به عنوان معیاری ملموس برای خطای مدل در نظر گرفته می‌شود.

  • میانگین خطای مطلق (Mean Absolute Error – MAE): میانگین مقادیر مطلق تفاوت بین مقادیر واقعی و مقادیر پیش‌بینی شده توسط مدل را نشان می‌دهد. MAE، بر خلاف MSE، به مقادیر پرت (outlier) حساس نیست و در مواردی که وجود مقادیر پرت در داده‌ها محتمل است، می‌تواند معیار مناسب‌تری باشد.

  • ضریب تعیین (Coefficient of Determination – R^2): نسبت واریانس مقادیر پیش‌بینی شده توسط مدل به واریانس کل داده‌ها را نشان می‌دهد. R^2، مقادیری بین ۰ و ۱ می‌گیرد و هرچه به ۱ نزدیک‌تر باشد، نشان‌دهنده قدرت بیشتر مدل در تبیین واریانس متغیر وابسته است.

  • تجزیه و تحلیل واریانس (ANOVA): این روش آماری، تفاوت بین واریانس مقادیر پیش‌بینی شده توسط مدل و واریانس خطا را بررسی می‌کند. ANOVA، در مواردی که به بررسی اثرات متغیرهای مستقل بر متغیر وابسته می‌پردازیم، کاربرد فراوانی دارد.

ابزارهای کاربردی scikit-learn:

  • mean_squared_error: این تابع، MSE را برای دو مجموعه داده محاسبه می‌کند.

  • mean_absolute_error: این تابع، MAE را برای دو مجموعه داده محاسبه می‌کند.

  • r2_score: این تابع، R^2 را برای دو مجموعه داده محاسبه می‌کند.

  • mean_squared_error_variance_decomposition: این تابع، سهم هر متغیر مستقل در تبیین واریانس متغیر وابسته را با استفاده از ANOVA تجزیه و تحلیل می‌کند.

نحوه استفاده از ابزارها:

Python
from sklearn.metrics import mean_squared_error, mean_absolute_error, r2_score, mean_squared_error_variance_decomposition

# پیش‌بینی مقادیر برای داده های تست
y_pred = model.predict(X_test)

# محاسبه معیارهای ارزیابی
print("Mean Squared Error:", mean_squared_error(y_test, y_pred))
print("Root Mean Squared Error:", np.sqrt(mean_squared_error(y_test, y_pred)))
print("Mean Absolute Error:", mean_absolute_error(y_test, y_pred))
print("Coefficient of Determination:", r2_score(y_test, y_pred))

# تجزیه و تحلیل واریانس (اختیاری)
if len(X_test.columns) > ۱:
    # تجزیه و تحلیل واریانس برای بررسی سهم هر متغیر مستقل
    results = mean_squared_error_variance_decomposition(y_test, y_pred)
    print("Variance Explained by Each Feature:")
    for i, name, score in zip(range(len(results.explained_variance_)), X_test.columns, results.explained_variance_):
        print(f"{name}: {score:f}")

 

۰/۵ ( ۰ امتیاز )
نمایش بیشتر

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا