Eleve sua experiência com o ambiente de notebook Jupyter

E, posteriormente, faça você gostar de trabalhar no ambiente Jupyter

O Jupyter Notebook como PC GAMER é uma parte inseparável de mim como cientista de dados. O Jupyter Notebook é capaz de testar meu código em uma célula diferente, mostrando minha figura instantaneamente e até mesmo escrever a explicação necessária na forma de remarcação; uma experiência que não está disponível em nenhum outro IDE (ou tanto quanto eu saiba).

PC GAMER, PC GAMER BARATO, PLACA DE VÍDEO, PLACA DE VÍDEO QUADRO, PLACA DE VÍDEO QUADRO P400, GABINETE, GABINETE THERMALTAKE, GABINETE GAMER, MONITOR, MONITOR AOC, MONITOR 18.5
Enquanto disse isso, percebo que o Jupyter Notebook como PC GAMER BARATO é mais uma ferramenta de exploração e teste do que de produção. Sei também que, na forma padrão, pode ser doloroso usá-lo, especialmente para pessoas que vieram de outro IDE. No entanto, quero mostrar alguns recursos que eu amo do Jupyter Notebook para elevar nossa experiência no uso do Jupyter Notebook. Apenas uma pequena nota, a maior parte da extensão aqui está funcionando corretamente, assumindo que a linguagem que você usa para o seu notebook jupyter é Python.

Markdown e LaTeX

Para quem não sabia o que é o Markdown, é uma linguagem com  PLACA DE VÍDEO que adiciona elementos de formatação ao documento em texto sem formatação. O Markdown oferece a versatilidade de manipular seu texto sem formatação em um texto muito mais interessante (por exemplo, incorporação de link, imagem ou até vídeo)

Como funciona o Markdown

Para usar a remarcação, precisamos mudar nossa célula para o modo de remarcação. Só precisamos selecionar a seleção Markdown no menu suspenso. Se você quiser aprender todo o comando usado no formato de remarcação, você pode aprender aqui.

O que eu amo sobre o Markdown no Jupyter Notebook não é a parte da formatação, mas como ele realmente pode implementar o LaTeX em sua célula. O LaTeX também é uma forma de linguagem de formatação de texto sem formatação. Especificamente, é frequentemente usado para expressões matemáticas complexas.

Equação de desvio padrão via LatEx na célula Markdown

Assim como o Markdown, o LaTeX tem sua própria regra. Se você quiser aprender mais sobre isso, há um guia de código aberto para a documentação do LaTeX aqui.

Extensão de Linguagem de Programação

Quando instalamos o notebook jupyter via Anaconda, estaríamos usando apenas o Python como nossa linguagem de trabalho. Isso cria uma suposição de que o notebook jupyter poderia funcionar apenas com a linguagem Python e que deveríamos usar outro IDE se quisermos trabalhar com outra linguagem como R ou Julia. Isto não é verdade, de forma alguma; nós poderíamos implementar outras linguagens em nosso ambiente jupyter.

Seleção do kernel do notebook Jupyter
Por exemplo, poderíamos incorporar uma extensão adicional ao nosso ambiente de notebook jupyter para trabalhar com a linguagem de programação R ou Julia.

PC GAMER, PC GAMER BARATO, PLACA DE VÍDEO, PLACA DE VÍDEO QUADRO, PLACA DE VÍDEO QUADRO P400, GABINETE, GABINETE THERMALTAKE, GABINETE GAMER, MONITOR, MONITOR AOC, MONITOR 18.5

1. Notebook R

Para ter o notebook R em nosso notebook jupyter, precisamos seguir estas etapas:
Instale R; Precisamos ter nossa linguagem de programação R antes de podermos configurar R em nosso ambiente de notebook jupyter. Você pode baixá-lo aqui.
Instale o IRkernel; O IRkernel é um kernel jupyter que processa a linguagem R no notebook jupyter. Você pode instalar o IRkernel via console R digitando install.packages (‘IRkernel’).
Habilite o IRKernel; Para o jupyter ver o IRkernel recém-instalado, precisamos ativá-lo via console R digitando IRkernel :: installspec (user = FALSE).
Agora, poderíamos utilizar a linguagem de programação R em nosso notebook jupyter selecionando R quando criarmos um novo notebook.

R em Jupyter

2. Caderno de Julia

E a Julia? Sim, também podemos configurar oa PLACA DE VÍDEO QUADRO idioma Julia em nosso caderno de anotações. Só precisamos seguir etapas semelhantes às anteriores.
Instale Julia; Assim como R, precisamos baixar o idioma Julia como nosso primeiro passo. Você pode baixar Julia aqui.
Instale o IJulia; IJulia é o equivalente ao IRkernel em R. Instalamos o IJulia digitando a seguinte linha na linha de comando Julia:
usando o Pkg
Pkg.add (“IJulia”)
Assim, agora poderíamos usar a linguagem Julia em nosso caderno jupiter.

Julia em jupyter
Extensão de Notebook Jupyter
O Jupyter Notebook contém um complemento ou extensão para melhorar nossa produtividade. Will Koehrsen criou um ótimo post sobre como habilitar esta extensão, mas aqui eu resumiria a parte da instalação e mostraria algumas das minhas extensões favoritas.
Para ativar a extensão Jupyter Notebook Extension para o ambiente Python, precisamos apenas executar o seguinte comando no terminal:
pip install jupyter_contrib_nbextensions && jupyter contrib nbextension install

A guia de extensão Jupyter
Abrir a guia nos apresentaria uma grande seleção de extensões mostrada abaixo.

Existem muitas seleções de extensões cuja utilidade depende do tipo de trabalho que estamos realizando, mas eu mostraria algumas que usei com frequência.
1. Tempo de execução
Considero a extensão Tempo de Execução útil, pois muitas vezes testo várias combinações de código para encontrar a mais rápida a ser executada. A extensão apareceria toda vez que rodarmos a célula atual e permaneceria lá até rodarmos a célula mais uma vez ou redefinirmos o notebook. Deixe-me mostrá-lo com um exemplo abaixo.

Executar extensão de tempo
Quando terminarmos de executar o código, essa extensão nos fornecerá o tempo de execução do código com o tempo de término.

2. Inspetor Variável
Uma das razões pelas quais as pessoas não gostam de usar o Jupyter Notebook é a falta de inspetor de variáveis ​​fornecido em outro IDE. Nesse caso, temos outra extensão chamada Variable Inspector.

Como o inspetor variável funciona
Exatamente o que o nome indica, essas extensões criariam uma instância adicional para mostrar todas as variáveis ​​presentes em nosso ambiente de notebook jupyter.
3. Código Prettify
Com um toque de um botão, essa  PLACA DE VÍDEO QUADRO P400 reestruturaria nossos códigos. Costumo usar essa extensão após um longo processo de codificação para criar uma linha de códigos legível e organizada.

Essa extensão nem sempre funcionaria como queremos. Por exemplo, se já tivermos uma linha organizada, ela não mudará nossa linha.
4. Scratchpad
Essa extensão criaria um ambiente autônomo como um bloco de anotações em nosso livro. O Scratchpad é uma extensão realmente útil se precisarmos de um local para experimentos de código, mas não quisermos interromper nosso ambiente jupyter atual.

Exemplo do bloco de notas, círculo vermelho indica o local para abrir o bloco de notas
Pacote de suporte
Muitos módulos foram desenvolvidos para criar uma maneira muito integrada e interativa de trabalhar com nossos dados no ambiente Jupyter. Com o tempo, tenho certeza de que essa lista de módulos seria desenvolvida ainda mais, mas aqui eu mostraria alguns dos pacotes que usei diariamente.
1. Barra de Progresso
Na maioria das vezes, levamos muito tempo para fazer nosso processo de loop, mas nem sabemos quando ele seria concluído. Além disso, queremos saber se nosso loop está funcionando corretamente ou não.
Nesse caso, poderíamos ter uma barra de progresso fornecida pelo módulo tqdm. Abaixo está um exemplo da barra de progresso em nosso notebook jupyter.

PC GAMER, PC GAMER BARATO, PLACA DE VÍDEO, PLACA DE VÍDEO QUADRO, PLACA DE VÍDEO QUADRO P400, GABINETE, GABINETE THERMALTAKE, GABINETE GAMER, MONITOR, MONITOR AOC, MONITOR 18.5

Barra de progresso durante a sessão de loop
Instalamos o pacote tqdm usando pip ou conda em nosso respectivo ambiente.
pip install tqdm
Abaixo está o exemplo de código de como adicionar uma barra de progresso no nosso notebook jupyter.
#Importar o módulo
de tqdm import tqdm
#Criando a lista para fins de loop
minha_list = lista (intervalo (10000000))
#Chamada da barra de progresso no bloco de notas do jupyter
com tqdm (total = len (my_list)) como pbar:
para x na minha lista:
pbar.update (1) # use esse código para mover nossa barra de progresso
Chamamos a barra de progresso chamando o tqdm com o parâmetro total aceitando o número de iterações acontecendo. Para mover a barra de progresso, em todas as iterações que ocorrem, precisamos atualizar a barra de progresso usando o método pbar.update () que aceita o número de incremento (normalmente seria 1).
2. Widgets
Enquanto trabalhamos para explorar nossos dados, às vezes seria um aborrecimento continuar editando nosso código apenas para mostrar esse determinado gráfico. Isso certamente prejudicaria nossa produtividade e até desperdiçaria um pouco do nosso precioso tempo.
Aqui eu mostraria um exemplo de controle interativo com o objetivo de alterar nossa entrada sem edição adicional de código usando o módulo ipywidgets.

Como os ipywidgets poderiam produzir uma variedade de plotagem sem editar nosso código
Primeiro, instalamos nosso módulo usando o pip ou conda usual.
pip install ipywidgets
Em seguida, ativamos o módulo ipywidget digitando o seguinte código no prompt de comando:
jupyter nbextension enable –py widgetsnbextension
Com a extensão instalada, agora poderíamos ativar o controle interativo no notebook jupyter. Aqui está o exemplo de código do meu GIF acima.

#Importar todo o módulo importante
importar matplotlib.pyplot como plt
importação marítima como sns
da importação de ipywidgets interagem
#load o exemplo de conjunto de dados
titanic = titanic = sns.load_dataset (‘titanic’)

O conjunto de dados do Titanic
Digamos que eu esteja interessado em ver a média da tarifa agrupada por cada grupo categórico no conjunto de dados. Poderíamos filtrar os dados um por um, mas isso levaria muito tempo e diminuiria nossa produtividade. Por esse motivo, poderíamos usar o controle interativo.
#Criar o controle interativo
@interagir
def create_fare_plot (col = titanic.drop ([‘tarifa’, ‘idade’], eixo = 1) .colunas):
sns.barplot (dados = titânico, x = col, y = ‘tarifa’)
plt.title (f’Mean Bar Plot da tarifa agrupada por {col} ‘)
Iniciamos a interação com a linha de código “@interact”, seguida pela instrução def para criar o controle interativo que queremos. Aqui, o widget de interação nos daria a lista suspensa com a opção do que inserimos no parâmetro def.

Lista suspensa com toda a variável categórica para alternar entre plot
Conclusão
Acima, há um exemplo para elevar nossa experiência no caderno jupiter. Sei que o notebook jupyter nunca mudaria o IDE, como o Código do Visual Studio, para fins de produção, mas tento mostrar como melhorar o ambiente jupyter para fins de trabalho do Data Scientist.

 

Referência