Jupyter Notebook İpuçları
2021-01-14 Büşra Güner
Jupyter Notebook, veri bilimi projelerini geliştirmek için etkileşimli bir ortam sağlayan, açık kaynak kodlu bir araçtır.
Ek olarak, başlıklara ayırabildiğiniz, kısa notlar alabildiğiniz ve görseller ekleyebildiğiniz için hem programlamaya yeni başlayanlar hem de ders anlatıcıları adına kullanımı oldukça kolay bir ortam sağlıyor.
Öncelikle Jupyter Notebook ile çalışabilmek için Python ve Anaconda kurulumu yapmamız gerekiyor.
Link üzerinden, indirilebilir Python versiyonlarına erişebiliyoruz. Son dönemin en çok kullanılan sürümü ise 3.8.6 ‘dır. Genel geçer tüm sorularınıza internet üzerinden cevap bulabilmek için şimdilik bu versiyonu kullanmak doğru görünüyor.
Yol arkadaşımız olacak olan Jupyter Notebook’ a ise Anaconda kurulumu yaparak erişebiliyoruz.
Photo by Nate Grant on Unsplash
Kurulumlarla ilgili gerekli detaylara birçok arkadaşımızın blog sayfalarından kolaylıkla erişebileceğimiz için, amacım sadece kolay ve efektif kullanıma yönelik bilgiler paylaşmak. Bu sebeple daha fazla detay vermeden, doğrudan ipuçlarına geçelim.
İlk merak edilen konudan başlayalım.
Kısayollar
“Code” açılır alanının yanında bulunan klavye simgesinden kısayolların listesini görebiliyoruz.
En çok ihtiyaç duyulan kısayolları aşağıda notlarımıza ekledim.
Detaylı bilgiye ise Edureka Cheat Sheet üzerinden erişebiliyorsunuz.
Photo by Florian Krumm on Unsplash
Tab : Kodu tamamlayabileceğiniz seçenekleri getirir.
Shift + Tab : Fonksiyonla ilgili Tooltip’i getirir.
Ctrl + / : Yorum satırına dönüştürür.
m : Hücreyi Markdown bloğuna çevirir.
y : Hücreyi Code bloğuna çevirir.
dd : Hücreyi siler.
a : Bloğun üstüne yeni hücre ekler.
b : Bloğun altına yeni hücre ekler.
Varsayılan olmayan bir kısayolu oluşturmak için ise menüden Help — Edit Keyboard Shortcuts adımlarını takip ediyoruz.
Örneğin benim için hayati olan :) Clear Cell Output kısayolunu aşağıdaki gibi ekleyebiliyoruz.
Eklentiler
En işe yarar işlevler ise kaynaklarda linkini paylaştığım Enes POLAT ‘ın yazısında bahsettiği nbextensions eklentisi ile geliyor.
Markdown veya kod alanlarını gruplama, wizard gibi otomatik kod çağırmayı sağlayan Snippet ve her programcının alması gereken bir bilgi olan kod çalışma süresini ve daha birçok içeriğe sahip eklentiyi yükleyebilmek ve kullanımını inceleyebilmek için sayfayı ziyaret etmenizi öneririm.
MarkDown
Her yeni satır varsayılan olarak Code bloğudur. Aktif satırı kısayol (m) ile ya da Code açılır alanını Markdown a çevirerek satır araları ve başlıklar oluşturabiliyoruz.
Kullanım için tüm özelliklerini MarkDown cheatsheet üzerinden inceleyebilirsiniz.
Pip Install in Jupyter Notebook
Pip ve pip3 komutlarını PyPI sitesinde yer alan Python paketlerini bilgisayarımıza kurmak için kullanıyoruz.
Kurulumu terminal (Anaconda command) açıp “python -m pip install packagename” yazarak yapabiliyoruz. Ancak benim gibi yeni bir sayfa açmaya üşenen ve terminal sevmeyen arkadaşlarımız için bu hiç de kolay olmayan bir yoldur :)
JupyterLab kullanıyorsanız hemen yana bir Shell tab’ ı açıp çalışabiliyorsunuz.
Jupyter Notebook içerisinde ise, ! (Ünlem) işareti ile başladığınız komut dizininde o hücreyi Shell Command olarak çalıştıracağımızı söylemiş oluyoruz.
Örneğin “request” paketini indirmek istediğimizde,
!pip3 install requests
Daha eski sürümler için ise,
import sys
!{sys.executable} -m pip install requests
Ancak burada zaman zaman indirdiğimiz paketten dolayı oluşan Output satırları tüm sayfayı doldurabilir. Büyüklüğünü aşağı yukarı tahminlediğimiz ve sayıca çok satır getirmeyecek paketler için oldukça pratik bir kullanım olacaktır.
Önbellek ile çalışma
Diyelim ki stabil olmayan bir sunucuda çalışıyorsunuz ya da anlık kesintilere uğramak sizin için büyük kayıp demek ise tüm çalışmayı heba etmemek adına modeli kaydedip tekrar eğitmeye ihtiyaç duymadan çalışmak için joblib kullanabilirsiniz.
from sklearn.externals.joblib import Memory memory = Memory(cachedir='/tmp', verbose=0)@memory.cache def computation(p1, p2): ...
İlk hücrede tüm import işlemlerini yapmak
Tüm import işlemlerinizi Notebook’un ilk hücresinde gerçekleştirmeniz tüm kod bloklarını yeniden çalıştırmak istemediğinizde ve Kernel’i yeniden başlatmak zorunda kaldığınızda hayat kurtarıcıdır.