فصل دوم hands on

در فصل اول کتاب در مورد ماشین لرنینگ و انواع روش های آن توضیحاتی دادیم. در فصل2 میخواهیم به سراغ مسائل واقعی برویم.

در حل یک مسئله واقعی مراحل زیر را خواهیم داشت:

  1. Look at the big picture.
  2. Get the data.
  3. Discover and visualize the data to gain insights.
  4. Prepare the data for Machine Learning algorithms.
  5. Select a model and train it.
  6. Fine-tune your model.
  7. Present your solution.
  8. Launch, monitor, and maintain your system.

Working with Real Data

منابع زیادی برای بدست آوردن دیتا وجود دارد. در زیر چند نمونه آن معرفی میشود:

• Popular open data repositories
— UC Irvine Machine Learning Repository
Kaggle datasets
— Amazon’s AWS datasets

• Meta portals (they list open data repositories)
— Data Portals
— OpenDataMonitor
— Quandl

• Other pages listing many popular open data repositories
— Wikipedia’s list of Machine Learning datasets
— Quora.com
— The datasets subreddit

California housing prices

در ادامه مسئله تخمین قیمت خانه در کالیفرنیا را بررسی خواهیم کرد:

در پست مسئله قیمت خانه کالیفرنیا این موضوع به طور مفصل تشریح شده است.

Look at the Big Picture

این دیتاست شامل مواردی نظیر جمعیت، متوسط درآمد مردم منطقه است.

Frame the Problem

اولین سوال این است که ما به دنبال چه چیزی هستیم. پاسخ به این سوال تعیین میکند که از چه روشی استفاده کنیم،

چه مدلی طراحی کنیم و چه فیچرهایی را در نظر بگیریم.

Pipelines چیست؟

مجموعه ای از مراحل پردازش داده را pipeline گویند. هر مرحله یا بلوک دیتا را میگیرد و کاری روی آن انجام میدهد و به مرحله بعدی میفرستد.

ادامه حل مسئله قیمت خانه در کالیفرنیا:

1- از آنجا که دیتاهای ما از نوع labeled هستند ممکن است روش supervised learning روش مناسبی برای مسئله ما باشد.

2- همچنین چون میخواهیم مقادیری را پیش بینی (predict) کنیم، روش رگرسیون میتواند یکی از روش های ممکن باشد.

3-با موضوع multiple regression روبرو هستیم، چون تعداد فیچرهای متعددی داریم (اندازه خانه، متوسط درآمد ، تعداد اتاق و …)

4- با موضوع univariate regression روبرو هستیم، چون تنها به دنبال پیش بینی یک متغیر (قیمت خانه) روبرو هستیم.

5- چون دیتای ما ثابت است و نمونه ورودی جدید نداریم از میان batch و online نوع batch را انتخاب میکنیم.

Select a Performance Measure

انتخاب شاخصی که بتواند کیفیت عملکرد ما را ارزیابی کند اهمیت زیادی دارد. یک شاخص خوب Root Mean Square Error (RMSE) است. مقدار این خطا برای خطاهای بزرگتر ، مقدار بیشتری خواهد بود.

در این معادله m تعداد نمونه هایی است که در دیتاست وجود دارد. x مقدار فیچر دیتای i ام و y مقدار مطلوب خروجی برای ورودی متناظر با آن است. و h تابع پیش بینی کننده مدل ما خواهد بود که به آن hypothesis نیز میگویند. برای مثال اگر خانه ای در طول و عرض جغرافیایی،-118.29 ,33.91 و جمعیت آن منطقه برابر 1416 نفر باشد و متوسط درآمد آن منطقه 156400 باشد. x و y منتاظر با این داده به صورت زیر خواهد بود:

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

اندازه گیری مقدار خطا

تابع h یک ورودی متناسب با فیچرها میگیرد و مقداری را به عنوان پیش بینی تولید میکند که به آن y-hat گویند. تفاوت این مقدار پیش بینی شده با مقدار واقعی همان مقدار خطای ما خواهد بود. برای مثال اگر y1=500 و y-hat=450 باشد، مقدار خطای ما 50 خواهد بود.

RMSE وMAE هر دو مقیاسی برای اندازه گیری فاصله بین دو بردار هستند. بردار پیش بینی شده و بردار تارگت.

Check the Assumptions

گاهی میتوان با تبدیل داده ها به دسته های متعدد مسئله را از رگرسیون به classification تبدیل نمود.

Get the Data

آدرس گیتهاب برای کتاب

Create the Workspace

لازم است که پایتون را نصب کنید.

راهنمایی راه اندازی jupyter notebook و …

Download the Data

کد پایتون برای دریافت داده و …

Take a Quick Look at the Data Structure

نگاهی به ساختار داده مربوط به مسئله house price و …

و

شمارش تنوع در یک فیچر خاص:

جزییات بیشتر از داده ها:

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

نشانی ایمیل شما منتشر نخواهد شد.