آمار منتشر شده از سوی سایت builtwith نشان میدهند که نزدیک به 45 درصد از شرکتهای فناوری ترجیح میدهند از پایتون برای برنامهنویسی الگوریتمهای یادگیری ماشین و هوش مصنوعی استفاده کنند. البته ارائه فهرستی از کتابخانههای شاخص در حوزه یادگیری ماشین کار سادهای نیست، به دلیل اینکه کتابخانهها را به راحتی میتوان در گروههای مختلفی طبقهبندی کرد. بهطور مثال، کتابخانه Keras که در ارتباط با شبکههای عمیق عصبی کاربرد دارد در فهرست ما قرار دارد و در مقابل تنسورفلو در این فهرست قرار ندارد. ما از آن جهت کرس را در فهرست خود جای دادهایم که این کتابخانه شبیه به کتابخانه scikit-learn برای کاربر نهایی است، اما تنسورفلو کتابخانهای است که هدفش پژوهشگران و مهندسان یادگیری ماشین است. کتابخانههایی که در ادامه با آنها آشنا خواهید شد بر مبنای میزان استقبال کاربران و مشارکتکنندگان در سایت گیتهاب در این مقاله قرار گرفتهاند. آماری که گیتهاب در این زمینه ارائه کرده تا تاریخ 3 اکتبر 2018 معتبر بوده و از آن تاریخ به بعد ممکن است کتابخانههای دیگری بنابر امتیازها جایگزین هشت موردی شوند که در ادامه با آنها آشنا خواهید شد. برای توصیف خوب بودن یک کتابخانه باید یکسری معیارها را در نظر گرفت که از آن جمله به موارد زیر می توان اشار کرد.
مستندات
تقریبا هر پروژه محبوب پایتون همراه با مستندات ارائه میشود. مستندات به نحوه نصب و پیکربندی، جزییاتی در ارتباط با واسطهای برنامهنویسی و موارد استفاده اولیه اشاره دارند. از این منظر بالاترین امتیاز را کتابخانههایی به دست میآورند که در قالب یک مقاله آموزشی نشان دهند چگونه میتوان از توابع استفاده کرد و همچنین در ارتباط با الگوهای طراحی و دستورات رایج اطلاعات کافی را ارائه کرده و در نهایت اطلاعات سطح بالاتری در ارتباط با فراخوانیهای پیشرفته ارائه کنند.
مدیریت
این معیار نسبی بوده و به مقدار کاری که برای پیکربندی و استفاده از کتابخانه صرف میشود اشاره دارد.
قابلیتهای بومی
برای این معیار نمره بالا به کتابخانههایی داده میشود که پشتیبانی بومی برای یکسری وظایف را به شکل ذاتی ارائه کنند.
گسترشپذیری
این مورد بیشتر در ارتباط با چارچوبها صدق کرده و کمتر در مورد کتابخانهها میتوان در مورد آن بحث کرد. بیشتر چارچوبهای پایتون میتوانند از پروژههایی شبیه به Gevent یا Gunicorn برای گسترشپذیری کارها استفاده کنند.
1. scikit-learn
تعداد مشارکتکنندگان: 1175
انجمنها: 23301
ستارههای داده شده: 30867
Scikit-learn یک کتابخانه متنباز برای یادگیری ماشین است که بر مبنای Numpy، SciPy و matplotlib ساخته شده است. این کتابخانه ابزارهای ساده و کارآمدی برای دادهکاوی و تحلیل دادهها در اختیارتان قرار میدهد. SKLearn در دسترس عموم متخصصان قرار داشته و قابل استفاده مجدد در زمینههای مختلف است.
2. Keras
تعداد مشارکتکنندگان: 726
انجمنها: 4818
ستارههای داده شده: 34066
Keras یک واسط برنامهنویسی کاربردی (API) سطح بالا ویژه شبکههای عصبی است که برای پایتون نوشته شده و این قابلیت را دارد تا روی تنسورفلو، CNTK یا Theano آنرا اجرا کرد. این کتابخانه با تمرکز روی قابلیت آزمایش سریع طراحی شده است. هر پروژهای با هدف به سرانجام رساندن یک ایده به نتیجهای عملی با کمترین زمان تاخیر ممکن کار خود را آغاز میکند و کتابخانه Keras به خوبی به این مسئله پرداخته است.
3. XGBoost
تعداد مشارکتکنندگان: 319
انجمنها: 3454
ستارههای داده شده: 13630
XGBoost یک کتابخانه تقویت شده توزیع شده است که با هدف دستیابی به بهترین عملکرد، انعطافپذیری و قابلیت حمل بالا طراحی و بهینهسازی شده است. این کتابخانه الگوریتمهای یادگیری ماشین را تحت چارچوب Gradient Boosting پیادهسازی کرده است. XGBoost یک درخت موازی که به نامهای GBDT و GBM شناخته میشود را برای حل برخی از مشکلات مربوط به علم دادهها ارائه کرده تا مهندسان این حوزه در کوتاهترین زمان بتوانند مشکلات را برطرف کنند. کد یکسانی نیز روی محیطهای توزیع شده بزرگ همچون هادوپ، SGE و MPI قابل اجرا است که این کد میتواند مسائلی که فراتر از میلیاردها نمونه برای آنها وجود دارد را حل کند.
4. StatsModels
تعداد مشارکتکنندگان: 162
انجمنها: 10837
ستارههای داده شده: 3275
StatsModels یک پکیج پایتون است که نقش مکمل را برای scipy بازی کرده و برای انجام محاسبات آماری همچون آمار توصیفی و برآوردهایی برای مدلهای آماری از آن استفاده میشود.
5. LightGBM
تعداد مشارکتکنندگان: 91
انجمنها: 1272
ستارههای داده شده: 6736
یک چارچوب تقویت شده سریع با عملکرد بالا و توزیع شده است که بر پایه الگوریتمهای درخت تصمیمگیری ساخته شده و به منظور رتبهبندی، طبقهبندی و بسیاری دیگر از وظایف مرتبط با یادگیری ماشین استفاده میشود. این چارچوب تحت لوای پروژه هوش مصنوعی مایکروسافت DMTK قرار درد.
6. CatBoost
تعداد مشارکتکنندگان: 77
انجمنها: 3304
ستارههای داده شده: 3241
CatBoost یک رویکرد یادگیری ماشین بر پایه gradient boosting بوده که بر مبنای درختهای تصمیمگیری کار میکند. از قابلیتهای شاخص این کتابخانه میتوان به کیفیت بالا در مقایسه با کتابخانههای GBDT، سرعت بالا در استنباط دستهها (کلاسها)، پشتیبانی از ویژگیهای عددی و دستهای و ابزارهای تجسمسازی دادهها اشاره کرد.
7. PyBrain
تعداد مشارکتکنندگان: 32
انجمنها: 992
ستارههای داده شده: 2598
PyBrain یک کتابخانه ماژولار یادگیری ماشین برای پایتون است. این کتابخانه با هدف ارائه الگوریتمهای قدرتمند انعطافپذیر با کاربری ساده به منظور پیادهسازی وظایف یادگیری ماشین طراحی شده است. از این کتابخانه در محیطهای از پیش تعریف شده برای آزمایش و ارزیابی الگوریتمها نیز استفاده میشود.
8. Eli5
تعداد مشارکتکنندگان: 6
انجمنها: 929
ستارههای داده شده: 932
ELI5 یک پکیج پایتون است که فرآیند دیباگ کردن دستههای یادگیری ماشین و تشریح پیشبینیها را ساده میکند. این کتابخانه از چارچوبها و پکیجهای scikit-learn, XGBoost, LightGBM, lightning و sklearn-crfsuite پشتیبانی میکند.
ماهنامه شبکه را از کجا تهیه کنیم؟
ماهنامه شبکه را میتوانید از کتابخانههای عمومی سراسر کشور و نیز از دکههای روزنامهفروشی تهیه نمائید.
ثبت اشتراک نسخه کاغذی ماهنامه شبکه
ثبت اشتراک نسخه آنلاین
کتاب الکترونیک +Network راهنمای شبکهها
- برای دانلود تنها کتاب کامل ترجمه فارسی +Network اینجا کلیک کنید.
کتاب الکترونیک دوره مقدماتی آموزش پایتون
- اگر قصد یادگیری برنامهنویسی را دارید ولی هیچ پیشزمینهای ندارید اینجا کلیک کنید.
نظر شما چیست؟