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

3 سال پیش

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

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

پیشنهاد ویژه : پکیج آموزش پروژه محور پایتون

 

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

در اینجا، ما در مورد برخی از روشهای تنظیم پارامترهای الگوریتم ارائه شده توسط Python Scikit-learn بحث خواهیم کرد.

تنظیم پارامتر جستجوی شبکه

این یک روش تنظیم پارامتر است. نکته کلیدی کار این روش این است که مدل را برای هر ترکیب احتمالی پارامتر الگوریتم مشخص شده در یک شبکه ایجاد و ارزیابی می کند. از این رو ، می توان گفت که این الگوریتم ماهیت جستجو دارد.

مثال

در دستورالعمل پایتون زیر  ما قصد داریم با استفاده از کلاس GridSearchCV sklearn برای ارزیابی مقادیر مختلف آلفا برای الگوریتم Ridge Regression در مجموعه داده های دیابت Pima هند ، جستجوی شبکه را انجام دهیم.

ابتدا بسته های مورد نیاز را به شرح زیر وارد کنید –

import numpy
from pandas import read_csv
from sklearn.linear_model import Ridge
from sklearn.model_selection import GridSearchCV

 

اکنون، ما باید مجموعه داده های pima-indians-diabet را بارگیری کنیم، همانطور که در مثال های قبلی انجام شد –

path = r"C:\pima-indians-diabetes.csv"
headernames = ['preg', 'plas', 'pres', 'skin', 'test', 'mass', 'pedi', 'age', 'class']
data = read_csv(path, names=headernames)
array = data.values
X = array[:,0:8]
Y = array[:,8]

 

بعد، مقادیر مختلف آلفا را به شرح زیر ارزیابی کنید –

alphas = numpy.array([1,0.1,0.01,0.001,0.0001,0])
param_grid = dict(alpha=alphas)

 

اکنون، ما باید جستجوی شبکه را بر روی مدل خود اعمال کنیم –

model = Ridge()
grid = GridSearchCV(estimator=model, param_grid=param_grid)
grid.fit(X, Y)

 

نتیجه را با خط اسکریپت زیر چاپ کنید –

print(grid.best_score_)
print(grid.best_estimator_.alpha)

 

خروجی

۰٫۲۷۹۶۱۷۵۵۹۳۱۲۹۷۲۲
۱٫۰

 

خروجی فوق به ما نمره بهینه و مجموعه پارامترهای شبکه ای را می دهد که به آن امتیاز رسیده اند. مقدار آلفا در این حالت ۱٫۰ است.

تنظیم پارامتر جستجوی تصادفی

این یک روش تنظیم پارامتر است. نکته اصلی کار این روش این است که پارامترهای الگوریتم را از یک توزیع تصادفی برای تعداد ثابت تکرار نمونه برداری می کند.

مثال

در دستور پایتون زیر، ما می خواهیم با استفاده از کلاس sklearn RandomizedSearchCV برای ارزیابی مقادیر مختلف آلفا بین ۰ و ۱ برای الگوریتم Ridge Regression در مجموعه داده های دیابت Pima Indians ، جستجوی تصادفی انجام دهیم.

ابتدا بسته های مورد نیاز را به شرح زیر وارد کنید –

import numpy
from pandas import read_csv
from scipy.stats import uniform
from sklearn.linear_model import Ridge
from sklearn.model_selection import RandomizedSearchCV

 

اکنون، ما باید مجموعه داده های دیابت پیما را بارگیری کنیم ، همانطور که در مثال های قبلی انجام شد –

path = r"C:\pima-indians-diabetes.csv"
headernames = ['preg', 'plas', 'pres', 'skin', 'test', 'mass', 'pedi', 'age', 'class']
data = read_csv(path, names=headernames)
array = data.values
X = array[:,0:8]
Y = array[:,8]

 

بعد ، مقادیر مختلف آلفا را در الگوریتم رگرسیون ریج به شرح زیر ارزیابی کنید –

param_grid = {'alpha': uniform()}
model = Ridge()
random_search = RandomizedSearchCV(estimator=model, param_distributions=param_grid, n_iter=50,
random_state=7)
random_search.fit(X, Y)

 

نتیجه را با خط اسکریپت زیر چاپ کنید –

print(random_search.best_score_)
print(random_search.best_estimator_.alpha)

 

خروجی

۰٫۲۷۹۶۱۷۱۲۷۰۳۰۵۱۰۸۴
۰٫۹۷۷۹۸۹۵۱۱۹۹۶۶۰۲۷

 

خروجی فوق نمره بهینه دقیقاً مشابه جستجوی شبکه را به ما می دهد.

 

منبع.

 

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

  1. آموزش یادگیری ماشین با پایتون
  2.  مبانی یادگیری ماشین با پایتون  
  3. آموزش اکوسیستم یادگیری ماشین با پایتون 
  4. آموزش متدها در یادگیری ماشین با پایتون 
  5. آموزش بارگیری داده ها برای پروژه های یادگیری ماشین
  6. آموزش درک داده ها با آمار در یادگیری ماشین
  7. آموزش آماده سازی داده ها در یادگیری ماشین با پایتون 
  8. آموزش انتخاب ویژگی داده ها در یادگیری ماشین با پایتون
  9. آموزش طبقه بندی در یادگیری ماشین با پایتون
  10. آموزش رگرسیون لجستیک در یادگیری ماشین با پایتون
  11. آموزش ماشین بردار پشتیبان در یادگیری ماشین با پایتون
  12. آموزش درخت تصمیم در یادگیری ماشین با پایتون
  13. آموزش Naïve Bayes در یادگیری ماشین با پایتون
  14. آموزش جنگل تصادفی در یادگیری ماشین با پایتون
  15. آموزش الگوریتم های رگرسیون در یادگیری ماشین با پایتون
  16. آموزش الگوریتم های خوشه بندی در یادگیری ماشین با پایتون
  17. آموزش الگوریتم K-Means در یادگیری ماشین با پایتون
  18. آموزش الگوریتم تغییر میانگین در یادگیری ماشین با پایتون
  19. آموزش خوشه بندی سلسله مراتبی در یادگیری ماشین با پایتون
  20. آموزش یافتن نزدیکترین همسایه در یادگیری ماشین با پایتون
  21. آموزش معیارهای عملکرد در یادگیری ماشین با پایتون
  22. آموزش گردش کار خودکار در یادگیری ماشین با پایتون
  23. آموزش بهبود عملکرد مدل ها در یادگیری ماشین با پایتون
0
برچسب ها :
نویسنده مطلب erfan molaei

دیدگاه شما

بدون دیدگاه