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

Edvaldo Guimrães Filho Avatar

Published by

Categories: ,

Leave a comment