Aprendizado de máquina com Python - ecossistema

Uma introdução ao Python

Python é uma linguagem de programação orientada a objetos popular com recursos de linguagem de programação de alto nível. Sua sintaxe fácil de aprender e capacidade de portabilidade o torna popular atualmente. Os fatos a seguir nos dão uma introdução ao Python -

  • Python foi desenvolvido por Guido van Rossum na Stichting Mathematisch Centrum na Holanda.

  • Ele foi escrito como o sucessor da linguagem de programação chamada 'ABC'.

  • Sua primeira versão foi lançada em 1991.

  • O nome Python foi escolhido por Guido van Rossum de um programa de TV chamado Monty Python's Flying Circus.

  • É uma linguagem de programação de código aberto, o que significa que podemos baixá-la gratuitamente e usá-la para desenvolver programas. Ele pode ser baixado em www.python.org .

  • A linguagem de programação Python tem os recursos de Java e C ambos. É ter o elegante código 'C' e por outro lado, é ter classes e objetos como Java para programação orientada a objetos.

  • É uma linguagem interpretada, o que significa que o código-fonte do programa Python seria primeiro convertido em bytecode e depois executado pela máquina virtual Python.

Pontos fortes e fracos do Python

Cada linguagem de programação tem alguns pontos fortes e fracos, assim como o Python.

Forças

De acordo com estudos e pesquisas, Python é a quinta linguagem mais importante, bem como a linguagem mais popular para aprendizado de máquina e ciência de dados. É por causa dos seguintes pontos fortes que o Python tem -

Easy to learn and understand- A sintaxe do Python é mais simples; portanto, é relativamente fácil, mesmo para iniciantes, aprender e compreender o idioma.

Multi-purpose language - Python é uma linguagem de programação multifuncional porque suporta programação estruturada, programação orientada a objetos e também programação funcional.

Huge number of modules- Python tem um grande número de módulos para cobrir todos os aspectos da programação. Esses módulos estão facilmente disponíveis para uso, tornando o Python uma linguagem extensível.

Support of open source community- Por ser uma linguagem de programação de código aberto, Python é suportado por uma grande comunidade de desenvolvedores. Devido a isso, os bugs são facilmente corrigidos pela comunidade Python. Essa característica torna o Python muito robusto e adaptável.

Scalability - Python é uma linguagem de programação escalonável porque fornece uma estrutura aprimorada para suportar programas grandes do que scripts de shell.

Fraqueza

Embora Python seja uma linguagem de programação popular e poderosa, tem sua própria fraqueza de velocidade de execução lenta.

A velocidade de execução do Python é lenta em comparação com as linguagens compiladas porque Python é uma linguagem interpretada. Essa pode ser a principal área de melhoria para a comunidade Python.

Instalando Python

Para trabalhar em Python, primeiro devemos instalá-lo. Você pode executar a instalação do Python de qualquer uma das seguintes maneiras -

  • Instalando Python individualmente

  • Usando distribuição Python pré-empacotada - Anaconda

Vamos discutir cada um deles em detalhes.

Instalando Python individualmente

Se você deseja instalar o Python em seu computador, então você precisa baixar apenas o código binário aplicável à sua plataforma. A distribuição Python está disponível para plataformas Windows, Linux e Mac.

A seguir está uma rápida visão geral da instalação do Python nas plataformas mencionadas acima -

On Unix and Linux platform

Com a ajuda das etapas a seguir, podemos instalar o Python na plataforma Unix e Linux -

  • Primeiro, vá para www.python.org/downloads/ .

  • Em seguida, clique no link para baixar o código-fonte compactado disponível para Unix / Linux.

  • Agora, baixe e extraia os arquivos.

  • Em seguida, podemos editar o arquivo Módulos / Configuração se quisermos personalizar algumas opções.

    • Em seguida, escreva o comando run ./configure script

    • make

    • faça a instalação

On Windows platform

Com a ajuda das etapas a seguir, podemos instalar o Python na plataforma Windows -

  • Primeiro, vá para www.python.org/downloads/ .

  • Em seguida, clique no link do arquivo python-XYZ.msi do instalador do Windows. Aqui, XYZ é a versão que desejamos instalar.

  • Agora, devemos executar o arquivo baixado. Isso nos levará ao assistente de instalação do Python, que é fácil de usar. Agora, aceite as configurações padrão e espere até que a instalação seja concluída.

On Macintosh platform

Para Mac OS X, Homebrew, um ótimo e fácil de usar instalador de pacote é recomendado para instalar o Python 3. Caso você não tenha o Homebrew, você pode instalá-lo com a ajuda do seguinte comando -

$ ruby -e "$(curl -fsSL
https://raw.githubusercontent.com/Homebrew/install/master/install)"

Pode ser atualizado com o comando abaixo -

$ brew update

Agora, para instalar o Python3 em seu sistema, precisamos executar o seguinte comando -

$ brew install python3

Usando distribuição Python pré-empacotada: Anaconda

Anaconda é uma compilação empacotada de Python que possui todas as bibliotecas amplamente utilizadas em ciência de dados. Podemos seguir os seguintes passos para configurar o ambiente Python usando o Anaconda -

  • Step 1- Primeiro, precisamos baixar o pacote de instalação necessário da distribuição Anaconda. O link para o mesmo é www.anaconda.com/distribution/ . Você pode escolher entre os sistemas operacionais Windows, Mac e Linux de acordo com suas necessidades.

  • Step 2- Em seguida, selecione a versão Python que deseja instalar em sua máquina. A versão mais recente do Python é 3.7. Lá você obterá as opções para o instalador gráfico de 64 bits e 32 bits.

  • Step 3- Depois de selecionar o sistema operacional e a versão do Python, ele fará o download do instalador Anaconda em seu computador. Agora, clique duas vezes no arquivo e o instalador irá instalar o pacote Anaconda.

  • Step 4 - Para verificar se ele está instalado ou não, abra um prompt de comando e digite Python da seguinte maneira -

Você também pode verificar isso na aula de vídeo detalhada em .

Por que Python para ciência de dados?

Python é a quinta linguagem mais importante, bem como a linguagem mais popular para aprendizado de máquina e ciência de dados. A seguir estão os recursos do Python que o tornam a escolha preferida de linguagem para ciência de dados -

Conjunto extenso de pacotes

Python possui um conjunto extenso e poderoso de pacotes que estão prontos para serem usados ​​em vários domínios. Também tem pacotes comonumpy, scipy, pandas, scikit-learn etc., que são necessários para aprendizado de máquina e ciência de dados.

Prototipagem fácil

Outra característica importante do Python que o torna a escolha da linguagem para ciência de dados é a prototipagem fácil e rápida. Este recurso é útil para desenvolver novos algoritmos.

Recurso de colaboração

O campo da ciência de dados basicamente precisa de boa colaboração e Python fornece muitas ferramentas úteis que tornam isso extremamente.

Um idioma para muitos domínios

Um projeto típico de ciência de dados inclui vários domínios, como extração de dados, manipulação de dados, análise de dados, extração de recursos, modelagem, avaliação, implantação e atualização da solução. Como Python é uma linguagem multifuncional, ela permite ao cientista de dados abordar todos esses domínios a partir de uma plataforma comum.

Componentes do ecossistema Python ML

Nesta seção, vamos discutir algumas das principais bibliotecas de ciência de dados que formam os componentes do ecossistema de aprendizado de máquina Python. Esses componentes úteis tornam o Python uma linguagem importante para a ciência de dados. Embora existam muitos desses componentes, vamos discutir alguns dos componentes importantes do ecossistema Python aqui -

Notebook Jupyter

Os notebooks Jupyter fornecem basicamente um ambiente computacional interativo para o desenvolvimento de aplicativos de Ciência de Dados baseados em Python. Eles são conhecidos anteriormente como notebooks ipython. A seguir estão alguns dos recursos dos notebooks Jupyter que o tornam um dos melhores componentes do ecossistema Python ML -

  • Os cadernos Jupyter podem ilustrar o processo de análise passo a passo, organizando as coisas como código, imagens, texto, saída, etc., passo a passo.

  • Ajuda um cientista de dados a documentar o processo de pensamento enquanto desenvolve o processo de análise.

  • Também se pode capturar o resultado como parte do notebook.

  • Com a ajuda de cadernos jupyter, também podemos compartilhar nosso trabalho com um colega.

Instalação e execução

Se você estiver usando a distribuição Anaconda, então não precisa instalar o notebook jupyter separadamente, pois já está instalado com ele. Você só precisa ir ao prompt do Anaconda e digitar o seguinte comando -

C:\>jupyter notebook

Após pressionar Enter, ele iniciará um servidor de notebook em localhost: 8888 de seu computador. É mostrado na captura de tela a seguir -

Agora, após clicar na nova guia, você obterá uma lista de opções. Selecione Python 3 e ele o levará ao novo bloco de notas para começar a trabalhar nele. Você terá um vislumbre disso nas seguintes imagens -

Por outro lado, se você estiver usando uma distribuição Python padrão, o notebook jupyter pode ser instalado usando o instalador de pacote Python popular, pip.

pip install jupyter

Tipos de células no Jupyter Notebook

A seguir estão os três tipos de células em um notebook Jupyter -

Code cells- Como o nome sugere, podemos usar essas células para escrever código. Depois de escrever o código / conteúdo, ele irá enviá-lo para o kernel associado ao notebook.

Markdown cells- Podemos usar essas células para anotar o processo de computação. Eles podem conter coisas como texto, imagens, equações em Latex, tags HTML etc.

Raw cells- O texto escrito neles é exibido como está. Essas células são usadas basicamente para adicionar o texto que não desejamos que seja convertido pelo mecanismo de conversão automática do notebook jupyter.

Para um estudo mais detalhado do notebook jupyter, você pode acessar o link .

NumPy

É outro componente útil que torna o Python uma das linguagens favoritas para Data Science. Basicamente, significa Python Numérico e consiste em objetos de array multidimensionais. Usando o NumPy, podemos realizar as seguintes operações importantes -

  • Operações matemáticas e lógicas em matrizes.

  • Transformação de Fourier

  • Operações associadas à álgebra linear.

Também podemos ver o NumPy como o substituto do MatLab porque o NumPy é usado principalmente junto com o Scipy (Scientific Python) e o Mat-plotlib (biblioteca de plotagem).

Installation and Execution

Se você estiver usando a distribuição Anaconda, não há necessidade de instalar o NumPy separadamente, pois já está instalado com ele. Você só precisa importar o pacote para o seu script Python com a ajuda de:

import numpy as np

Por outro lado, se você estiver usando a distribuição Python padrão, o NumPy pode ser instalado usando o instalador de pacote Python popular, pip.

pip install NumPy

Para um estudo mais detalhado do NumPy, você pode acessar o link .

Pandas

É outra biblioteca útil do Python que torna o Python uma das linguagens favoritas para a ciência de dados. O Pandas é basicamente usado para manipulação, organização e análise de dados. Foi desenvolvido por Wes McKinney em 2008. Com a ajuda do Pandas, no processamento de dados podemos realizar as seguintes cinco etapas -

  • Load
  • Prepare
  • Manipulate
  • Model
  • Analyze

Representação de dados em Pandas

Toda a representação dos dados no Pandas é feita com a ajuda das seguintes três estruturas de dados -

Series- É basicamente um ndarray unidimensional com um rótulo de eixo, o que significa que é como um array simples com dados homogêneos. Por exemplo, a série a seguir é uma coleção de inteiros 1,5,10,15,24,25 ...

1 5 10 15 24 25 28 36 40 89

Data frame- É a estrutura de dados mais útil e usada para quase todos os tipos de representação e manipulação de dados em pandas. É basicamente uma estrutura de dados bidimensional que pode conter dados heterogêneos. Geralmente, os dados tabulares são representados por meio de quadros de dados. Por exemplo, a tabela a seguir mostra os dados dos alunos com seus nomes e números de rolagem, idade e sexo -

Nome Número do rolo Era Gênero
Aarav 1 15 Masculino
Merda 2 14 Masculino
Kanika 3 16 Fêmea
Mayank 4 15 Masculino

Panel- É uma estrutura de dados tridimensional contendo dados heterogêneos. É muito difícil representar o painel em representação gráfica, mas pode ser ilustrado como um contêiner de DataFrame.

A tabela a seguir nos dá a dimensão e a descrição sobre as estruturas de dados mencionadas acima usadas no Pandas -

Estrutura de dados Dimensão Descrição
Series 1-D Tamanho imutável, dados homogêneos 1-D
DataFrames 2-D Tamanho mutável, dados heterogêneos em forma tabular
Painel 3-D Matriz de tamanho mutável, contêiner de DataFrame.

Podemos entender essas estruturas de dados porque a estrutura de dados de dimensão superior é o contêiner da estrutura de dados de dimensão inferior.

Instalação e execução

Se você estiver usando a distribuição Anaconda, não há necessidade de instalar o Pandas separadamente, pois já está instalado com ele. Você só precisa importar o pacote para o seu script Python com a ajuda de:

import pandas as pd

Por outro lado, se você estiver usando a distribuição padrão do Python, o Pandas pode ser instalado usando o popular instalador do pacote python, pip.

pip install Pandas

Depois de instalar o Pandas, você pode importá-lo em seu script Python como fez acima.

Exemplo

A seguir está um exemplo de criação de uma série de ndarray usando Pandas -

In [1]: import pandas as pd

In [2]: import numpy as np

In [3]: data = np.array(['g','a','u','r','a','v'])

In [4]: s = pd.Series(data)

In [5]: print (s)

0 g
1 a
2 u
3 r
4 a
5 v

dtype: object

Para um estudo mais detalhado dos Pandas, você pode acessar o link .

Scikit-learn

Outra biblioteca python útil e mais importante para ciência de dados e aprendizado de máquina em Python é Scikit-learn. A seguir estão alguns recursos do Scikit-learn que o tornam tão útil -

  • Ele é baseado em NumPy, SciPy e Matplotlib.

  • É um código aberto e pode ser reutilizado sob licença BSD.

  • É acessível a todos e pode ser reutilizado em vários contextos.

  • Uma ampla gama de algoritmos de aprendizado de máquina que cobrem as principais áreas do ML, como classificação, agrupamento, regressão, redução de dimensionalidade, seleção de modelo, etc., podem ser implementados com a ajuda dele.

Instalação e execução

Se você estiver usando a distribuição Anaconda, não há necessidade de instalar o Scikit-learn separadamente, pois já está instalado com ele. Você só precisa usar o pacote em seu script Python. Por exemplo, com a seguinte linha de script, estamos importando conjunto de dados de pacientes com câncer de mama deScikit-learn -

from sklearn.datasets import load_breast_cancer

Por outro lado, se você estiver usando uma distribuição Python padrão e tiver NumPy e SciPy, o Scikit-learn pode ser instalado usando o instalador de pacote Python popular, pip.

pip install -U scikit-learn

Depois de instalar o Scikit-learn, você pode usá-lo em seu script Python como fez acima.