با داده‌ها چه می‌توان کرد؟ 9 - پردازش خطی بصورت عملی

ML 101: Linear Regression Tutorial - Amar Budhiraja - Medium

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

این فایل را دانلود کنید و در همان پوشه ای که نوتبوک ژوپیتر (iPython) را بوجود می آورید، بگذارید. نحوه ایجاد یک نوتبوک جدید در ژوپیتر.

برای محاسبه پردازش خطی ش(linear regression) همیشه در اولین سلول، مجموعه این کدها را اجرا کرده. بدون اجرای این فرمانها در اولین سلول، قادر نخواهیم بود که عملیات دیگر مربوط به محاسبه های مربوط به پانداز (Pandas) و نام پای (NumPy) را انجام دهیم.


با این کد، داده هایی را که در پوشه مشترک با این فایل قرار دارد، ( اکنون مشغول کار بر روی آن هستید) می توانیم وارد نوتبوک کنیم و آنرا بخوانیم: 
pd.read_csv('Advertising.csv')

اکنون متغیر df که مخفف data frame است که (البته هر کلمه یا حروفی را می توانید بجای آن استفاده کنید،) حاوی داده هاست. با این کد می شود متغیرهایی که در محاسبه تاثیر تبلیغات ما در رادیو، تلوزیون و روزنامه بود را در چارچوب داده های موجود مشاهده کنیم. 
df.keys()
توجه داشته باشید که ما همچنان در مورد مثالی که در شماره ششم این سلسله مطالب مورد بررسی قرار دادیم، را استفاده می کنیم.

اکنون با این کد می توانیم بدون آنکه به اصل داده ها نگاه کنیم، دریابیم که چه تعداد ستون و ردیف داریم.

با فرمان ()info نیز می توان به تعداد ردیف و ستون پی برد. علاوه بر آن، نوع داده ها که عدد صحیح یا اعشار یا احیانا string که در اینجا وجود ندارد، مشخص می شود. توجه داشته باشیم که داده های مورد استفاده در اینجا تمیز شده است و احیانا سلولی بدون داده در میان این چارچوب وجود ندارد.

گاهی تعداد داده ها بسیار بیش از آنست که ما در اینجا استفاده می کنیم و شاید به چند ده هزار و یا بیشتر برسد. با دو فرمان ()head و ()tail می توانیم 5 داده اول و یا آخر را مشاهده کنیم.

دقت کنید که ما در این چارچوب 5 ستون می بینیم. در مثال ما چهار متغیر X که معرف عوامل تاثیر گذار بر فروش Y داشتیم. پانداز از داده ها یک ستون را به عنوان فهرست وارد کرده است که بدرد ما نمی خورد و باید آنرا حذف کنیم. این عمل را با این کد که اسم ستون را در گیومه قرار می دهیم، انجام می شود.
df.drop(columns='Unnamed: 0')
توجه کنیم که پس از اجرای این فرمان، آنرا دوباره در یک متغیر دیگر (با همان اسم) ذخیره می کنیم تا تثبیت شود، والا بصورت موقت انجام می شود.

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

با فرمان ()describe می توانیم به اطلاعات ساده و اولیه مانند میانگین، شمارش کل، کوچکترین و بزرگترین داده و میزان دوری و نزدیکی به میانگین (Standard Deviation, std) براحتی دست بیابیم.

تا اینجا، ما مقدمات اجرای فرمول اصلی برای محاسبه پردازش خطی را انجام دادیم. اکنون وقت آن رسیده که بسته (module) مربوطه را وارد کنیم و سپس با تعیین متغیرهای مربوطه و نتیجه Y، خلاصه گزارش را بدست بیاوریم.


اکنون نتیجه بدست آمده را با نتیجه حاصله در قسمت ششم مقایسه کنید.
برای بدست آوردن scatter plot از این فرمول استفاده کنید:

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

توجه داشته باشیم که در اینجا ما فقط متغیر تلوزیون را در نظر گرفته ایم.

بهتر است که خودتان همه این فرمانهای پایتون در پانداز(نوتبوک ژوپیتر) که ساخته اید را اجرا کنید. همچنین این فایل کامل تمامی این فرمانها است که می توانید دانلود کرده و آنرا باز کرده و اجرا کنید. توجه داشته باشید که این فایل می باید با داده ها در یک پوشه باشد تا بتواند آنرا بخواند. در قسمتهای بعد نحوه آوردن فایل از مکانی غیر از پوشه مشترک را یاد خواهیم گرفت.


*- بیشتر ملاتها در مورد بررسی آماری در این سلسله مطالب، برگرفته از دو کتاب An Introduction to Statistical Learning و The Elements of Statistical Learning Data Mining, Inference, and Prediction از انتشارات سپرینگر springer.com/us و کلاسهای ارائه شده آنلاین توسط دانشگاه هاروارد است.

**- استفاده از این سلسله مطالب با ذکر منبع آزاد است.

Comments

Popular posts from this blog

با داده‌ها چه می‌توان کرد؟ 12 - کار با پانداز - 3 چگونه داده‌ها را وارد کنیم؟