تحصیلات تکمیلی
آموزش‌های پایه‌ای هوش مصنوعیپایتون و ابزارهای یادگیری عمیقکاربردهای هوش مصنوعی

مدل‌سازی داده‌های جدولی ، بررسی شانس تحصیل در دانشگاه تحصیلات تکمیلی

    0
    مدت زمان مطالعه: ۶ دقیقه

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

    من برای انجام پروژه پیش‌رو از دیتاست Graduates Admission 2 استفاده خواهم کرد که بر روی وب‌سایت Kaggle در دسترس است و  از دیتاست UCLA Admissions الهام گرفته است.

    بارگذاری کتابخانه‌های مورد نیاز

    تحلیل کاوشگرانه داده‌

    پیش از هر چیز باید فایل csv را در Pandas DataFrame بارگذاری کنیم و ستون‌هایی را که به آن‌ها نیاز نداریم حذف کنیم:

    سپس برای درک بهتر داده‌ها و تشخیص الگوهای موجود در داده‌ها باید عملیات EDA را انجام دهیم.

    برای نشان دادن همبستگی میان متغیرها می‌توانیم یک هیت‌مپ رسم کنیم:

    تحصیلات تکمیلی

    هیت‌مپ ماتریس همبستگی

    با نگاهی به هیت‌مپ ماتریس همبستگی متوجه می‌شویم میان تمامی متغیرها و شانس پذیرش در دانشکده تحصیلات تکمیلی همبستگی مثبتی برقرار است و نمره CGPA، GRE و تافل بیشترین همبستگی را با شانس پذیرش در دانشکده تحصیلات تکمیلی دارند.

    برای مصورسازی داده‌ها، نمودار نقطه‌ای شانس پذیرش در دانشکده تحصیلات تکمیلی و متغیرها را ترسیم می‌کنیم:

    تحصیلات تکمیلی

    همان‌گونه که در نمودارهای فوق مشاهده می‌کنید، رابطه نمرات CGPA، تافل و GRE و شانس پذیرش در دانشکده خطی است. دانشجویانی که در دانشگاه‌هایی با رتبه بالاتر (ranking) مشغول به تحصیل بوده‌اند، شانس بیشتری برای پذیرش در مقطع تحصیلات تکمیلی دارند. دانشجویانی که انگیزه‌نامه (SOP) و توصیه‌نامه‌های (LOR) بهتری دارند، برای پذیرش در مقطع تحصیلات تکمیلی نیز شانس بیشتری دارند. علاوه بر این، دانشجویانی که سابقه پژوهشی دارند نیز شانس بالایی برای پذیرش در این مقطع دارند.

    مدل‌سازی

    برای انجام این پروژه، سه مدل‌ را برازش می‌کنیم: مدل رگرسیون خطی چندگانه، جنگل تصادفی و شبکه عصبی. علاوه بر این تلاش می‌کنیم مدل‌ها را با یکدیگر ترکیب کنیم تا یک مدل دقیق‌تر به دست آوریم. برای ارزیابی داده‌ها از معیار خطای میانگین مربعات (MSE) کمک خواهیم گرفت. هرچه MSE کمتر باشد، مدل دقیق‌تر است.

    پیش از برازش مدل‌های یادگیری ماشین، دیتاست را به دو بخش، دیتاست آموزشی و آزمایشی، تقسیم می‌کنیم:

    رگرسیون خطی

    برای برازش مدل رگرسیون خطی OLS بر روی داده‌ها از کتابخانه statsmodel استفاده خواهیم کرد ، زیرا کتابخانه statsmodel اطلاعات بیشتری در مورد مدل در اختیار ما می‌گذارد، اما نتایج هر دو کتابخانه یکسان خواهد بود.

    در نهایت مدل زیر را بدون هیچ عبارت تعاملی (interaction terms) برازش می‌کنیم:

    شانس پذیرش = beta_0 + beta_1 * GRE نمره + beta_2 * TOEFL نمره + beta_3 * رتبه دانشگاه + beta_4 * SOP + beta_5 * LOR + beta_6 * CGPA + beta_7 * سابقه پژوهشی

    خروجی کد بالا:

    تحصیلات تکمیلی

    خروجی کتابخانه statsmodel

    با نگاهی به خروجی فوق متوجه می‌شویم R۲ مدل برابر با ۸۲۱/۰ است و به این معنا است که مدل به خوبی بر روی داده‌ها برازش شده است. همانگونه که مشاهده می‌کنید، ضریب رتبه دانشگاه و SOP زیاد نیست و مقدار پی (p-value) آن‌ها به ترتیب برابر با ۵۴۱/۰ و ۷۲۱/۰ است. MSE مدل بر روی دیتاست آزمایشی برابر با ۰۰۳۷۰۵/۰ بود. در صورتی که متغیرهای کم اهمیت‌تر را حذف کنیم، MSE مدل افزایش (۰۰۳۷۷۳/۰) و مجذور R آن کاهش می‌یابد.

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

    جنگل تصادفی

    من برای برازش مدل جنگل تصادفی بر روی داده‌ها از کتابخانه sklearn استفاده خواهم کرد:

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

    تحصیلات تکمیلی

    نمودار اهمیت ویژگی

    با نگاهی به نمودار بالا متوجه می‌شویم، ویژگی‌هایی همچون CGPA، نمره GRE و تافل اهمیت زیادی برای مدل دارند و در مقابل ویژگی‌هایی همچون سابقه پژوهشی و LOR اهمیت کمتری برای مدل دارند. با توجه به اینکه مقدار اهمیت ویژگی هیچ یک از ویژگی‌ها خیلی پایین نیست، کماکان می‌توانیم این ویژگی‌ها را در مدل حفظ کنیم.

    MSE مدل جنگل تصادفی بر روی دیتاست آزمایشی برابر با ۰۰۳۹۲۲/۰  بود.

    شبکه عصبی

    من برای برازش شبکه عصبی بر روی داده‌ها از کتابخانه FastAI استفاده می‌کنم که بر اساس PyTorch ساخته شده است. برای انجام این کار باید عملیات پیش‌پردازش داده‌ها را بر روی داده‌ها انجام دهیم و برای تغذیه داده‌ها به شبکه عصبی dataloaderهایی ایجاد کنیم. برای کار کردن با متغیرهای گسسته و پیوسته می‌توانیم از تابع fastai یعنی cont_cat_split() کمک بگیریم؛ این تابع به صورت خودکار متغیرهای گسسته و پیوسته را تقسیم می‌کند. توجه داشته باشد که این تابع “SOP” را ،که یک متغیر گسسته است، با متغیر پیوسته اشتباه می‌گیرد زیرا مقدار آن ۵/۰ است.

    اکنون می‌توانیم dataloaderها را ایجاد کنیم:

    پس از ساخت dataloaderها می‌توانیم در FastAI یک learner جدولی ایجاد کنیم:

    سپس می‌توانیم با استفاده از  fit_one_cycleمدل را ۱۵ مرحله (epoch) آموزش دهیم و نتایج را مشاهده کنیم:

    دانشگاه تحصیلات تکمیلی

    تحصیلات تکمیلی

    MSE شبکه عصبی بر روی دیتاست آزمایشی برابر با ۰۰۳۷۴۴/۰ بود.

    ادغام

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

    در نتیجه ترکیب مدل‌ها، MSE بر روی دیتاست آزمایشی ۰۰۳۶۰۷/۰  خواهد بود که از MSE‌هایی که مدل‌ها به صورت جداگانه بر روی دیتاست آزمایشی به دست آوردند، بهتر است.

    چکیده

    دانشگاه

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

    برای دانلود کد به Github مراجعه کنید.

    این مطلب چه میزان برای شما مفید بوده است؟
    [کل: ۰ میانگین: ۰]

    توانایی‌ تشخیص زمین‌لرزه با یادگیری ماشین

    مقاله قبلی

    یک شرکت دانش‌بنیان ایرانی موفق شد به کمک هوش مصنوعی آلودگی را در ظروف مواد غذایی تشخیص دهد

    مقاله بعدی

    شما همچنین ممکن است دوست داشته باشید

    نظرات

    پاسخ دهید

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