image

Bootcamps ilimitados + curso de inglês para sempre

80
%OFF
Article image
Christopher Costa
Christopher Costa12/12/2024 19:03
Compartilhe
Microsoft 50 Anos - Prompts InteligentesRecomendados para vocêMicrosoft 50 Anos - Prompts Inteligentes

Do Zero ao Primeiro Modelo: Introdução ao Reconhecimento de Padrões e IA

  • #Machine Learning
  • #Python
  • #Inteligência Artificial (IA)

A inteligência artificial (IA) está transformando o mundo, e o reconhecimento de padrões é uma das suas bases mais importantes. Desde identificar rostos em fotos até prever tendências de mercado, o reconhecimento de padrões é uma área que combina matemática, estatística e computação para encontrar regularidades em dados. Este artigo tem como objetivo introduzir você ao tema e guiá-lo na criação do seu primeiro modelo usando Python.


O que é Reconhecimento de Padrões?

Reconhecimento de padrões é a técnica de identificar regularidades ou estruturas em dados. Um ótimo exemplo disso são os algoritmos de recomendação de plataformas como Netflix, YouTube e TikTok. Eles analisam o conteúdo que você consome e comparam com o que outras pessoas com interesses similares estão interagindo para oferecer sugestões personalizadas. A ideia central é usar dados para treinar um modelo que aprenda a fazer previsões ou classificações automaticamente.


Ferramentas Necessárias

Para este tutorial, usaremos as seguintes bibliotecas Python:

  • Pandas: Para manipulação de dados.
  • NumPy: Para cálculos matemáticos.
  • Scikit-learn: Para criar e avaliar modelos de aprendizado de máquina.


Certifique-se de instalar as bibliotecas com:


 pip install pandas numpy scikit-learn

 

Criando o Primeiro Modelo

Vamos construir um modelo simples para prever se é um bom dia para jogar futebol com base em condições climáticas.


1. Preparando os Dados

Primeiro, criamos um dataset fictício:

 

import pandas as pd

 

# Criando um dataset simples

data = {

 'Aspecto': ['Sol', 'Sol', 'Nuvens', 'Chuva', 'Chuva', 'Chuva', 'Nuvens', 'Sol', 'Sol', 'Chuva', 'Sol', 'Nuvens', 'Nuvens', 'Chuva', ‘Nuvens’],

 'Umidade': ['Elevada', 'Elevada', 'Normal', 'Normal', 'Normal', 'Elevada', 'Normal', 'Elevada', 'Normal', 'Normal', 'Normal', 'Normal', 'Elevada', 'Elevada', ‘Normal’],

 'Vento': ['Fraco', 'Forte', 'Fraco', 'Fraco', 'Forte', 'Forte', 'Fraco', 'Fraco', 'Fraco', 'Fraco', 'Forte', 'Fraco', 'Forte', 'Forte', ‘Fraco’],

 'Jogar': ['Não', 'Não', 'Sim', 'Sim', 'Não', 'Não', 'Sim', 'Não', 'Sim', 'Sim', 'Sim', 'Sim', 'Sim', 'Não', ‘Sim’]

}

 

df = pd.DataFrame(data)

print(df)


 

2. Transformando os Dados

Os algoritmos de aprendizado de máquina funcionam melhor com dados numéricos. Por isso, utilizamos o método LabelEncoder para converter variáveis categóricas em valores numéricos. Por exemplo, o atributo 'Vento' pode ser transformado em 1 para 'Fraco' e 0 para 'Forte':


from sklearn.preprocessing import LabelEncoder

 

# Convertendo as variáveis categóricas para números

label_encoder = LabelEncoder()

for column in ['Aspecto', 'Umidade', 'Vento', 'Jogar']:

 df[column] = label_encoder.fit_transform(df[column])

 

print(df)


 

3. Treinando o Modelo

Existem vários modelos de aprendizado de máquina, cada um adequado a diferentes tipos de problemas. Por exemplo, algoritmos como KNN, Random Forest e Regressão Logística são populares para tarefas de classificação, mas, neste tutorial, optamos por utilizar um modelo de árvore de decisão, que é simples de entender e interpretar. Para treinar o modelo, utilizaremos a biblioteca Scikit-learn, que facilita a implementação e avaliação de modelos de aprendizado de máquina.


from sklearn.model_selection import train_test_split

from sklearn.tree import DecisionTreeClassifier

from sklearn.metrics import accuracy_score

 

# Selecionando atributos e rótulos

X = df[['Aspecto', 'Umidade', 'Vento']]

y = df['Jogar']

 

# Dividindo os dados em treino e teste

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

 

# Treinando o modelo

model = DecisionTreeClassifier()

model.fit(X_train, y_train)

 

# Fazendo previsões

y_pred = model.predict(X_test)

 

# Avaliando o modelo

print("Acurácia:", accuracy_score(y_test, y_pred))



A avaliação do modelo é feita medindo sua acurácia, que é a porcentagem de previsões corretas em relação ao total de amostras de teste. Como o nosso dataset contém apenas 15 linhas, com 20% de dados para teste, isso resulta em aproximadamente 3 amostras de teste. Para alcançar uma acurácia de 1, ou 100%, o modelo precisaria acertar todas as 3 amostras de teste. No entanto, é importante lembrar que em datasets muito pequenos, a acurácia pode ser uma métrica instável, pois pequenas variações nas amostras de teste podem resultar em grandes mudanças na acurácia.


4. Visualizando a Árvore de Decisão

Podemos visualizar a árvore de decisão gerada, o modelo é uma estrutura que simula um processo de tomada de decisão, onde cada 'nó' representa uma condição ou teste em um atributo dos dados, e cada 'folha' representa um resultado ou classe final. A árvore funciona realizando uma série de perguntas baseadas nos dados. A cada pergunta feita em um nó, os dados são divididos de acordo com a resposta ('sim' ou 'não'). Dependendo da resposta, a árvore 'desce' para o próximo nível, realizando novas perguntas. Esse processo continua até que a árvore chegue a um 'nó folha', onde a decisão final é tomada, fornecendo a previsão ou classificação final.


from sklearn.tree import plot_tree

import matplotlib.pyplot as plt

 

# Visualizando a árvore

disp = plot_tree(model, feature_names=['Aspecto', 'Umidade', 'Vento'], class_names=['Não', 'Sim'], filled=True)

plt.show()


5. Testando o Modelo

Agora podemos usar o modelo para prever se é um bom dia para jogar futebol com base em novas condições climáticas:

# Testando o modelo com novos dados

aspecto = int(input("Aspecto(Sol=2, Nuvens=1, Chuva=1): "))

umidade = int(input("Umidade(Elevada=0, Normal=1): "))

vento = int(input("Vento(Forte=0, Fraco=1): "))

novo_dia = pd.DataFrame({'Aspecto': aspecto, 'Umidade': umidade, 'Vento': vento})

previsao = model.predict(novo_dia)

print("Previsão para jogar futebol:", "Sim" if previsao[0] == 1 else "Não")



Conclusão

Neste tutorial, você aprendeu os conceitos básicos de reconhecimento de padrões e como construir um modelo simples usando Python. Usamos um exemplo prático relacionado à decisão de jogar futebol com base em condições climáticas. O próximo passo é explorar novos datasets e como trabalhar sobre eles para conseguir resultados melhores, considere dar uma passada no Kaggle, um ótimo site para buscar datasets e analisar códigos de pessoas mais experientes.

Com a IA e o reconhecimento de padrões, as possibilidades são infinitas. Comece pequeno, prática é o segredo para avançar!


Link do Kaggle: https://www.kaggle.com/datasets

Compartilhe
Recomendados para você
Suzano - Python Developer
BairesDev - Machine Learning Practitioner
Santander - Cibersegurança #2
Comentários (2)
MÁRCIA SOUZA
MÁRCIA SOUZA - 13/12/2024 13:40

Olá,


Estou me especializando nessa subárea da IA, a Machine Learning. Indico um livro que pode ser de seu interesse:


Machine Learning – Guia de Referência Rápida: Trabalhando com Dados Estruturados em Python, Edição Português  por Matt Harrison (Autor)

MÁRCIA SOUZA
MÁRCIA SOUZA - 13/12/2024 02:40

Muito bom!

Recomendados para vocêMicrosoft 50 Anos - Prompts Inteligentes