Сегодня у нас небольшой рассказ о Neuron, расширении для Visual Studio Code, которое является настоящей киллер-фичей для дата-сайнтистов. Оно позволяет совместить Python, любую библиотеку машинного обучения и Jupyter Notebooks. Подробнее под катом!



Немного контекста — a.k.a. как возникла идея Neuron


Data science — это очень модное явление 21-ого века. Начиная с IoT-устройств, создающих тысячи элементов данных в день, и заканчивая социальными сетями, консолидирующими информацию о людях на уровне неведомом ранее, большая часть развития технологий, которое происходит сегодня, рано или поздно вступает в контакт с «data science».

Дата-Сайнтисты приходят из разных отраслей, но подавляющее большинство из них использует стандартный набор инструментов: Python, <вставить имя популярной библиотеки машинного обучения>, и Jupyter Notebooks.

И тут у Microsoft возникла идея: можем ли мы интегрировать все эти инструменты в единое, понятное рабочее пространство? А точнее, можно ли создать расширение для Visual Studio Code, которое бы позволяло анализировать данные непосредственно, напрямую, не нарушая процесс разработки?

Преимущества этого очевидны. Вы получаете мощь интеллектуального редактора Python (Visual Studio Code) в сочетании с быстротой выполнения и визуализацией Jupyter Notebooks. Все в одном окне. Таким образом, родился Neuron.

Что делает Neuron и как его использовать


Принцип Neuron прост. Все начинается с обычного редактора Python или R в Visual Studio Code. Наряду с этим на другой стороне экрана находится Neuron. Сначала это пустая страница, но когда вы запускаете фрагменты кода, output превращается в интерактивные изображения. Они могут быть простым текстом, таблицами, изображениями, графиками, картами… чем угодно. Вот пример:



1. Установка расширения


Вы можете найти Neuron на marketplace.

После установки в панели редактора появится кнопка. Она будет там всегда, когда вы редактируете поддерживаемый файл (в настоящее время Python или R).



Нажатие на нее приведет к отображению основной панели вывода Neuron.

2. Настройка


Расширение использует Jupyter Notebooks в фоновом режиме для создания визуализаций. Если вы знакомы с анализом данных, скорее всего, у вас уже установлен Jupyter на компьютере. Если нет, Neuron предложит установить его, когда вы впервые откроете расширение.

3. Использование интерфейса


Первый шаг — написать код. В настоящее время расширение поддерживает Python и R, поскольку они являются двумя наиболее распространенными языками, используемыми в анализе данных. Откроем новый файл Python и напишем код:



Это нельзя назвать большими данными, но смысл понятен. Чтобы запустить этот код и получить результат, нам нужно всего лишь выделить его и нажать Alt + Enter (option + return на Mac). И… вот оно!



С правой стороны появится карта с аутпутом вашего кода. Вы можете удалить его, переместить вверх и вниз по списку, свернуть его или переместить в отдельное окно. Neuron отслеживает фрагменты кода, связанные с каждой картой, чтобы вы могли быстро находить их и запускать повторно, если это необходимо.

4. Переход на более содержательные результаты


Сложная визуализация данных: вот где действительно силен Neuron. Он поддерживает больше вариантов аутпута, чем Jupyter Notebooks.

Например, стандартный способ создания графиков в Python осуществляется через популярную библиотеку plotly. Попробуем построить несколько простых элементов данных на 2D-плоскости.

from plotly.offline import download_plotlyjs, init_notebook_mode, plot, iplot

from plotly.graph_objs import Scatter, Figure, Layout

iplot([{"x": [1, 2, 3, 4, 5, 6, 7, 8], "y": [0, 1, 1, 2, 2, 3, 3, 4]}])

Еще раз выделите текст, нажмите Alt + Enter, и карта будет сгенерирована.



Карта интерактивна, поэтому вы можете масштабировать и панорамировать ее по мере необходимости, а также маркировать значения на графике или экспортировать изображение в PNG. Если вы хотите редактировать точки данных, все, что вам нужно сделать, это вернуться к исходному коду, изменить некоторые значения и выполнить его снова. Новая карта появится чуть ниже старой: Neuron отслеживает историю вашего кода до тех пор, пока вы не закроете Visual Studio.

Neuron также поддерживает 3D-графики, географические карты, формулы LaTeX, markdown, HTML и различные типы статических изображений. Шаги по их созданию такие же, как и те, что я продемонстрировал выше. Вы можете найти примеры всех из них в нашем демо-файле ниже.





5. Попробуйте сами


Если вы ищете туториал по работе с Neuron, то попробуйте наш демо-файл, который поможет вам изучить самые полезные функции расширения.

Немного секретов


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

Работает ли Jupiter? Если при запуске вашего кода Python возникают странные и непоследовательные ошибки, может оказаться полезным перезапустить Jupyter, работающий в фоновом режиме. Команда называется «IPE: Restart active kernels».

Совместное использование аутпута: Neuron совместим с Jupyter notebooks. Вы можете импортировать существующий notebooks с помощью команды «IPE: Import Jupyter notebook», и он преобразует все ячейки Jupyter в карты. Аналогично все работает с экспортированием.

Заключение от автора

Я очень рад, что Microsoft решила интегрировать Neuron в расширение Python для Visual Studio Code. Вы можете отслеживать прогресс проекта в репозитории Github. Я с нетерпением жду ваши отзывы!



Минутка рекламы


Ребята из AI-Community сейчас проводят онлайн-чемпионат по Data Science с призовым фондом в 600 000 рублей. Присоединяйтесь, кейс может вас заинтересовать.

Комментарии (1)


  1. S_A
    07.11.2018 13:49

    В atom это уже было более года назад под названием hydrogen.

    Впрочем, это единственный был минус VSCode на тот момент, сейчас обратно перейду.