Введение в Jupyter Notebook для начинающих

Почти любой специалист по данным согласился бы с тем, что вы вряд ли сможете обойтись без использования Jupyter Notebook в какой-то момент времени, ну, если не каждый раз. Широкий круг инженеров ИИ приняли использование Jupyter Notebook в качестве инструмента, который они используют для написания и тестирования алгоритмов / моделей.

Если вы начинающий в изучении науки о данных, рекомендуем прочитать о Разнице между искусственным интеллектом, машинным обучением и глубоким обучением

Но что такое Jupyter? И почему это называется Notebook (блокнотом)?

Согласно Википедии, Notebook (записная книжка) - это книга или папка с бумагами, часто управляемая, используемая для многих целей, таких как запись заметок или меморандумов, запись, рисование или бронирование записок.

Таким образом, по сути, мы могли бы сказать, что блокнот используется для выражения определенного контекста, идеи или знаний с помощью текста, диаграмм, рисунков, рисунков, уравнений, таблиц и т.д.

Почему тогда Jupyter называют блокнотом?

Потому что он делает именно то, что сказано выше! Он используется для составления документов, кодов, текстов, рисунков, уравнений, диаграмм и визуализаций и даже для составления таблиц.

Jupyter Notebook

Что такое Jupyter Notebook?

Jupyter Notebook - это веб-приложение с открытым исходным кодом, которое позволяет создавать и обмениваться документами, содержащими живой код, уравнения, визуализации и повествовательный текст.

Он использует очистку и преобразование данных, численное моделирование, статистическое моделирование, визуализацию данных, машинное обучение и многое другое.

Чаще всего Jupyter Notebook используется в среде Python. Они имеют очень интерактивные выходы и могут быть легко переданы, как обычный блокнот.

Для чего можно использовать Jupyter Notebook?

Написание кода на нескольких языков программирования

Система Jupyter поддерживает более 100 языков программирования (называемых «ядрами» в экосистеме Jupyter), включая Python, Java, R, Julia, Matlab, Octave, Scheme, Processing, Scala и многие другие. Вы можете поделиться кодом, написанным в блокноте, с другими.

Вот несколько языков, которые можно написать в Jupyter Notebook.

Python

Из всех языков, которые могут быть написаны с помощью Jupyter, python является самым популярным. Почти каждый, кто пишет код в среде Jupyter, пишет Python. По умолчанию Jupyter поддерживает Python в своей среде без использования специальных магических команд.

def hello_world():
  print("Hello world!!!")

hello_world()

Результат:

Hello world!!!

JavaScript

JavaScript является популярным языком и может быть написан на Jupyter. В отличие от Python, JavaScript не поддерживается по умолчанию. Вы должны использовать определенную специальную команду, чтобы сообщить ячейке, в которой вы ее выполняете, что это код JavaScript. Эти команды часто называют магическими командами.

Для JavaScript это команда %%javascript.

Существует также ограничение на то, какой код JavaScript вы можете запускать в Jupyter Notebook, в отличие от python.

%%javascript
const text = "hello world"
alert(text)

Java

Jupiter позволяет интегрировать дополнительные «ядра» - языки. Такое ядро ​​можно установить, следуя приведенным здесь инструкциям по установке . После установки выполните следующую команду в своем терминале, если вы на Linux.

В нашем случает будет делана интеграция языка Java.

jupyter console --kernel=java
Jupyter console 5.1.0
Java 9.0.4+11 :: IJava kernel 1.1.0-SNAPSHOT
Protocol v5.0 implementation by jupyter-jvm-basekernel 2.2.1-SNAPSHOT
In [1]:

Matlab

Matlab - высокопроизводительный язык для технических вычислений. Он объединяет вычисления, визуализацию и программирование в удобной среде, где проблемы и решения выражаются в знакомой математической записи.

Чтобы использовать Matlab в Jupyter Notebook, сначала необходимо установить Jupyter-Matlab. Первое, что нам нужно сделать, это создать виртуальную среду.

  • Откройте окно командной строки Jupyter в Windows или просто свой терминал в Linux и введите следующую команду
conda create -vv -n jmatlab python=3.5 jupyter
  • Остаетесь в этом терминале, введите следующий код
source activate jmatlab
  • Затем установите ядро ​​Matlab для Python
pip install matlab_kernal
python -m matlab_kernel install
  • Проверьте, правильно ли установлено ядро
jupyter kernelspec list
  • Найдите свой каталог MATLAB. /Applications/MATLAB_R2017a.app.
  • Перейдите в подкаталог extern/engine/python и установите среду Python.
cd “/Applications/MATLAB_R2017a.app/extern/engines/python”
python setup.py install
  • Запустить Jupyter Notebook
cd your_working_directory
jupyter notebook

После запуска должна появиться опция для Matlab и python.

Markdowns

Jupyter Notebook пригодится, для написания разметки, и это может быть очень полезно, если вы хотите дать подробное объяснение фрагмента кода, написать документацию или словарь для определенного набора данных.

Введите приведенный ниже код в Jupyter Notebook.

* [Pandas](#pandas),
  Used for data analysis
* [Numpy](#numpy),
  Used for numerical analysis
* [Matplotlib](#matplotlib),
  Used for data visualizations

Вывод должен быть следующим:

Jupyter Notebook

Bash

Jupyter Notebooks позволяет использовать скрипты bash с помощью магической команды %%bash.

Чтобы проверить, давайте создадим папку в вашем текущем рабочем каталоге. Введите следующий код в ячейку Jupyter.

%%bash
mkdir Test_Folder

Запустите код, теперь проверьте ваш рабочий каталог, набрав код

%%bash
ls

Вы увидите, что папка Test_Folder была добавлена ​​в нее. Вы также можете перейти к папке физически, чтобы проверить.

Визуализация данных

С использованием библиотек Python, таких как matplotlib, вы можете запускать и отображать визуализации данных прямо в вашем браузере.

Давайте попробуем сделать очень простую визуализацию, используя matplotlib.

Сначала мы импортируем библиотеку

from matplotlib import pyplot as plt
%matplotlib inline

Затем введите следующее

x = [1, 2, 3, 4, 5, 6, 7, 8, 9]
y = [11, 12, 13, 14, 15, 16, 17, 18, 19]
plt.plot(x, y)

Наш вывод должен выглядеть так:

matplotlib

Еще более интригующим является то, что мы можем сделать 3D визуализации.

Сначала нам нужно импортировать библиотеку 3D визуализации

from mpl_toolkits import mplot3d
import numpy as np

Затем сделайте 3D-проекцию

fig = plt.figure()
ax = plt.axes(projection='3d')

Наш вывод должен выглядеть так:

matplotlib 3D

Теперь запустите следующий скрипт:

def f(x, y):
    return np.sin(np.sqrt(x ** 2 + y ** 2))


x = np.linspace(-6, 6, 30)
y = np.linspace(-6, 6, 30)
X, Y = np.meshgrid(x, y)
Z = f(X, Y)


ax = plt.axes(projection='3d')
ax.plot_surface(X, Y, Z, rstride=1, cstride=1,
                cmap='viridis', edgecolor='none')
ax.set_title('surface');
matplotlib 3D

Математические и научные обозначения

Мы можем использовать такие инструменты, как Latex, прямо в наших математических и научных уравнениях типа Jupyter Notebook.

LaTeX - это высококачественная система набора текста; включает в себя функции, предназначенные для производства технической и научной документации.

Давайте попробуем запустить несколько простых кодов LaTex. Введите следующую команду:

## $J(\theta_0) = \frac{1}{2m}\sum_{i=0}^{m} (h_\theta(x^{(i)}) - y^{(i)})^2$

Вывод должен быть таким:

LaTex пример

Если вы интересуетесь Data Science, советуем прочитать Введение в анализ данных на Python для начинающих