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.

Leave a comment