Referência: Ubuntu (Linux) Data Science Virtual Machine

Este documento apresenta uma lista de ferramentas disponíveis no seu Ubuntu Data Science Virtual Machine (DSVM).

Bibliotecas de aprendizagem profunda

PyTorch

PyTorch é uma estrutura de computação científica popular, com amplo suporte para algoritmos de aprendizado de máquina. Se a sua máquina tiver uma GPU integrada, ela pode usar essa GPU para acelerar o aprendizado profundo. PyTorch está disponível no py38_pytorch ambiente.

H2O

O H2O é uma plataforma de análise preditiva e de aprendizagem automática distribuída e rápida, in-memory. Um pacote Python é instalado nos ambientes root e py35 Anaconda. Um pacote R também está instalado.

Para abrir H2O a partir da linha de comando, execute java -jar /dsvm/tools/h2o/current/h2o.jar. Você pode configurar várias opções de linha de comando disponíveis. Navegue até a interface do usuário da Web do Flow para http://localhost:54321 começar. O JupyterHub oferece exemplos de notebooks.

TensorFlow

TensorFlow é a biblioteca de aprendizagem profunda do Google. É uma biblioteca de software de código aberto para computação numérica usando gráficos de fluxo de dados. Se a sua máquina tiver uma GPU integrada, pode utilizar essa GPU para acelerar a aprendizagem profunda. O TensorFlow está disponível no py38_tensorflow ambiente conda.

Python

A Máquina Virtual de Ciência de Dados (DSVM) tem vários ambientes Python pré-instalados, com Python versão 3.8 ou Python versão 3.6. Execute conda env list em uma janela de terminal para ver a lista completa de ambientes instalados.

Jupyter

A DSVM também vem com o Jupyter, um ambiente de compartilhamento e análise de código. O Jupyter é instalado na DSVM nestes sabores:

  • Laboratório Jupyter
  • Jupyter Notebook
  • Jupyter Hub

Para iniciar o Jupyter Lab, abra o Jupyter no menu do aplicativo ou selecione o ícone da área de trabalho. Você também pode executar jupyter lab a partir de uma linha de comando para abrir o Jupyter Lab.

Para abrir o bloco de anotações do Jupyter, abra uma linha de comando e execute jupyter notebook.

Para abrir o Jupyter Hub, abra https://< nome DNS da VM ou endereço> IP:8000/ em um navegador. Você deve fornecer seu nome de usuário e senha Linux locais.

Nota

Você pode ignorar qualquer aviso de certificado.

Nota

Para as imagens do Ubuntu, a porta 8000 do firewall é aberta por padrão quando a VM é provisionada.

Apache Spark autônomo

Uma instância autônoma do Apache Spark é pré-instalada na DSVM Linux para ajudá-lo a desenvolver aplicativos Spark localmente antes de testar e implantar esses aplicativos em grandes clusters.

Você pode executar programas PySpark através do kernel Jupyter. Quando o Jupyter for iniciado, selecione o botão Novo . Uma lista de kernels disponíveis deve se tornar visível. Você pode construir aplicativos Spark com a linguagem Python se escolher o kernel Spark - Python . Você também pode usar um IDE Python - por exemplo, VS. Code ou PyCharm - para construir o seu programa Spark.

Nesta instância autônoma, a pilha Spark é executada dentro do programa cliente chamador. Esse recurso torna mais rápida e fácil solucionar problemas, em comparação com o desenvolvimento em um cluster do Spark.

IDEs e editores

Você pode escolher entre vários editores de código, incluindo o VS. Código, PyCharm, IntelliJ, vi/Vim ou Emacs.

VS. Code, PyCharm e IntelliJ são editores gráficos. Para usá-los, você precisa estar conectado a uma área de trabalho gráfica. Abre-os usando atalhos da área de trabalho e do menu do aplicativo.

Vim e Emacs são editores baseados em texto. No Emacs, o pacote de complementos ESS facilita o trabalho com R dentro do editor Emacs. Para mais informações, visite o sítio Web do SEE.

Bases de Dados

Cliente SQL gráfico

SQuirrel SQL, um cliente SQL gráfico, pode se conectar a vários bancos de dados - por exemplo, Microsoft SQL Server ou MySQL - e executar consultas SQL. A maneira mais rápida de abrir o SQuirrel SQL é usar o Menu de aplicativos a partir de uma sessão gráfica da área de trabalho (através do cliente X2Go, por exemplo)

Antes do uso inicial, configure seus drivers e aliases de banco de dados. Você pode encontrar os drivers JDBC em /usr/share/java/jdbcdrivers.

Para obter mais informações, visite o recurso SQuirrel SQL .

Ferramentas de linha de comando para acessar o Microsoft SQL Server

O pacote de driver ODBC para SQL Server também inclui duas ferramentas de linha de comando:

  • bcp: A ferramenta bcp copia dados em massa entre uma instância do Microsoft SQL Server e um arquivo de dados, em um formato especificado pelo usuário. Você pode usar a ferramenta bcp para importar um grande número de novas linhas para tabelas do SQL Server ou para exportar dados de tabelas para arquivos de dados. Para importar dados para uma tabela, você deve usar um arquivo de formato criado para essa tabela. Você deve entender a estrutura da tabela e os tipos de dados que são válidos para suas colunas.

Para obter mais informações, visite Conectando-se com bcp.

  • sqlcmd: Você pode inserir instruções Transact-SQL com a ferramenta sqlcmd. Você também pode inserir procedimentos do sistema e arquivos de script no prompt de comando. Essa ferramenta usa ODBC para executar lotes Transact-SQL.

    Para obter mais informações, visite Conectando-se com sqlcmd.

    Nota

    Existem algumas diferenças nesta ferramenta entre as suas versões de plataforma Linux e Windows. Consulte a documentação para obter detalhes.

Bibliotecas de acesso a bases de dados

As bibliotecas R e Python estão disponíveis para acesso ao banco de dados:

  • Em R, você pode usar os pacotes dplyr RODBC para consultar ou executar instruções SQL no servidor de banco de dados
  • Em Python, a biblioteca pyodbc fornece acesso ao banco de dados com ODBC como a camada subjacente

Ferramentas do Azure

Estas ferramentas do Azure são instaladas na VM:

  • CLI do Azure: você pode usar a interface de linha de comando no Azure para criar e gerenciar recursos do Azure por meio de comandos de shell. Para abrir as ferramentas do Azure, insira a ajuda do azure. Para obter mais informações, visite a página de documentação da CLI do Azure.

  • Azure Storage Explorer: O Azure Storage Explorer é uma ferramenta gráfica que você pode usar para navegar pelos objetos armazenados em sua conta de armazenamento do Azure e para carregar e baixar dados de e para blobs do Azure. Pode aceder ao Explorador de Armazenamento a partir do ícone de atalho do ambiente de trabalho. Você também pode abri-lo a partir de um prompt de shell se entrar no StorageExplorer. Tem de ter sessão iniciada a partir de um cliente X2Go ou ter o reencaminhamento X11 configurado.

  • Bibliotecas do Azure: Estas são algumas das bibliotecas pré-instaladas:

    • Python: Python oferece as bibliotecas relacionadas ao azure, azureml, pydocumentdb e pyodbc Azure. Com as três primeiras bibliotecas, você pode acessar os serviços de armazenamento do Azure, o Azure Machine Learning e o Azure Cosmos DB (um banco de dados NoSQL no Azure). A quarta biblioteca, pyodbc (juntamente com o driver ODBC da Microsoft para SQL Server), permite o acesso ao SQL Server, Banco de Dados SQL do Azure e Azure Synapse Analytics do Python por meio de uma interface ODBC. Digite pip list para ver todas as bibliotecas listadas. Certifique-se de executar este comando nos ambientes Python 2.7 e 3.5.
    • R: Azure Machine Learning e RODBC são as bibliotecas relacionadas ao Azure em R.
    • Java: O diretório /dsvm/sdk/AzureSDKJava tem a lista de bibliotecas Java do Azure que podem ser encontradas no diretório /dsvm/sdk/AzureSDKJava na VM. As principais bibliotecas são APIs de armazenamento e gerenciamento do Azure, Azure Cosmos DB e drivers JDBC para SQL Server.

Azure Machine Learning

O serviço de nuvem do Azure Machine Learning totalmente gerenciado permite que você crie, implante e compartilhe soluções de análise preditiva. Você pode criar seus experimentos e modelos no estúdio do Azure Machine Learning. Visite o Aprendizado de Máquina do Microsoft Azure para acessá-lo a partir de um navegador da Web na Máquina Virtual de Ciência de Dados.

Depois de entrar no estúdio do Azure Machine Learning, você pode usar uma tela de experimentação para criar um fluxo lógico para os algoritmos de aprendizado de máquina. Você também tem acesso a um bloco de anotações Jupyter hospedado no Azure Machine Learning. Este bloco de notas pode funcionar perfeitamente com as experiências no estúdio de Aprendizagem de Máquina do Azure.

Para operacionalizar os modelos de aprendizado de máquina que você criou, envolva-os em uma interface de serviço Web. A operacionalização do modelo de aprendizado de máquina permite que clientes escritos em qualquer idioma invoquem previsões desses modelos. Visite a documentação do Machine Learning para obter mais informações.

Você também pode criar seus modelos em R ou Python na VM e, em seguida, implantá-los em produção no Azure Machine Learning. Instalamos bibliotecas em R (AzureML) e Python (azureml) para habilitar essa funcionalidade.

Nota

Escrevemos estas instruções para a versão Windows da Máquina Virtual de Ciência de Dados. No entanto, as instruções abrangem implantações de modelo do Azure Machine Learning na VM Linux.

Ferramentas de aprendizagem automática

A VM vem com ferramentas de aprendizado de máquina e algoritmo pré-compilados, todos pré-instalados localmente. Estes são, entre outros:

  • Vowpal Wabbit: Um algoritmo de aprendizagem online rápido

  • xgboost: Esta ferramenta fornece algoritmos de árvore otimizados e impulsionados

  • Rattle: Uma ferramenta gráfica baseada em R para fácil exploração e modelagem de dados

  • Python: Anaconda Python vem junto com algoritmos de aprendizado de máquina com bibliotecas como Scikit-learn. Você pode instalar outras bibliotecas com o pip install comando

  • LightGBM: Uma estrutura de aumento de gradiente rápida, distribuída e de alto desempenho baseada em algoritmos de árvore de decisão

  • R: Uma biblioteca rica de funções de aprendizado de máquina está disponível para R. As bibliotecas pré-instaladas incluem lm, glm, randomForest e rpart. Você pode instalar outras bibliotecas com este comando:

    install.packages(<lib name>)
    

Aqui estão mais informações sobre as três primeiras ferramentas de aprendizado de máquina na lista.

Vowpal Wabbit

Vowpal Wabbit é um sistema de aprendizado de máquina usa

  • active
  • allreduce
  • hashing
  • aprendizagem interativa
  • learning2search
  • Online
  • reduções

técnicas.

Use estes comandos para executar a ferramenta em um exemplo básico:

cp -r /dsvm/tools/VowpalWabbit/demo vwdemo
cd vwdemo
vw house_dataset

Esse diretório oferece outras demonstrações maiores. Visite esta seção do GitHub e o wiki Vowpal Wabbit para obter mais informações sobre o Vowpal Wabbit.

xgboost

A biblioteca xgboost é projetada e otimizada para algoritmos impulsionados (árvore). A biblioteca xgboost leva os limites de computação das máquinas aos extremos necessários para um aumento de árvore em grande escala preciso, portátil e escalável.

A biblioteca xgboost é fornecida como um recurso de linha de comando e uma biblioteca R. Para usar essa biblioteca em R, você pode inserir R no shell para iniciar uma sessão interativa de R e carregar a biblioteca.

Este exemplo simples mostra para executar xgboost em um prompt R:

library(xgboost)

data(agaricus.train, package='xgboost')
data(agaricus.test, package='xgboost')
train <- agaricus.train
test <- agaricus.test
bst <- xgboost(data = train$data, label = train$label, max.depth = 2,
                eta = 1, nthread = 2, nround = 2, objective = "binary:logistic")
pred <- predict(bst, test$data)

Para executar a linha de comando xgboost, execute estes comandos no shell:

cp -r /dsvm/tools/xgboost/demo/binary_classification/ xgboostdemo
cd xgboostdemo
xgboost mushroom.conf

Para obter mais informações sobre o xgboost, visite a página de documentação do xgboost e seu repositório GitHub.

Rattle

Rattle (o RAnalytical Tool To Learn Easily) usa exploração e modelagem de dados baseada em GUI. Ele

  • apresenta resumos estatísticos e visuais dos dados
  • transforma dados que podem ser prontamente modelados
  • cria modelos não supervisionados e supervisionados a partir dos dados
  • apresenta graficamente o desempenho dos modelos
  • pontua novos conjuntos de dados

Ele também gera código R, que replica operações Rattle na interface do usuário. Você pode executar esse código diretamente em R ou usá-lo como ponto de partida para análises adicionais.

Para executar o Rattle, você precisa operar em uma sessão gráfica de entrada na área de trabalho. No terminal, digite R para abrir o ambiente R. No prompt R, digite este comando:

library(rattle)
rattle()

Em seguida, abre-se uma interface gráfica com um conjunto de separadores. Estas etapas de início rápido no Rattle usam um conjunto de dados meteorológicos de amostra para criar um modelo. Em algumas das etapas, você recebe solicitações para instalar e carregar automaticamente pacotes R específicos e necessários que ainda não estão no sistema.

Nota

Se você não tiver permissões de acesso para instalar o pacote no diretório do sistema (o padrão), poderá notar um prompt na janela do console R para instalar pacotes em sua biblioteca pessoal. Responda y se encontrar estas solicitações.

  1. Selecione Execute (Executar)
  2. Uma caixa de diálogo é exibida, perguntando se você deseja usar o conjunto de dados meteorológicos de exemplo. Selecione Sim para carregar o exemplo
  3. Selecione a guia Modelo
  4. Selecione Executar para construir uma árvore de decisão
  5. Selecione Desenhar para exibir a árvore de decisão
  6. Selecione a opção Floresta e selecione Executar para construir uma floresta aleatória
  7. Selecione a guia Avaliar
  8. Selecione a opção Risco e selecione Executar para exibir dois gráficos de desempenho de Risco (Cumulativo)
  9. Selecione a guia Log para mostrar o código R gerado para as operações anteriores
    • Devido a um bug na versão atual do Rattle, você deve inserir um # caractere na frente de Exportar este log no texto do log
  10. Selecione o botão Exportar para salvar o arquivo de script R, chamado weather_script. R, para a pasta inicial

Você pode sair de Rattle e R. Agora você pode modificar o script R gerado. Você também pode usar o script como está e executá-lo a qualquer momento para repetir tudo o que foi feito na interface do usuário do Rattle. Para iniciantes em R, especialmente, isso se presta a análise rápida e aprendizado de máquina em uma interface gráfica simples, enquanto gera automaticamente código em R para modificação ou aprendizagem.

Próximos passos

Para mais perguntas, considere criar um tíquete de suporte