Introdução ao Scikit-learn com Python: Instalação e Exemplos com Matplotlib
O Scikit-learn é uma das bibliotecas mais populares para aprendizado de máquina (ML) em Python. Ela fornece uma variedade de algoritmos para tarefas como classificação, regressão, clustering e redução de dimensionalidade. Além disso, o Scikit-learn é conhecido por sua simplicidade de uso e integração com outras bibliotecas como NumPy, pandas e matplotlib.
Instalação do Scikit-learn
Antes de começar a utilizar o Scikit-learn, é necessário instalá-lo. Você pode fazer isso facilmente com o pip:
pip install scikit-learn
Ou, se estiver usando o Anaconda, pode instalar com:
conda install scikit-learn
Agora que temos o Scikit-learn instalado, vamos explorar 20 exemplos práticos com visualizações utilizando o Matplotlib.
1. Exemplo Básico de Regressão Linear
import numpy as np
import matplotlib.pyplot as plt
from sklearn.linear_model import LinearRegression
# Gerando dados
X = np.array([1, 2, 3, 4, 5]).reshape(-1, 1)
y = np.array([1, 2, 3, 3, 5])
# Modelo de Regressão Linear
model = LinearRegression()
model.fit(X, y)
# Predição
y_pred = model.predict(X)
# Visualização
plt.scatter(X, y, color='blue')
plt.plot(X, y_pred, color='red')
plt.title('Regressão Linear')
plt.xlabel('X')
plt.ylabel('y')
plt.show()
2. Classificação com KNN (K-Nearest Neighbors)
import matplotlib.pyplot as plt
from sklearn.datasets import make_classification
from sklearn.neighbors import KNeighborsClassifier
# Gerando dados
X, y = make_classification(n_samples=100, n_features=2, n_classes=2, random_state=42)
# Treinando o modelo KNN
knn = KNeighborsClassifier(n_neighbors=3)
knn.fit(X, y)
# Visualizando
plt.scatter(X[:, 0], X[:, 1], c=y, cmap='viridis')
plt.title('Classificação 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)
# Predição
y_pred = model.predict(X_poly)
# Visualização
plt.scatter(X, y, color='blue')
plt.plot(X, y_pred, color='red')
plt.title('Regressão Polinomial')
plt.xlabel('X')
plt.ylabel('y')
plt.show()
4. Classificação com SVM (Support Vector Machine)
from sklearn.svm import SVC
from sklearn.datasets import make_blobs
import matplotlib.pyplot as plt
# Gerando 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 para Classificação
from sklearn.tree import DecisionTreeClassifier
from sklearn.datasets import make_classification
import matplotlib.pyplot as plt
# Gerando 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
# Gerando 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
import matplotlib.pyplot as plt
from sklearn.datasets import load_digits
# Carregando o dataset
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 para Classificação
from sklearn.linear_model import LogisticRegression
from sklearn.datasets import make_classification
import matplotlib.pyplot as plt
# Gerando 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()
Vou continuar o restante dos exemplos com mais visualizações e algoritmos:
9. Clustering com DBSCAN
from sklearn.cluster import DBSCAN
import matplotlib.pyplot as plt
# Exemplo de uso
10. Random Forest
from sklearn.ensemble import RandomForestClassifier
import matplotlib.pyplot as plt

Leave a comment