مهندسی ویژگی با استفاده از کتابخانه پاندا (Pandas) برای افراد مبتدی
Series.dt() برای ویژگی های مبتنی بر تاریخ و زمان
ویژگی های تاریخ و زمان یک معدن طلا برای دانشمندان داده است. مقدار اطلاعاتی که میتوانیم فقط از طریق یک متغیر تاریخ-زمان بازیابی کنیم، در ابتدا شگفت آور است، اما زمانی که بتوانیم آن ها را به دست آوریم، دفعه بعد که متغیر تاریخ-زمان را در داده های خود می بینیم، بلا فاصله خود را درگیر کار میکنیم.
12-07-2020 01:00:45، به این تاریخ نگاه کنید و به تمام اجزای احتمالی این تاریخ خاص فکر کنید. از نگاه اول می توان گفت که روز، ماه، سال، ساعت، دقیقه و ثانیه داریم. اما اگر روی تاریخ تمرکز کنید، می بینید که می توانید روز هفته، ربع سال، هفته سال، روز سال و غیره را نیز محاسبه کنید. هیچ محدودیتی برای تعداد متغیر های جدیدی که می توانیم از طریق این یک متغیر تاریخ-زمان ایجاد کنیم وجود ندارد. اما هر متغیری برای مدل مفید نخواهد بود و استفاده از همه آنها به معنای افزایش ابعاد و حتی وارد کردن صدای اضافه یا نویز به مدل است. بنابراین، فقط استخراج متغیر های مرتبط با مشکل داده شما ضروری است.
اکنون که فهمیدیم که چه متغیر هایی را می توانیم استخراج کنیم، تنها چیزی که باقی می ماند استخراج آن ویژگی ها است. برای آسان کردن این فرآیند، پاندا ها یک تابع”dt” دارند که با استفاده از آن میتوانیم تمام ویژگی هایی را که در بالا نام بردیم و همچنین موارد دیگر را استخراج کنیم. خواندن مستندات pd.Series.dt برای فهم اینکه هر تابع چه کاری را انجام می دهد، به شدت توصیه می شود.
توجه: مجموعه داده ای که تا کنون روی آن کار می کردیم هیچ متغیر تاریخ-زمان ندارد. در اینجا ما از داده های مدت زمان سفر تاکسی نیویورک استفاده میکنیم تا نحوه استخراج ویژگی ها را از طریق متغیر های تاریخ-زمان نشان دهیم.
بیایید نگاهی به مجموعه داده ها بیاندازیم:
ما از pickup_datetime برای استخراج ویژگی ها با استفاده از پاندا ها استفاده خواهیم کرد.
1. data[‘pickup_year’] = data[‘pickup_datetime’].dt.year
|
2. data[‘pickup_dayofyear’] = data[‘pickup_datetime’].dt.day
|
3. data[‘pickup_monthofyear’] = data[‘pickup_datetime’].dt.month
|
4. data[‘pickup_hourofday’] = data[‘pickup_datetime’].dt.hour
|
5. data[‘pickup_dayofweek’] = data[‘pickup_datetime’].dt.dayofweek
|
6. data[‘pickup_weekofyear’] = data[‘pickup_datetime’].dt.weekofyear
|
ستون را ببینید تاریخ و زمان میزبانی شده توسط GitHub |
آیا شگفت انگیز نیست، که فقط با یک متغیر تاریخ-زمان، می توانیم شش متغیر جدید ایجاد کنیم که مطمئنا در زمان ساخت مدل بسیار مفید خواهند بود.
توجه: بیش از 50 روش مختلف برای ایجاد ویژگی های جدید با استفاده از تابع”pandas dt” وجود دارد. این بستگی به مشکل دستور
(Problem Statement) و فراوانی (فرکانس) متغیر های تاریخ-زمان (داده های روزانه، هفتگی یا ماهانه) دارد تا تصمیم بگیرد چه متغیر های جدیدی ایجاد شود./
دیدگاهتان را بنویسید