// Perform your desired action here (function (s, e, n, d, er) { s['Sender'] = er; s[er] = s[er] || function () { (s[er].q = s[er].q || []).push(arguments) }, s[er].l = 1 * new Date(); var a = e.createElement(n), m = e.getElementsByTagName(n)[0]; a.async = 1; a.src = d; m.parentNode.insertBefore(a, m) })(window, document, 'script', 'https://cdn.sender.net/accounts_resources/universal.js', 'sender'); sender('986212f6399684')

SciPy، محبوب ترین کتابخانه ماشین لرنینگ

کتابخانه scipy چیست؟

کار با داده‌ها و اعداد در علم آمار و ریاضیات، یا علوم دیگری که به آن مرتبط هستند، کاری است پیچیده و زمان‌گیر. زبان برنامه‌نویسی پایتون، برای آسان‌تر کردن فرآیند کار با داده‌های عظیم، کتابخانه‌های مختلفی را عرضه کرده است که هر کدام ویژگی خاص خود را دارد.

در این مقاله از سری مقاله‌های آموزش پایتون آمانج، به سراغ کتابخانه SciPy، یکی دیگر از کتابخانه‌های محبوب این زبان برنامه‌نویسی رفته‌ایم.

 

SciPy چیست؟

SciPy مخفف Scientific Python، یکی از کتابخانه‌های محبوب و کاربردی در زبان برنامه‌نویسی پایتون است که در محاسبات سنگین و پیچیده ریاضیاتی و علمی مربوط به موضوعات مختلف استفاده می‌شود.

SciPy بر روی کتابخانه معروف دیگری به نام NumPy ساخته شده است.

 


در مقاله “نامپای (Numpy): کتابخانه‌ای در خدمت ماشین لرنینگ” به معرفی کتابخانه NumPy پرداخته شده است که پیشنهاد می‌کنیم آن را مطالعه کنید.


 

سرعت و دقت پردازش داده در کتابخانه SciPy بسیار بالاست. همچنین دستورات و کلاس‌های این کتابخانه امکان دستکاری و مدل‌سازی هرگونه دیتا را برای برنامه‌نویس فراهم کرده است.

SciPy شامل مجموعه‌ای از  زیربسته‌ها یا Sub -package است که در ادامه به آن‌ها خواهیم پرداخت. اما قبل از آن لازم است به مقایسه SciPy و NumPy بپردازیم.

 


بیشتر بخوانید: “پکیج چیست؟+(چطور در پایتون پکیج طراحی کنیم)


مقایسه SciPy و NumPy

SciPy و NumPy هر دو کتابخانه‌های زبان برنامه‌نویسی پایتون هستند که برای آنالیز و تحلیل اعداد و ارقام و داده‌ها استفاده می‌شوند.

NumPy بیشتر بر روی آرایه داده و عملیات پایه‌ای مربوط به آرایه مانند مرتب‌سازی آرایه‌ها، اندیس‌گذاری و مواردی از این قبیل تمرکز دارد. همچنین نامپای شامل مجموعه‌ای از توابع ریاضی است که برای حل مسائلی از جمله جبر خطی، سری فوریه و انتگرال‌گیری استفاده می‌شود.

در حالی که SciPy بر روی داده‌های رقومی تمرکز دارد. علاوه بر این SciPy در مقایسه با نامپای، توابع ریاضی گسترده‌تری را شامل می‌شود.

اما به طور کلی برای تحلیل داده‌ها با زبان پایتون، شما به هر دو کتابخانه نیاز خواهید داشت.

 

نصب Scipy

نصب کتابخانه SciPy کار سختی نیست. برای نصب این کتابخانه در سیستم‌ عامل‌های مختلف می‌توانید به صورت زیر اقدام کنید:

نصب SciPy در ویندوز با دستور pip

Python3 -m pip install --user numpy scipy

نصب SciPy در لینوکس با دستور pip

sudo apt-get install  python-scipy python-numpy

نصب SciPy در مک

sudo port install py35-scipy py35-numpy

نصب SciPy به کمک آناکوندا

برای نصب کتابخانه SciPy به کمک آناکوندا، ابتدا باید آن را روی سیستم خود نصب کرده و سپس دستور زیر را در آن تایپ کنید:

conda install -c anaconda scipy

 

زیر بسته های SciPy

همانطور که در ابتدای این مقاله به آن اشاره شد، SciPy برای انجام عملیات مختلف، زیربسته‌های متنوعی را دارد که در لیست زیر آمده است:

  • cluster : الگوریتم‌های خوشه‌بندی
  • constants : مقادیر ثابت فیزیکی و ریاضیاتی
  • ffpack : سری فوریه
  • integrate : انتگرال‌گیری و حل معادلات دیفرانسیل
  • interpolate : درون یابی
  • io : ورودی و خروجی
  • linalg : جبر خطی
  • ndimage : پردازش تصاویر n بعدی
  • odr : رگرسیون فاصله متعامد
  • optimize : عملیات بهینه‌سازی و ریشه‌یابی
  • signal : پردازش سیگنال
  • sparse : ماتریس‌های پراکنده
  • spatial : ساختارها و الگوریتم‌های داده‌های مکانی
  • special : توابع خاص
  • stats : توزیع‌ها و توابع آماری

 

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

شما می‌توانید جزئیات اطلاعات مربوط به هر کدام از این زیر بسته ها را در داکیومنت رسمی SciPy مطالعه کنید.

برای استفاده از این بسته‌ها، ابتدا باید آن‌ها را فراخوانی کرد. مثلا اگر بخواهیم از cluster استفاده کنیم، باید از دستور زیر تایپ کنیم:

from scipy import cluster

 

معرفی توابع بسیار کاربردی و پر استفاده در SciPy

SciPy و NumPy دارای توابع مختلفی هستند. بسیاری از مواقع ما با همه این توابع آشنا نیستیم، یا نیاز داریم اطلاعات دقیق‌تری از این توابع به دست آوریم. تابع‌هایی وجود دارند که این کار را برای ما انجام می‌دهند.

 

تابع ()help

اگر بخواهیم اطلاعات مربوط به یک تابع خاص را به دست آوریم، می‌توانیم از تابع help استفاده کنیم. برای استفاده از تابع help دو راه وجود دارد:

  • استفاده از تابع help بدون پارامتر
  • استفاده از تابع help با پارامتر

در قطعه کد زیر روش استفاده از تابع help در هر دو روش نمایش داده شده است:

from scipy import cluster

help(cluster) #with parameter

help() #without parameter

همانطور که در کد بالا می‌بینید، در تابع help در خط دوم، اطلاعات مربوط به زیربسته cluster را برمی‌گرداند.

تابع help بعدی در خط سوم، ابتدا از کاربر می‌خواهد تا نام ماژول، زیربسته یا هر چیزی که به دنبال کسب اطلاعات درباره آن است را وارد کند. سپس آن اطلاعات را به کاربر نمایش می‌دهد.

 

تابع ()info

تابع info هم مانند help اطلاعات مربوط به یک تابع یا ماژول خاص را نمایش می‌دهد.

scipy.info(cluster)

تابع ()source

این تابع تنها برای مواردی استفاده می‌شود که به زبان پایتون نوشته شده باشد. به عبارت دیگر تابع source اطلاعاتی درباره آبجکت‌هایی که به زبان‌های برنامه‌نویسی دیگر مانند زبان برنامه‌نویسی C نوشته شده است، را نمایش نمی‌دهد. برای استفاده از این تابع می‌توانید از دستور زیر استفاده کنید:

scipy.source(cluster)

نتیجه‌گیری

زبان برنامه‌نویسی پایتون، از آن دسته زبان‌های برنامه‌نویسی است که فرآیند پردازش و تحلیل داده‌های بزرگ را برای ما فراهم کرده است. چگونه؟ به کمک تعریف کتابخانه‌های کاربردی.

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

کتابخانه SciPy که در این مقاله به معرفی آن پرداخته شد، یکی از محبوب‌ترین و گسترده‌ترین و کاربردی‌ترین کتابخانه‌های پایتون است. برای یادگیری حرفه‌ای و دقیق کتابخانه‌های پایتون پیشنهاد می‌شود ابتدا به یادگیری اصول زبان برنامه‌نویسی پایتون پرداخته و سپس با شرکت در دوره تخصصی آموزش ماشین لرنینگ، سطح خود را در برنامه‌نویسی پایتون، هوش مصنوعی و ماشین لرنینگ، ارتقا دهید.

آیا این مطلب برای شما مفید بود؟

امتیازشو ثبت کنید

میانگین / 5. تعداد رای

اولین نفر شما امتیاز دهید

نوشته شده توسط
نگین سعیدی

من نگین سعیدی هستم کارشناس سئو و تولیدمحتوا آکادمی آمانج

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *