سلام دوست عزیز؛ اگه با برنامه پروژه هوش مصنوعی با فنولوژی آشنا نیستی، باید بگم که ما دور هم جمع شدیم و سعی میکنیم پروژههای مختلف هوش مصنوعی رو انجام بدیم تا برای ورود به بازار کار آماده بشیم. حتما داخل گروه پروژهها عضو شو که اطلاعرسانیها رو از دست ندی. به عنوان شروع کار، میخوایم یه پروژه کوچیک اما جالب رو بزنیم. حالا بدون اتلاف وقت بریم سراغ توضیح پروژه. راستی! اگه پروژه رو انجام دادی حتما داخل تلگرام برای مسئول پروژهها بفرست که بهت فیدبک بده.
تایتانیک، ماشین لرنینگ و دیگر هیچ
غرق شدن کشتی تایتانیک، یه فاجعه و تراژدی تمام عیار در تاریخه. ۱۵ آوریل ۱۹۱۵، روز سیاهی بود که کشتی تایتانیک با یک تکه یخ عظیم برخورد کرد و غرق شد. این اتفاق باعث شد عده زیادی حیرتزده بشن! دلیلش این بود که تایتانیک به اعتقاد خیلی از متخصصان، یه کشتی کاملا مقاوم برای اقیانوسپیمایی بود. متاسفانه به خاطر این که قایق نجات به اندازه کافی داخل کشتی وجود نداشت، ۱۵۰۲ نفر از مجموع ۲۲۲۴ مسافر این کشتی غرق شدند و جون خودشون رو از دست دادن 🙁
خب حالا ما میخوایم چیکار کنیم؟ طبیعتا دیگه کشتی غرق شده و کاری برای نجاتش از دستمون بر نمیاد! اما یه سوالی که ممکنه ذهن ما رو به خودش مشغول کنه اینه که آیا قبل از مرگ افراد، میشد پیشبینی کرد چه کسایی شانس بیشتری برای نجات پیدا کردن دارن؟ سوال عجیبی به نظر میاد. خب چجوری میشه پیشبینی کرد چه کسایی فوت میکنن و چه کسایی نجات پیدا میکنن؟ مگه ما علم غیب داریم؟ خبر خوب این که علم غیب داریم!
خب دیگه واقعا بریم سراغ پروژه 🙂 این پروژه یه جور کاوشگری در دادهها یا همون (EDA (Exploratory Data Analysis روی یک دیتاست به نام titanic هست. اگه شما تازهکار هستی، انجام همین بخش EDA برای این پروژه کافیه و نیاز نیست بخش مدل ماشین لرنینگ هم پیادهسازی کنی و این قسمت رو بذار برای پروژههای بعدی؛ اما اگه دوست داشته باشی میتونی پروژه رو تا آخر انجام بدی. تا یادم نرفته بگم که بعد از تموم شدن وقت پروژه، فیلم آموزشی اون داخل همین صفحه سایت فنولوژی قرار میگیره.
دیتاست تایتانیک چیه؟
این دیتاست در واقع اطلاعات واقعی مسافران کشتی تایتانیک و کسانی که نجات پیدا کردن رو به ما میده. ما قراره چیکار کنیم؟ ما قراره بر اساس این اطلاعات، بیایم و ببینیم آیا کسانی که نجات پیدا کردند ویژگیهای خاصی نسبت به کسانی که نجات پیدا نکردند دارند یا نه. اگه نمیدونی دیتاست چیه، باید بگم که دیتاست در واقع یه جدول پر از داده هست که یه سری سطر و یه سری ستون داره. یه چیزی مثل شکل زیر:
حالا دیتاست رو از کجا میشه پیدا کرد؟
دیتاست رو قرار نیست ما بسازیم 😐 آدمای دیگهای قبلا دیتاست رو ساختن و میشه داخل سایتهایی مثل kaggle، دیتاستهای مختلف رو پیدا کرد. دیتاست مورد استفاده در این پروژه رو میتونین با تکمیل فرم زیر دانلود کنید:
وقتی این دیتاست رو دانلود میکنید با دو تا فایل با فرمت csv روبرو میشین. یکی به اسم train و یکی به اسم test. حالا اینا ینی چی؟ ما وقتی یه مدلی میسازیم که میتونه پیشبینی کنه چه مسافرهایی نجات پیدا کردن، نیاز داریم مدل رو تست هم کنیم و ببینیم عملکردش تا چه حد قابل قبول هست. برای تست کردن هم باید از دیتایی استفاده کنیم که تا قبل به مدل ندادیم. برای این کار از دیتای موجود در فایل test استفاده میکنیم و برای ساخت خود مدل، از دیتای موجود در فایل train استفاده میکنیم. خب حالا بیاید دو تا اصطلاح مهم دیگه رو هم یاد بگیریم:
فیچر (feature): دیتاست ما یک سری ستونهایی داره و یک سری سطرهایی؛ هر ستون در واقع داره یکی از ویژگیهای مسافر رو بیان میکنه. مثلا یک ستون اسم مسافرها رو نشون میده، یک ستون جنسیت اونها رو و …. فیچر در واقع همین ویژگیهای دیتاست ماست.
لیبل (label): لیبل در حقیقت اون چیزی هست که ما میخوایم پیشبینی کنیم. لیبل هم یکی از ستونهای دیتاست هست (مثل فیچرها). ما اینجا میخوایم پیشبینی کنیم که مسافر نجات پیدا کرده یا نه؛ پس نجات پیدا کردن یا نجات پیدا نکردن میشه لیبل ما.
توضیح فیچرهای دیتاست تایتانیک
هر سطر از این دیتاست نشاندهنده اطلاعات یک فرد هست. همون طور که توضیح دادیم هر ستون هم یک ویژگی از مسافر (فیچر) رو نشون میده. ستونهای موجود در این دیتاست (ینی همون فیچرها و لیبل) اینا هستن:
passengerID = آیدی عددی مسافر
survived = اگر ۰ بود یعنی غرق شده و اگر ۱ بود یعنی نجات یافته
pclass = کلاس بلیت (۱ = فرست کلس / ۲ = سکند کلس / ۳ = ثیرد :)) کلس)
name = نام
sex = جنسیت
age = سن
sibsp = تعداد همسر و خواهر و برادر داخل کشتی
parch = تعداد فرزندان یا پدر و مادر داخل کشتی
ticket = کد بلیت
fare = کرایه مسافر به پوند
cabin = شماره کابین
embarked = بندری که از آن سوار شدند (c = شربورگ / s = ساونتهمپتون / q = کویین تاون)
حالا ما دقیقا چه کارایی باید انجام بدیم؟
دقیقا که هر کاری دوست دارید 🙂 هر چی کارای بیشتری انجام بدین بهتره. چند تا مثال از کارهایی که میتونین انجام بدین رو در ادامه میگیم ولی حتما سعی کنید کارهای خیلی بیشتر و متفاوتتری انجام بدین.
زنها بیشتر نجات پیدا کردن یا مردها؟
آیا سن تاثیری داشته در این که فرد نجات پیدا کنه یا نه؟ کد بلیط چطور؟ کرایه مسافر چطور؟
آیا افرادی که دارای فرزند بودند و جنسیت زن داشتند اولویت بیشتری بر کسانی که جنسیت مرد داشتند و دارای فرزند بودند داشتند؟
نمودارهای مختلفی رسم کنید که بشه به شکل تصویری دید بهتری نسبت به این دیتاست پیدا کرد.
با روشهای مختلف یادگیری ماشین، مدلهایی بسازین که پیشبینی کنه فرد نجات پیدا میکنه یا غرق میشه (بخش اختیاری)
کمک!
برای این که بتونین راحتتر این پروژه رو انجام بدین، میتونین از این مطالب هم استفاده کنین:
هوش مصنوعی چیست و چه کاربردی دارد؟
ویدیو آشنایی با کتابخانههای یادگیری ماشین در پایتون
بخش ویژه
اگه فیلم تایتانیک رو ندیدی متاسفم برات. اول اونو ببین بعد پروژه رو انجام بده :))) دمت گرم که تا آخر خوندی و موفق باشی. منتظر کار درخشانت هستیم.
ویدیو آموزشی
تذکر بسیار مهم: «حتما حتما پروژه رو اول خودتون انجام بدین و بعد ویدیو آموزشی رو ببینید»
ارائهدهنده: امید حسنی
سلام خیلی ممنون لطفا فیلم آموزشش رو هم قرار بدید متشکرم 🙂
سلام. قرار گرفت. موفق باشیییید
خیلی خیلی عالی بود آموزش. استاد خیلی ماهن و اصلا خسته نمی شه آدم تو کلاس. می دونم زحمت هست ولی لطفا بعد از هر آموزش کدها رو هم آپلود کنید. منتظر پروژه بعدی هستیم.
ممنون از لطف شما. خوشحالیم که مفید بوده. حتما نظراتتون در مورد پروژه رو اینجا اعلام کنید: https://fanology.ir/feedback
عالی بود..دستتون درد نکنه
ممنون از شما
سلام دیتاست قابل دانلود نیست لطفا پیگیری کنید ممنون