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

Veja abaixo uma lista de ferramentas disponíveis na sua Máquina Virtual de Ciência de Dados do Ubuntu.

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 rápida, na memória. 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. Há várias opções de linha de comando que você pode querer configurar. Você pode acessar a interface do usuário da Web do Flow navegando até http://localhost:54321 para começar. Exemplos de cadernos também estão disponíveis no JupyterHub.

TensorFlow

O 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, ela pode usar essa GPU para acelerar o aprendizado profundo. O TensorFlow está disponível no py38_tensorflow ambiente conda.

Python

A DSVM tem vários ambientes Python pré-instalados, em que a versão Python é Python 3.8 ou Python 3.6. Para ver a lista completa de ambientes instalados, execute conda env list em uma linha de comando.

Jupyter

A DSVM também vem com o Jupyter, um ambiente para compartilhar código e análise. O Jupyter é instalado na DSVM em diferentes sabores:

  • Laboratório Jupyter
  • Jupyter Notebook
  • Jupyter Hub

Para abrir o Jupyter Lab, abra o Jupyter no menu do aplicativo ou clique no ícone da área de trabalho. Como alternativa, você pode abrir o Jupyter Lab executando jupyter lab a partir de uma linha de comando.

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

Abra o Jupyter Hub, abra https://< Nome DNS da VM ou endereço> IP:8000/. Ser-lhe-á então pedido o seu nome de utilizador e palavra-passe Linux locais.

Nota

Continue se receber algum aviso de certificado.

Nota

Para as imagens do Ubuntu, a porta 8000 é aberta no firewall 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 testá-los e implantá-los em grandes clusters.

Você pode executar programas PySpark através do kernel Jupyter. Ao abrir o Jupyter, selecione o botão Novo e você verá uma lista de kernels disponíveis. Spark - Python é o kernel PySpark que permite construir aplicativos Spark usando a linguagem Python. Você também pode usar um IDE Python como o VS. Código ou PyCharm para construir seu programa Spark.

Nesta instância autônoma, a pilha Spark é executada dentro do programa cliente de chamada. 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, 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. Pode encontrar mais informações no 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 (como Microsoft SQL Server e 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 primeiro uso, configure seus drivers e aliases de banco de dados. Os drivers JDBC estão localizados em /usr/share/java/jdbcdrivers.

Para obter mais informações, consulte SQuirrel SQL.

Ferramentas de linha de comando para acessar o Microsoft SQL Server

O pacote de driver ODBC para SQL Server também vem com 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. Ou, 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, consulte Conectando-se com bcp.

  • sqlcmd: Você pode inserir instruções Transact-SQL usando 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, consulte Conectando-se com sqlcmd.

    Nota

    Existem algumas diferenças nesta ferramenta entre as plataformas Linux e Windows. Consulte a documentação para obter detalhes.

Bibliotecas de acesso a bases de dados

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

  • Em R, você pode usar o pacote RODBC ou o pacote dplyr 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 camada subjacente.

Ferramentas do Azure

As seguintes 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, consulte 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 inserindo StorageExplorer. Tem de ter sessão iniciada a partir de um cliente X2Go ou ter o reencaminhamento X11 configurado.

  • Bibliotecas do Azure: a seguir estão algumas das bibliotecas pré-instaladas.

    • Python: As bibliotecas relacionadas ao Azure em Python são azure, azureml, pydocumentdb e pyodbc. 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 (junto 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 usando uma interface ODBC. Digite pip list para ver todas as bibliotecas listadas. Certifique-se de executar esse comando nos ambientes Python 2.7 e 3.5.
    • R: As bibliotecas relacionadas ao Azure em R são o Azure Machine Learning e o RODBC.
    • Java: A lista de bibliotecas Java do Azure pode ser encontrada 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 Azure Machine Learning é um serviço de nuvem totalmente gerenciado que permite criar, implantar e compartilhar soluções de análise preditiva. Você pode criar seus experimentos e modelos no estúdio do Azure Machine Learning. Você pode acessá-lo a partir de um navegador da Web na Máquina Virtual de Ciência de Dados visitando o Aprendizado de Máquina do Microsoft Azure.

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 e pode trabalhar perfeitamente com os experimentos no estúdio do Azure Machine Learning.

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

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

Estas instruções foram escritas para a versão Windows da Máquina Virtual de Ciência de Dados. Mas as informações fornecidas sobre a implantação de modelos no Azure Machine Learning são aplicáveis à VM do Linux.

Ferramentas de aprendizagem automática

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

  • Vowpal Wabbit: Um algoritmo de aprendizagem on-line rápido.

  • xgboost: Uma ferramenta que 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 usando 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 executando este comando:

    install.packages(<lib name>)
    

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

Vowpal Wabbit

Vowpal Wabbit é um sistema de aprendizado de máquina que usa técnicas como online, hashing, allreduce, reductions, learning2search, ative e interactive learning.

Para executar a ferramenta em um exemplo básico, use os seguintes comandos:

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

Há outras demonstrações maiores nesse diretório. Para obter mais informações sobre o Vowpal Wabbit, consulte esta seção do GitHub e o wiki do Vowpal Wabbit.

xgboost

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

É fornecido como uma linha de comando e uma biblioteca R. Para usar essa biblioteca em R, você pode iniciar uma sessão interativa de R (inserindo R no shell) e carregar a biblioteca.

Aqui está um exemplo simples que você pode executar 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, aqui estão os comandos a serem executados no shell:

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

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

Rattle

Rattle (o RAnalytical T ool To Learn Easily) usa exploração e modelagem de dados baseada em GUI. Apresenta resumos estatísticos e visuais de dados, transforma dados que podem ser facilmente modelados, constrói modelos não supervisionados e supervisionados a partir dos dados, apresenta o desempenho dos modelos graficamente e pontua novos conjuntos de dados. Ele também gera código R, replicando as operações na interface do usuário que podem ser executadas diretamente em R ou usadas como ponto de partida para análises posteriores.

Para executar o Rattle, você precisa estar 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 os seguintes comandos:

library(rattle)
rattle()

Agora é aberta uma interface gráfica com um conjunto de separadores. Use as seguintes etapas de início rápido no Rattle para usar um conjunto de dados meteorológicos de amostra e criar um modelo. Em algumas das etapas, você será solicitado a instalar e carregar automaticamente alguns pacotes R necessários que ainda não estão no sistema.

Nota

Se você não tiver acesso para instalar o pacote no diretório do sistema (o padrão), poderá ver um prompt na janela do console R para instalar pacotes em sua biblioteca pessoal. Responda y se vir estas instruçõ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 criar 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 criar 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ê precisa 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 pessoal.

Você pode sair de Rattle e R. Agora você pode modificar o script R gerado. Ou use o script como ele está e execute-o a qualquer momento para repetir tudo o que foi feito na interface do usuário do Rattle. Especialmente para iniciantes em R, esta é uma maneira de fazer rapidamente análise e aprendizado de máquina em uma interface gráfica simples, enquanto gera automaticamente código em R para modificar ou aprender.

Próximos passos

Tem perguntas adicionais? Considere a criação de um tíquete de suporte.