Explorando o Scikit-learn em Python: Instalação e Exemplos com Matplotlib

O Scikit-learn é uma biblioteca fundamental para quem trabalha com aprendizado de máquina em Python. Ela oferece uma vasta gama de algoritmos e ferramentas para tarefas como classificação, regressão, clustering e mais. Neste artigo, vamos explorar como instalar o Scikit-learn e fornecer 10 exemplos práticos com visualizações utilizando o Matplotlib.

Instalação do Scikit-learn

Para instalar o Scikit-learn, você pode usar o pip:

pip install scikit-learn

Ou, se você estiver usando o Anaconda, pode instalar com:

conda install scikit-learn

Exemplos Práticos com Matplotlib

1. Regressão Linear

import numpy as np
import matplotlib.pyplot as plt
from sklearn.linear_model import LinearRegression

# Dados
X = np.array([1, 2, 3, 4, 5]).reshape(-1, 1)
y = np.array([1, 2, 3, 3, 5])

# Regressão Linear
model = LinearRegression()
model.fit(X, y)
y_pred = model.predict(X)

# Visualização
plt.scatter(X, y, color='blue', label='Dados Reais')
plt.plot(X, y_pred, color='red', label='Linha de Regressão')
plt.title('Regressão Linear')
plt.xlabel('X')
plt.ylabel('y')
plt.legend()
plt.show()

2. Classificação com K-Nearest Neighbors (KNN)

import matplotlib.pyplot as plt
from sklearn.datasets import make_classification
from sklearn.neighbors import KNeighborsClassifier

# Dados
X, y = make_classification(n_samples=100, n_features=2, n_classes=2, random_state=42)

# Modelo KNN
knn = KNeighborsClassifier(n_neighbors=3)
knn.fit(X, y)

# Visualização
plt.scatter(X[:, 0], X[:, 1], c=y, cmap='viridis')
plt.title('Classificação com KNN')
plt.xlabel('Feature 1')
plt.ylabel('Feature 2')
plt.show()

3. Regressão Polinomial

from sklearn.preprocessing import PolynomialFeatures
from sklearn.linear_model import LinearRegression
import numpy as np
import matplotlib.pyplot as plt

# Dados
X = np.array([1, 2, 3, 4, 5]).reshape(-1, 1)
y = np.array([1, 4, 9, 16, 25])

# Regressão Polinomial
poly = PolynomialFeatures(degree=2)
X_poly = poly.fit_transform(X)
model = LinearRegression()
model.fit(X_poly, y)
y_pred = model.predict(X_poly)

# Visualização
plt.scatter(X, y, color='blue', label='Dados Reais')
plt.plot(X, y_pred, color='red', label='Regressão Polinomial')
plt.title('Regressão Polinomial')
plt.xlabel('X')
plt.ylabel('y')
plt.legend()
plt.show()

4. Classificação com Support Vector Machine (SVM)

from sklearn.svm import SVC
from sklearn.datasets import make_blobs
import matplotlib.pyplot as plt

# Dados
X, y = make_blobs(n_samples=100, centers=2, random_state=42)

# SVM
svc = SVC(kernel='linear')
svc.fit(X, y)

# Visualização
plt.scatter(X[:, 0], X[:, 1], c=y, cmap='coolwarm')
plt.title('Classificação com SVM')
plt.xlabel('Feature 1')
plt.ylabel('Feature 2')
plt.show()

5. Árvore de Decisão

from sklearn.tree import DecisionTreeClassifier
from sklearn.datasets import make_classification
import matplotlib.pyplot as plt

# Dados
X, y = make_classification(n_samples=100, n_features=2, n_classes=2, random_state=42)

# Árvore de Decisão
tree = DecisionTreeClassifier()
tree.fit(X, y)

# Visualização
plt.scatter(X[:, 0], X[:, 1], c=y, cmap='winter')
plt.title('Classificação com Árvore de Decisão')
plt.xlabel('Feature 1')
plt.ylabel('Feature 2')
plt.show()

6. Clustering com K-Means

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

# Dados
X, _ = make_blobs(n_samples=200, centers=3, random_state=42)

# K-Means
kmeans = KMeans(n_clusters=3)
kmeans.fit(X)

# Visualização
plt.scatter(X[:, 0], X[:, 1], c=kmeans.labels_, cmap='rainbow')
plt.title('Clustering com K-Means')
plt.xlabel('Feature 1')
plt.ylabel('Feature 2')
plt.show()

7. Análise de Componentes Principais (PCA)

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

# Dados
digits = load_digits()

# PCA
pca = PCA(n_components=2)
X_pca = pca.fit_transform(digits.data)

# Visualização
plt.scatter(X_pca[:, 0], X_pca[:, 1], c=digits.target, cmap='tab10')
plt.title('PCA em Dígitos')
plt.xlabel('Componente 1')
plt.ylabel('Componente 2')
plt.show()

8. Regressão Logística

from sklearn.linear_model import LogisticRegression
from sklearn.datasets import make_classification
import matplotlib.pyplot as plt

# Dados
X, y = make_classification(n_samples=100, n_features=2, n_classes=2, random_state=42)

# Regressão Logística
log_reg = LogisticRegression()
log_reg.fit(X, y)

# Visualização
plt.scatter(X[:, 0], X[:, 1], c=y, cmap='autumn')
plt.title('Classificação com Regressão Logística')
plt.xlabel('Feature 1')
plt.ylabel('Feature 2')
plt.show()

9. Clustering com DBSCAN

from sklearn.cluster import DBSCAN
from sklearn.datasets import make_moons
import matplotlib.pyplot as plt

# Dados
X, _ = make_moons(n_samples=300, noise=0.1, random_state=42)

# DBSCAN
dbscan = DBSCAN(eps=0.2, min_samples=5)
dbscan.fit(X)

# Visualização
plt.scatter(X[:, 0], X[:, 1], c=dbscan.labels_, cmap='viridis')
plt.title('Clustering com DBSCAN')
plt.xlabel('Feature 1')
plt.ylabel('Feature 2')
plt.show()

10. Random Forest para Classificação

from sklearn.ensemble import RandomForestClassifier
from sklearn.datasets import make_classification
import matplotlib.pyplot as plt

# Dados
X, y = make_classification(n_samples=100, n_features=2, n_classes=2, random_state=42)

# Random Forest
rf = RandomForestClassifier(n_estimators=100)
rf.fit(X, y)

# Visualização
plt.scatter(X[:, 0], X[:, 1], c=y, cmap='spring')
plt.title('Classificação com Random Forest')
plt.xlabel('Feature 1')
plt.ylabel('Feature 2')
plt.show()

Esses exemplos cobrem uma gama de técnicas de aprendizado de máquina usando o Scikit-learn e visualizações com o Matplotlib. Eles fornecem uma base sólida para experimentar e aprofundar seus conhecimentos em aprendizado de máquina.

Edvaldo Guimrães Filho Avatar

Published by

Categories: ,

Leave a comment