آموزش آماده سازی داده ها در یادگیری ماشین با پایتون 

4 سال پیش
آموزش آماده سازی داده ها در یادگیری ماشین با پایتون
امتیاز دهید post

آموزش آماده سازی داده ها در یادگیری ماشین با پایتون 

در این درس از مجموعه آموزش برنامه نویسی سایت سورس باران، به آموزش آماده سازی داده ها در یادگیری ماشین با پایتون خواهیم پرداخت.

پیشنهاد ویژه : آموزش طراحی وب سایت با پایتون

الگوریتم های یادگیری ماشین کاملاً به داده ها وابسته هستند زیرا مهمترین جنبه ای است که آموزش مدل را امکان پذیر می کند. از طرف دیگر ، اگر نتوانیم از داده های یاد شده مطلع شویم ، قبل از تغذیه آن با الگوریتم های ML ، دستگاه بی فایده خواهد بود. به عبارت ساده ، ما همیشه برای حل مسئله ای که می خواهیم ماشین حل کند ، باید داده های صحیح یعنی داده ها را در مقیاس ، قالب صحیح و حاوی ویژگی های معنی دار تغذیه کنیم.

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

 

چرا پیش پردازش داده ها؟

پس از انتخاب داده های خام برای آموزش ML ، مهمترین کار پیش پردازش داده ها است. به معنای گسترده ، پیش پردازش داده ها داده های انتخاب شده را به شکلی تبدیل می کند که می توانیم با آن کار کنیم یا می توانیم الگوریتم های ML را تغذیه کنیم. ما همیشه باید داده های خود را پیش پردازش کنیم تا بتواند مطابق انتظار الگوریتم یادگیری ماشین باشد.

تکنیک های پیش پردازش داده ها در  آماده سازی داده ها در یادگیری ماشین با پایتون 

ما تکنیک های پیش پردازش داده زیر را داریم که می تواند در مجموعه داده ها برای تولید داده ها برای الگوریتم های ML استفاده شود –

مقیاس گذاری

به احتمال زیاد مجموعه داده های ما از ویژگی هایی با مقیاس متفاوت تشکیل شده است، اما ما نمی توانیم چنین داده هایی را به الگوریتم ML ارائه دهیم از این رو نیاز به تجدید قوا دارد. جمع آوری اطلاعات اطمینان حاصل می کند که ویژگی ها در یک مقیاس هستند. به طور کلی ، ویژگی ها در محدوده 0 و 1 تغییر می یابند. الگوریتم های ML مانند نزول گرادیان و k-Nearest Neighbours به ​​داده های مقیاس بندی شده نیاز دارند. ما می توانیم داده ها را با کمک کلاس MinMaxScaler از کتابخانه scikit-learn Python مجدداً جمع آوری کنیم.

 

مثال

در این مثال ما داده های مجموعه داده های دیابت Pima Indians را که قبلاً استفاده کردیم ، مجدداً جمع خواهیم کرد. ابتدا داده های CSV بارگذاری می شوند (همانطور که در فصل های قبلی انجام شد) و سپس با کمک کلاس MinMaxScaler ، در محدوده 0 و 1 مجدداً مجدداً ذخیره می شوند.

چند خط اول اسکریپت زیر همان است که در هنگام بارگیری داده های CSV در فصل های قبلی نوشتیم.

 

اکنون، ما می توانیم از کلاس MinMaxScaler برای بازنشانی داده ها در محدوده 0 و 1 استفاده کنیم.

 

ما همچنین می توانیم داده ها را برای خروجی مطابق با انتخاب خود جمع بندی کنیم. در اینجا ، ما دقت را روی 1 تنظیم می کنیم و 10 ردیف اول را در خروجی نشان می دهیم.

 

خروجی

 

از خروجی فوق، تمام داده ها در محدوده 0 و 1 مجدداً جمع بندی شدند.

نرمال سازی

یکی دیگر از روش های مفید پیش پردازش داده ها نرمال سازی است. این برای جمع آوری مجدد هر ردیف از داده ها با طول 1 استفاده می شود. این به طور عمده در مجموعه داده های Sparse که صفرهای زیادی داریم مفید است. ما می توانیم داده ها را با کمک کلاس Normalizer از کتابخانه Python-scikit-learn دوباره جمع آوری کنیم.

 

انواع نرمال سازی

در یادگیری ماشین، دو نوع تکنیک پیش پردازش عادی به شرح زیر وجود دارد –

 

نرمال سازی L1

این ممکن است به عنوان تکنیک نرمال سازی تعریف شود که مقادیر داده را به گونه ای اصلاح کند که در هر سطر مجموع مقادیر مطلق همیشه تا 1 باشد. همچنین به آن انحراف مطلق مطلق نیز گفته می شود.

 

مثال

در این مثال ، از روش L1 Normalize برای عادی سازی داده های مجموعه داده های دیابت Pima Indians که قبلاً استفاده کردیم ، استفاده می کنیم. ابتدا داده های CSV بارگیری می شود و سپس با کمک کلاس Normalizer نرمال می شود.

چند خط اول اسکریپت زیر همان است که در هنگام بارگیری داده های CSV در درس های قبلی نوشتیم.

 

اکنون می توانیم از کلاس Normalizer با L1 برای نرمال سازی داده ها استفاده کنیم.

 

ما همچنین می توانیم داده ها را برای خروجی مطابق با انتخاب خود جمع بندی کنیم. در اینجا ، ما دقت را روی 2 تنظیم می کنیم و 3 ردیف اول را در خروجی نشان می دهیم.

 

خروجی

 

نرمال سازی L2 

این ممکن است به عنوان تکنیک نرمال سازی تعریف شود که مقادیر مجموعه داده را به گونه ای اصلاح کند که در هر سطر مجموع مربع ها همیشه تا 1 باشد. همچنین به آن حداقل مربعات گفته می شود.

مثال

در این مثال ، ما از روش L2 Normalization برای نرمال سازی داده های مجموعه داده های دیابت Pima Indians که قبلاً استفاده کردیم ، استفاده می کنیم. ابتدا داده های CSV بارگذاری می شوند (همانطور که در فصل های قبلی انجام شده است) و سپس با کمک کلاس Normalizer نرمال می شوند.

چند خط اول اسکریپت زیر همان است که در هنگام بارگیری داده های CSV در فصل های قبلی نوشتیم.

 

اکنون می توانیم از کلاس Normalizer با L1 برای نرمال سازی داده ها استفاده کنیم.

 

ما همچنین می توانیم داده ها را برای خروجی مطابق با انتخاب خود جمع بندی کنیم. در اینجا ما دقت را روی 2 تنظیم می کنیم و 3 ردیف اول را در خروجی نشان می دهیم.

 

خروجی

 

باینری سازی

همانطور که از نامش پیداست ، این تکنیکی است که به کمک آن می توانیم داده های خود را باینری کنیم. برای باینری سازی داده های خود می توانیم از یک آستانه باینری استفاده کنیم. مقادیر بالای آن مقدار آستانه به 1 و زیر آن آستانه به 0 تبدیل می شود. به عنوان مثال ، اگر مقدار آستانه = 0/5 را انتخاب کنیم ، سپس مقدار مجموعه داده بالای آن 1 و زیر آن 0 می شود. یعنی چرا می توانیم آن را باینری سازی داده ها یا آستانه گذاری داده ها بنامیم. این تکنیک زمانی مفید است که احتمالاتی را در مجموعه داده خود داشته باشیم و بخواهیم آنها را به مقادیر واضح تبدیل کنیم.

ما می توانیم داده ها را با کمک کلاس Binarizer از کتابخانه Python-scikit- یاد بگیریم.

مثال

در این مثال، ما داده های مجموعه داده های دیابت Pima Indians را که قبلاً استفاده کرده بودیم ، دوباره جمع آوری خواهیم کرد. ابتدا داده های CSV بارگیری می شود و سپس با کمک کلاس Binarizer بسته به مقدار آستانه به مقادیر باینری یعنی 0 و 1 تبدیل می شود. ما 0.5 را به عنوان مقدار آستانه در نظر می گیریم.

چند خط اول اسکریپت زیر همان است که در هنگام بارگیری داده های CSV در فصل های قبلی نوشتیم.

 

اکنون می توانیم از کلاس Binarize برای تبدیل داده ها به مقادیر باینری استفاده کنیم.

 

در اینجا ، ما 5 ردیف اول را در خروجی نشان می دهیم.

 

خروجی

 

استاندارد سازی

یکی دیگر از تکنیک های مفید پیش پردازش داده ها که اساساً برای تبدیل ویژگی های داده با توزیع گوسی استفاده می شود. این میانگین و SD (انحراف معیار) را به یک توزیع استاندارد گاوسی با میانگین 0 و SD 1 تغییر می دهد. این روش در الگوریتم های ML مانند رگرسیون خطی ، رگرسیون لجستیک که توزیع گاوسین را در مجموعه داده ورودی فرض می کند و تولید بهتر است ، مفید است. نتایج با داده های مجدد ما می توانیم داده ها (میانگین = 0 و SD = 1) را با کمک کلاس StandardScaler کتابخانه پایتون scikit-learn – استاندارد کنیم.

مثال

در این مثال ما داده های مجموعه داده های دیابت Pima Indians را که قبلاً استفاده کردیم ، مجدداً جمع خواهیم کرد. ابتدا داده های CSV بارگیری می شود و سپس با کمک کلاس StandardScaler به توزیع گاوسی با میانگین = 0 و SD = 1 تبدیل می شود.

چند خط اول اسکریپت زیر همان است که در هنگام بارگیری داده های CSV در فصل های قبلی نوشتیم.

 

اکنون ، ما می توانیم از کلاس StandardScaler برای بازنویسی داده ها استفاده کنیم.

 

ما همچنین می توانیم داده ها را برای خروجی مطابق با انتخاب خود جمع بندی کنیم. در اینجا ، ما دقت را روی 2 تنظیم می کنیم و 5 ردیف اول را در خروجی نشان می دهیم.

 

خروجی

 

برچسب گذاری داده ها

ما در مورد اهمیت fata خوب برای الگوریتم های ML و همچنین برخی از تکنیک های پیش پردازش داده ها قبل از ارسال آنها به الگوریتم های ML بحث کردیم. یک جنبه دیگر در این زمینه برچسب گذاری داده ها است. همچنین ارسال داده ها به الگوریتم های ML با برچسب گذاری مناسب بسیار مهم است. به عنوان مثال ، در صورت بروز مشکلات طبقه بندی ، بسیاری از برچسب ها به صورت کلمات ، اعداد و غیره بر روی داده ها وجود دارد.

رمزگذاری برچسب چیست؟

بیشتر توابع sklearn انتظار دارند که داده ها دارای برچسب اعداد باشند تا برچسب های کلمه ای. از این رو ، ما باید چنین برچسب هایی را به برچسب اعداد تبدیل کنیم. این فرآیند رمزگذاری برچسب نامیده می شود. ما می توانیم رمزگذاری برچسب داده ها را با کمک تابع () LabelEncoder کتابخانه پایتون scikit-learn انجام دهیم.

 

مثال

در مثال زیر، اسکریپت پایتون کدگذاری برچسب را انجام می دهد.

ابتدا کتابخانه های مورد نیاز Python را به صورت زیر وارد کنید –

 

اکنون ، ما باید برچسب های ورودی را به شرح زیر ارائه دهیم –

 

خط بعدی کد، رمزگذار برچسب را ایجاد کرده و آن را آموزش می دهد.

 

خطوط بعدی اسکریپت با رمزگذاری لیست مرتب شده تصادفی عملکرد را بررسی می کنند –

 

ما می توانیم لیستی از مقادیر رمزگذاری شده را با کمک اسکریپت پایتون زیر بدست آوریم –

 

خروجی

 

منبع.

لیست جلسات قبل آموزش یادگیری ماشین با پایتون 

  1. آموزش یادگیری ماشین با پایتون
  2.  مبانی یادگیری ماشین با پایتون  
  3. آموزش اکوسیستم یادگیری ماشین با پایتون 
  4. آموزش متدها در یادگیری ماشین با پایتون 
  5. آموزش بارگیری داده ها برای پروژه های یادگیری ماشین
  6. آموزش درک داده ها با آمار در یادگیری ماشین
امتیاز دهید post
0
برچسب ها :
نویسنده مطلب saber

دیدگاه شما

بدون دیدگاه