زمان تخمینی مطالعه: 6 دقیقه
ژوپیتر نوتبوک(Jupyter Notebook) یک پلتفرم وب منبع باز است که به توسعه دهندگان اجازه میدهد اسنادی را ایجاد و به اشتراک بگذارند که شامل متن روایت، کد زنده، تجسمها و معادلات است. این پلتفرم مبتنی بر تجسم دادهها، تمیز کردن و تبدیل دادهها، یادگیری ماشین (ML)، شبیهسازی عددی و مدلسازی آماری است. ژوپیتر نوتبوک که قبلا به عنوان نوتبوک IPython شناخته میشد، اساسا یک ابزار محاسباتی تعاملی برای ایجاد اسناد نوتبوک است.
اصطلاح «نوتبوک» میتواند به بسیاری از موجودیتها، عمدتاً برنامه وب Jupyter، فرمت سند Jupyter یا وب سرور Jupyter Python بر اساس زمینه اشاره داشته باشد. توسعه دهندگان میتوانند زمینه را در ترکیبی از Markdown، Jupyter Notebooks، نسخه توسعهیافته Markdown که به عنوان MyST، reStructuredText، و Maths & Equations شناخته میشود، از طریق MathJax بسازند. نوتبوکهای Jupyter میتوانند فرمتهای خروجی مختلفی تولید کنند، از جمله فایلهای PDF، فایلهای تک، صفحات وب HTML، و غیره. اکنون که درک اولیهای از پروژه Jupyter و Jupyter Notebook داریم، اجازه دهید محیط تعاملی را با جزئیات بیشتری بررسی کنیم.
قابلیتهای ژوپیتر نوتبوک
Jupyter Book یک پروژه منبع باز است که به توسعه دهندگان کمک میکند تا اسناد و کتابهایی را از منابع محاسباتی ایجاد کنند. همانطور که در وب سایت رسمی Jupyter آمده است، هدف اصلی پروژه Jupyter ایجاد ابزارهای نرم افزاری منبع باز، خدمات و استانداردهای باز برای محاسبات تعاملی در زبانهای مختلف برنامهنویسی است. Jupyter عمدتاً برای کاربردهای علوم داده و تجزیه و تحلیل ساخته شده است و به زبانهایی مانند Julia، Python و R نوشته شده است. این پلتفرم اکنون به روشهای مختلف برای پروژهها استفاده میشود. علاوه بر این، ژوپیتر با از بین بردن شکافها برای دانشمندان و محققان علوم داده، تجسم دادهها، ذخیرهسازی و اسناد را به ویژه برای افراد بدون پیشزمینه فنی سادهتر و یکپارچهتر کرد است. مهمترین ویژگیهای Jupiter Notebook به قرار زیر است:
- تجزیه و تحلیل دادههای اکتشافی (EDA): ژوپیتر نوتبوک به توسعه دهندگان اجازه میدهد تا نتایج کد را بدون وابستگی به قسمتهای دیگر کد به صورت خطی ببینند. در Jupiter Notebook، هر سلول کد را میتوان در هر زمان مشاهده کرد تا به نتیجه برسد. به همین دلیل، Notebook چاپ درون خطی نتیجه را امکانپذیر میکند، که برای فرآیند تجزیه و تحلیل دادههای اکتشافی (EDA) بسیار مفید است. در مقایسه با سایر IDE های استاندارد، این تابع(عملکرد) در گزینههایی مانند VSCode یا PyCharm در دسترس نیست.
- ژوپیتر نوتبوک مستقل از زبان است: ژوپیتر پایتون به دلیل نمایش آن در قالب JSON، مستقل از زبان و مستقل از پلتفرم است. دلیل مهم دیگر این است که ژوپیتر نوتبوک از چندین زبان برنامهنویسی پشتیبانی میکند و کد را به فرمتهای مختلف فایل مانند PDF، Markdown، HTML و غیره تبدیل میکند.
- تعاملات زنده با کد: Jupiter Notebook از بستههای «ipywidgets» استفاده میکنند که رابطهای کاربر استاندارد (UI) را برای کاوش کد و تعامل دادهها ارائه میدهند. این موضوع امکانی را برای کاربران فراهم میکند تا کد را ویرایش کرده و آن را برای اجرای مجدد ارسال کنند و کد محیط را غیر ثابت میکند. همچنین به توسعهدهندگان این امکان را میدهد که منابع ورودی کد را کنترل کنند و در مرورگر بازخورد بدهند.
- ذخیرهسازی آسان در سلول داخلی: معمولاً حفظ وضعیت اجرای هر سلول بسیار چالش برانگیز میشود. بنابراین، ژوپیتر نوتبوک با اجرای خودکار وظایف، این فرآیند را بسیار ساده میکند. نرمافزار Jupyter این کار را با گرفتن نتایج هر سلول در حال اجرا انجام میدهد – صرف نظر از اینکه کدی است که یک مدل ML را آموزش میدهد یا کدی که حجم زیادی از دادههای آموزشی را از یک سرور راه دور دانلود میکند.
- تجسم دادهها: به عنوان یک جزء، ژوپیتر نوتبوک مشترک از تجسم دادهها، از جمله ارائه چند مجموعه داده مانند نمودارها و گرافیکها، پشتیبانی میکند. این مجموعه دادهها در درجه اول از کدها از طریق ماژولهایی مانند Bokeh، Matplotlib یا Plotly تولید میشوند. علاوه بر این، Jupiter Notebook به توسعه دهندگان یادگیری ماشین اجازه میدهد تا تصاویر را همراه با به اشتراکگذاری کد و مجموعه دادهها روایت کنند.
- کمک به نمونههای کد سند: ژوپبتر نوتبوک با ارائه یادداشتهایی در طول مسیر، توضیح کدهای خود را برای توسعهدهندگان آسان میکند. علاوه بر این، نوتبوک به توسعه دهندگان این امکان را میدهد که حتی با یک کد کاملاً کاربردی، یادداشتها را به صورت تعاملی اضافه کنند.
کاربردهای Jupiter Notebook
رایجترین موارد استفاده از ژوپیتر نوتبوک در ریاضیات، علوم داده، تجزیه و تحلیل دادهها و سایر پروژههای تحقیقاتی شامل تجسم فرمولها یا حجم زیادی از دادهها است. به غیر از این موارد، موارد استفاده متفاوت زیادی وجود دارد، از جمله:
- به اشتراکگذاری کد و داده: تنها کاری که باید انجام دهید این است که یک نوتبوک و فایلهای داده آن را به اشتراک بگذارید و آن را در بایگانی قرار دهید.
- به اشتراکگذاری تجسم، با یا بدون تعامل: معمولا، توسعهدهندگان خروجی تجسم داده را به شکل یک تصویر ثابت به اشتراک میگذارند، اما این تنها تا یک نقطه مفید است. از طریق ژوپیتر نوتبوک، به مخاطبان هدف خود اجازه میدهید پلتفرم را کشف کنند. به نوبه خود، این به مخاطبان هدف شما کمک میکند تا درک جامعی از دادهها به صورت تعاملی به دست آورند.
Jupyter Notebook ابزاری ضروری برای یادگیری و آموزش زبانهای برنامه نویسی مانند پایتون و به اشتراکگذاری حجم وسیعی از دادهها است. میتوانید نوت بوک خود را به صورت آنلاین با GitHub به اشتراک بگذارید یا آن را به یک نمایش اسلاید تبدیل کنید. اگر میخواهید یک Notebook را بدون نصب آن به اشتراک بگذارید، بایندر به شما کمک میکند تا این کار را انجام دهید. شرکتهای فناوری مانند گوگل و مایکروسافت نسخه مخصوص خود را از نوتبوک دارند. توسعه دهندگان میتوانند از این نسخهها برای ساخت و به اشتراکگذاری نوتبوکهای خود به ترتیب در Google Colaboratory (Google Colab) و Microsoft Azure Notebooks استفاده کنند.