Python e aprendizado de máquina

Python e aprendizado de máquina

Aproveite o poder do Python no aprendizado de máquina. Crie modelos de ML inteligentes e escalonáveis. Transforme sua tomada de decisão baseada em dados com Python.

Imagem em destaque

Para muitos, Python não é uma linguagem do passado, mas sim uma linguagem do presente e do futuro. Embora o Python tenha sido criado na década de 80, ele é muito proeminente no desenvolvimento web e em setores que dependem de linguagens de programação simples e flexíveis.

Python se adapta melhor a esse projeto do que muitas outras linguagens. Na verdade, Python é uma linguagem tão simples de aprender e usar que muitas vezes é uma das primeiras linguagens com a qual aqueles que são novos em programação trabalham. O que torna o Python tão fácil de usar? Em primeiro lugar, é uma linguagem interpretada, o que significa que você não precisa compilar código para executá-lo: basta escrever e executar seu código.

Python também segue uma filosofia que torna possível escrever poucas linhas de código para completar uma tarefa. E com tantos módulos, classes, exceções, tipos de dados e bibliotecas disponíveis, há muito pouco que esta linguagem não possa fazer.

Embora a especialidade do Python seja a web e as aplicações web, ele tem vários outros truques na manga. Um desses truques é o aprendizado de máquina. Para quem não sabe, o Machine Learning é um subconjunto da Inteligência Artificial onde os algoritmos de computador melhoram automaticamente com a experiência. Em outras palavras, fazer um computador executar alguma tarefa sem realmente programar para essa tarefa.

E considerando que o Machine Learning se generalizou, com empresas como Google, Amazon, LinkedIn e Facebook dependendo dele, o ML está possibilitando saltos exponenciais nos avanços tecnológicos modernos.

Vamos dar uma olhada em por que você deve considerar o Python para suas necessidades de aprendizado de máquina.

Python é bom para aprendizado de máquina?

Em uma palavra, sim. Na verdade, Python é pensado como o linguagem preferida para aprendizado de máquina. Embora Python possa ser considerado “mais lento” do que algumas linguagens, sua capacidade de manipulação de dados é uma das melhores.

Mas o que torna o Python tão excepcional com o aprendizado de máquina? Existem vários motivos, incluindo:

1- É fácil de aprender (em comparação com outras linguagens capazes de integração com ML).

2- É de código aberto, o que significa que pode ser melhor integrado com novas tecnologias à medida que surgem.

3- Pode interagir com praticamente qualquer linguagem de programação e plataforma.

4- Possui um ecossistema de biblioteca incrível.

5- É muito flexível, com a capacidade de seguir rotas orientadas a objetos ou de script.

6- Oferece muitas opções de visualização.

7- Possui ótimo suporte da comunidade.

Como começo a aprender aprendizado de máquina com Python?

Para começar com Machine Learning e Python, você deve primeiro aprender a linguagem Python. Depois de cuidar disso, você também precisará se familiarizar com um framework como o Django. Com eles sob controle, você deve aprender uma das bibliotecas específicas de ML. Você também precisará compreender os conceitos básicos de aprendizado de máquina. Por exemplo, todo algoritmo de aprendizado de máquina usa três conceitos principais:

1- Representação, que é como você representa o conhecimento.

2- Avaliação, que é a forma de avaliar programas, com foco em acurácia, predição, recall, erro quadrático, verossimilhança, probabilidade posterior, custo, margem, entropia e divergência kL.

3- Otimização, que é como os programas de ML são gerados.

Você também precisará compreender os quatro tipos de aprendizado de máquina:

1- A aprendizagem supervisionada é onde os dados de treinamento incluem o resultado desejado.

2- A aprendizagem não supervisionada é onde os dados de treinamento não incluem o resultado desejado.

3- A aprendizagem semissupervisionada é onde os dados de treinamento incluem mais de um resultado desejado.

4- A aprendizagem por reforço é onde um agente aprende a atingir um objetivo em um ambiente incerto e complexo.

Depois de ter uma compreensão sólida de como o aprendizado de máquina realmente funciona, você estará pronto para começar sua jornada usando Python para fazer isso acontecer.

O Python é rápido o suficiente para aprendizado de máquina?

Embora Python não seja a linguagem de programação mais rápida disponível, ela já provou ser mais do que capaz o suficiente para lidar com as demandas do Machine Learning. Para superar o que alguns podem considerar uma queda, o Python tem uma série de ferramentas disponíveis para compensar. Por exemplo, Pandas é uma ferramenta usada em ciência de dados para limpar, transformar, manipular e analisar dados. Com essas ferramentas, você pode garantir que os dados usados ​​com aprendizado de máquina sejam melhor otimizados para uso.

Qual versão do Python é melhor para aprendizado de máquina?

A certa altura, a melhor versão do Python para usar no aprendizado de máquina era a 2.7. No entanto, a iteração 2.x do Python foi descontinuada, o que significa que você terá que usar uma versão do Python 3.0 ou mais recente. No momento em que este livro foi escrito, a versão estável mais recente do Python era 3.9.0. Se você deseja ter os recursos e atualizações de segurança mais recentes, sua melhor aposta é usar essas ou versões mais recentes (se disponíveis).

Biblioteca de aprendizado de máquina Python

Antes de abordarmos um exemplo, você precisará saber quais bibliotecas estão disponíveis para uso em aprendizado de máquina em Python. Os idiomas disponíveis são:

  • NumPy é uma biblioteca para grandes matrizes multidimensionais e processamento de matrizes.
  • SciPy é uma biblioteca que contém módulos para otimização, álgebra linear, integração e estatística.
  • Scikit-learn é a biblioteca usada para algoritmos clássicos de aprendizado de máquina (em particular, aqueles para aprendizado supervisionado e não supervisionado)
  • Theano é usado para definir, avaliar e otimizar expressões matemáticas envolvendo matrizes multidimensionais.
  • TensorFlow é uma estrutura que envolve definir e executar cálculos envolvendo tensores.
  • Keras é uma API de redes neurais de alto nível.
  • PyTorch permite que os desenvolvedores realizem cálculos em tensores com aceleração de GPU.
  • Pandas é uma das bibliotecas mais populares para análise de dados.
  • Matplotlib é a biblioteca mais utilizada para visualização de dados.

Exemplo de aprendizado de máquina Python

Vamos demonstrar um experimento básico usando aprendizado de máquina com Python no Ubuntu Linux. Primeiro você precisará instalar o Python com o comando:

sudo apt-get install python3 -y

Assim que a instalação for concluída, você precisará instalar as bibliotecas necessárias. Primeiro, vamos instalar as bibliotecas necessárias com o comando:

sudo apt-get install python3-numpy python3-scipy python3-matplotlib python3-pandas python3-sympy python3-nose python3-sklearn -y

Em seguida, obtenha acesso ao console Python com o comando:

python3

Nesse console, verifique todas as bibliotecas necessárias colando o seguinte e pressionando Enter no teclado:

# Python version
import sys
print('Python: {}'.format(sys.version))
# SciPy
import scipy
print('scipy: {}'.format(scipy.__version__))
# NumPy
import numpy
print('numpy: {}'.format(numpy.__version__))
# matplotlib
import matplotlib
print('matplotlib: {}'.format(matplotlib.__version__))
# pandas
import pandas
print('pandas: {}'.format(pandas.__version__))
# scikit-learn
import sklearn
print('sklearn: {}'.format(sklearn.__version__))

A saída deve imprimir as versões de cada biblioteca.

A seguir, vamos carregar as bibliotecas. Cole o seguinte no console:

# Load libraries
from pandas import read_csv
from pandas.plotting import scatter_matrix
from matplotlib import pyplot
from sklearn.model_selection import train_test_split
from sklearn.model_selection import cross_val_score
from sklearn.model_selection import StratifiedKFold
from sklearn.metrics import classification_report
from sklearn.metrics import confusion_matrix
from sklearn.metrics import accuracy_score
from sklearn.linear_model import LogisticRegression
from sklearn.tree import DecisionTreeClassifier
from sklearn.neighbors import KNeighborsClassifier
from sklearn.discriminant_analysis import LinearDiscriminantAnalysis
from sklearn.naive_bayes import GaussianNB

Pressione Enter para retornar ao console Python.

Carregue um conjunto de dados para o experimento com o seguinte:

# Load dataset
url = "
names = ('sepal-length', 'sepal-width', 'petal-length', 'petal-width', 'class')
dataset = read_csv(url, names=names)

Visualize as primeiras 20 linhas de dados com o comando:

# head
print(dataset.head(20))

Você deverá ver as primeiras 20 linhas de dados impressas.

Vamos resumir todos os dados colando o seguinte no console Python:

# summarize the data
from pandas import read_csv
# Load dataset
url = "
names = ('sepal-length', 'sepal-width', 'petal-length', 'petal-width', 'class')
dataset = read_csv(url, names=names)
# shape
print(dataset.shape)
# head
print(dataset.head(20))
# descriptions
print(dataset.describe )
# class distribution
print(dataset.groupby('class').size )

Finalmente, você pode construir e avaliar modelos a partir dos dados carregados colando o seguinte no console:

# Spot Check Algorithms
models =  
models.append(('LR', LogisticRegression(solver="liblinear", multi_)))
models.append(('LDA', LinearDiscriminantAnalysis ))
models.append(('KNN', KNeighborsClassifier ))
models.append(('CART', DecisionTreeClassifier ))
models.append(('NB', GaussianNB ))
models.append(('SVM', SVC(gamma="auto")))
# evaluate each model in turn
results =  
names =  
for name, model in models:
kfold = StratifiedKFold(n_splits=10, random_state=1, shuffle=True)
cv_results = cross_val_score(model, X_train, Y_train, cv=kfold, scoring='accuracy')
results.append(cv_results)
names.append(name)
print('%s: %f (%f)' % (name, cv_results.mean , cv_results.std ))

Depois de colar o texto acima no console, pressione Enter, e ele imprimirá os diferentes modelos e estimativas de precisão, que podem ser comparados para escolher o mais preciso.

E esse é um exemplo bastante simples de aprendizado de máquina com Python.

Conclusão

E é assim e por que Python é considerada a melhor linguagem para Machine Learning. Com essas informações, você está pronto para iniciar sua jornada neste campo fascinante. Há um muito para aprender e ainda apenas arranhamos a superfície, então espere gastar uma boa quantidade de tempo aprendendo os fundamentos dessa tecnologia complicada.

Se você gostou deste artigo, confira um de nossos outros artigos sobre Python.

  • Django é o framework web para perfeccionistas?
  • Os 5 melhores sites criados com Python
  • O que um bom desenvolvedor Python pode fazer para ajudar sua empresa?
  • Como contratar um programador Python
  • Para que é usado o Python?

Fonte: BairesDev

Conteúdo Relacionado

Powrót do blogu

Zostaw komentarz

Pamiętaj, że komentarze muszą zostać zatwierdzone przed ich opublikowaniem.