image

Acesse bootcamps ilimitados e +650 cursos

50
%OFF
Article image

MA

Mariana Andrade18/05/2024 21:57
Compartilhe

Aprendizado de Máquina: Exemplos e Aplicações em Python

  • #Machine Learning
  • #Python

Principais Tipos de Aprendizado de Máquina: Exemplos e Aplicações Reais em Python

Introdução

O aprendizado de máquina, uma subárea da inteligência artificial, concentra-se no desenvolvimento de algoritmos que aprendem a partir de dados. Este artigo explora os principais tipos de aprendizado de máquina, oferecendo exemplos intuitivos e aplicações reais, com implementações em Python.

Aprendizado Supervisionado: Ensinar com Exemplos

Regressão Linear: Prevendo Preços de Imóveis

A regressão linear é uma técnica usada para prever um valor contínuo. O modelo é treinado com um conjunto de dados rotulados, onde cada exemplo possui um conjunto de características (features) e um valor alvo (target).

Exemplo em Python:

import numpy as np
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression
from sklearn.metrics import mean_squared_error

# Carregar os dados
data = pd.read_csv('house_prices.csv')
X = data[['tamanho', 'n_quartos']]
y = data['preco']

# Dividir 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)

# Treinar o modelo
model = LinearRegression()
model.fit(X_train, y_train)

# Fazer previsões
y_pred = model.predict(X_test)

# Avaliar o modelo
mse = mean_squared_error(y_test, y_pred)
print(f'Erro Quadrático Médio: {mse}')

Classificação com K-Nearest Neighbors (KNN): Diagnóstico de Doenças

O KNN é um algoritmo de classificação que classifica um ponto de dados com base na maioria das classes de seus k vizinhos mais próximos.

Exemplo em Python:

from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.neighbors import KNeighborsClassifier
from sklearn.metrics import accuracy_score

# Carregar os dados
iris = load_iris()
X = iris.data
y = iris.target

# Dividir 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)

# Treinar o modelo
knn = KNeighborsClassifier(n_neighbors=3)
knn.fit(X_train, y_train)

# Fazer previsões
y_pred = knn.predict(X_test)

# Avaliar o modelo
accuracy = accuracy_score(y_test, y_pred)
print(f'Acurácia: {accuracy}')

Aprendizado Não Supervisionado: Descobrindo Padrões Ocultos

Clustering com K-Means: Segmentação de Clientes

O K-Means é um algoritmo de clustering que agrupa pontos de dados em k clusters com base em suas características.

Exemplo em Python:

import matplotlib.pyplot as plt
from sklearn.datasets import make_blobs
from sklearn.cluster import KMeans

# Gerar dados de exemplo
X, _ = make_blobs(n_samples=300, centers=4, random_state=42)

# Aplicar K-Means
kmeans = KMeans(n_clusters=4)
kmeans.fit(X)
y_kmeans = kmeans.predict(X)

# Visualizar os clusters
plt.scatter(X[:, 0], X[:, 1], c=y_kmeans, s=50, cmap='viridis')
centers = kmeans.cluster_centers_
plt.scatter(centers[:, 0], centers[:, 1], c='red', s=200, alpha=0.75)
plt.show()

Redução de Dimensionalidade com PCA: Compressão de Imagens

A Análise de Componentes Principais (PCA) é uma técnica de redução de dimensionalidade que transforma um conjunto de dados em um novo espaço de menor dimensão.

Exemplo em Python:

from sklearn.decomposition import PCA
from sklearn.datasets import load_digits
import matplotlib.pyplot as plt

# Carregar os dados
digits = load_digits()
X = digits.data
y = digits.target

# Aplicar PCA
pca = PCA(n_components=2)
X_pca = pca.fit_transform(X)

# Visualizar os dados reduzidos
plt.scatter(X_pca[:, 0], X_pca[:, 1], c=y, cmap='viridis')
plt.xlabel('Componente Principal 1')
plt.ylabel('Componente Principal 2')
plt.colorbar()
plt.show()

Aprendizado por Reforço: Aprendendo com a Experiência

Q-Learning: Treinando Agentes em Jogos

O Q-Learning é um algoritmo de aprendizado por reforço que busca aprender uma política de ação que maximiza a recompensa total em um ambiente dinâmico.

Exemplo em Python (Usando OpenAI Gym):

import gym
import numpy as np

# Configurar o ambiente
env = gym.make('FrozenLake-v0')
n_actions = env.action_space.n
n_states = env.observation_space.n

# Inicializar a Q-Table
Q = np.zeros((n_states, n_actions))

# Definir parâmetros
alpha = 0.1
gamma = 0.99
epsilon = 0.1
n_episodes = 1000

# Treinamento
for episode in range(n_episodes):
state = env.reset()
done = False
while not done:
  if np.random.rand() < epsilon:
    action = env.action_space.sample()
  else:
    action = np.argmax(Q[state])
  next_state, reward, done, _ = env.step(action)
  Q[state, action] = Q[state, action] + alpha * (reward + gamma * np.max(Q[next_state]) - Q[state, action])
  state = next_state

print("Treinamento concluído.")

Conclusão

Este artigo, gerado pelo ChatGPT, apresentou uma visão geral dos principais tipos de aprendizado de máquina, ilustrados com exemplos práticos e implementações em Python. Compreender esses conceitos e algoritmos é fundamental para aplicar técnicas de aprendizado de máquina a problemas do mundo real e desenvolver soluções inovadoras em diversas áreas.

Compartilhe
Comentários (0)