ژوپیتر نوت بوک سه ویژگی مثبت دارد:
در هنگام نوشتن نسخه اولیه برنامه، امکان نوشتن کد در چند سلول عالی به نظر می آید. اما در نهایت شما به جای استفاده از برنامه نویسی شی گرا، برنامه خود را در چندین سلول نوشته اید.
هنگامی که در نوشتن کد خود، به جای استفاده از تابع/کلاس/شی، از سلول استفاده میکنید، در نهایت به برنامه ای میرسیم که چندین خط در آن تکرار شده است که نگهداری از چنین برنامه ای دشوار است.
یکی دیگر از مشکلات مربوط به نمایش نمودار ها است. چگونه میتوانید نمودار هارا به افراد خارج از تیم دیتا ساینس نشان دهید؟ در نگاه اول، ژوپیتر نوت بوک یک روش خوب برای نشان دادن نمودار هاست - فقط نوت بوک را به اشتراک بگذارید! اما چطور میتوانید مطمئن باشید که داده های مورد استفاده در آن نوت بوک و نمودار های حاصل، جدید هستند؟ خیلی راحت، بگذارید دیگران نوت بوک را اجرا کند.
اما در شرکت های بزرگ به مشکل های زیادی برخورد میکنید چون نمیخواهید افراد زیادی دسترسی مستقیم به داده های مورد استفاده داشته باشند. ( GDPR را مطالعه فرمایید ). در عمل، در یک محیط کاری، نمودار ها به محیط پاورپوینت کپی پیست میشوند. این کار برای دیتا ساینتیست بیهوده است که هرگاه که داده ها تغییر میکنند، عمل کپی پیست را دوباره انجام دهد.
این مثال از این نوت بوک را در نظر بگیرید.
شروع کار آسان بود. فقط تعدادی از سلول ها را از بخش اول نوت بوک کپی کردم و سپس برای خودم شروع به گشت و گذار کردم. اما همینجا میتوانیم نکته منفی را ببینیم. قسمت مدیریت دسترسی (access-credentials management) حالا در تمام نوت بوک ها کپی شده است. اگر تغییر بکنند چه میشود؟ در این صورت همه نوت بوک ها را باید تغییر داد.
با اندکی بی نظمی، ممکن است ورژن های مختلفی از یک نوت بوک را ایجاد کنید که هیچکس به یاد ندارد نتیجه هرکدام چه چیزی است.
میتوانید از Spyder یا PyCharm برای جایگزین ژوپیتر نوت بوک استفاده کنید.
در اسپایدر میتوانید بدون از دست دادن نتیجه کد فعلی خود، یک کد دیگر را بارگزاری کنید که این از ویژگی های خوب اسپایدر به حساب می آید. پس اگر میخواهید بسیاری از تغییرات خود را با استفاده از Pandas یا دیگر ابزار ها در کامپیوتر خود انجام دهید، اسپایدر یک گزینه ایده آل به حساب می آید. اگر از Anaconda استفاده میکنید، اسپایدر به همراه آناکوندا منتشر میشود.
پایچارم برای نوشتن برنامه های طولانی و گرفتن نتایج یکسان در کامپیوتر های مختلف مناسب است. پایچارم قابلیت های زیادی برای بهرهوری بیشتر دارد. در اسپایدر و پایچارم میتوان از #%% استفاده کرد تا مثل ژوپیتر نوت بوک کد ها را به سلول های مختلف تقسیم بندی کرد.
برای یکی از مشتری های قبلی، میخواستیم کیفیت کد ها را افزایش دهیم ولی اجازه دسترسی به داده ها روی کامپیوتر خود نداشتیم. زمانی را صرف جابجایی Virtual Machine ها با پایچارم انجام دادیم تا با یک روش ایمن به داده ها دسترسی داشته باشیم. این کار خیلی سریع نتیجه داد- سرعت توسعه و کیفیت کد به شدت افزایش یافت و روند تبدیل کد به محصول نهایی هم سریع تر انجام شد.
سوالی که پیش میآید این است که محاسبات کجا انجام میشوند. برای کد میتوان به Docker مراجعه کرد. برای نوت بوک ها هم گزینه های متعددی وجود دارند اگرچه که محدود به چند گزینه مشخص هستید.
برای نوت بوک ها میتوانید به Amazon SageMaker و Kubeflow مراجعه کنید.
آیا باید نوت بوک ها را حذف کنید ؟ نوت بوک ها ویژگی های مثبت زیادی دارند. این بستگی به محیط کار و نیاز های اصلی شما دارد: