(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 چیست؟

  این مقاله را میتوانید در مدت زمان 8 دقیقه مطالعه کنید   منتشر شده در تاریخ: دی ۱۸ام, ۱۴۰۱   آخرین بروزرسانی: دی ۱۸ام, ۱۴۰۱


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

در این مقاله از سری مقاله‌های آموزش پایتون آمانج، به سراغ کتابخانه 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. تعداد رای

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

دوره تخصصی یادگیری ماشین

در یک دوره آموزشی متخصص یادگیری ماشین شوید.

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

شاید به این مطالب نیز علاقه مند باشید.

یادگیری ماشین با پایتون

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

یادگیری ماشین یکی از به روزترین شاخه های تکنولوژی در دوران مدرن است. طبق گفته فوربس، اختراعات ثبت شده توسط یادگیری ماشینی بین سالهای ۲۰۱۳ و ۲۰۱۷ رشد ۳۴درصدی داشته…

مفهوم شی‌گرایی به زبان ساده

مفهوم شی‌گرایی به زبان ساده

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

قوانین هوش مصنوعی

Responsible AI یا قوانین هوش مصنوعی کجا هستند؟

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

0 0 رای
امتیازدهی به مقاله
دنبال کردن
با خبر کردن از
guest
0 دیدگاه
بازخورد داخلی
دیدن همه نظرات

تاییدیه ها

تهران - ستارخان، خیابان کوثر دوم، پلاک ۱۰، واحد ۳

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

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

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

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

دوره تخصصی یادگیری ماشین

در یک دوره آموزشی متخصص یادگیری ماشین شوید.

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