A regressão polinomial é uma extensão da regressão linear que permite modelar relações não lineares.
import pandas as pd
import numpy as np
from sklearn.model_selection import train_test_split as tts
from sklearn.preprocessing import PolynomialFeatures as pf
from sklearn.linear_model import LinearRegression as lr
from sklearn.metrics import mean_squared_error as mse
# Criar um DataFrame de exemplo
data = {'x': np.arange(10), 'y': np.array([1, 4, 9, 16, 25, 36, 49, 64, 81, 100])}
df = pd.DataFrame(data)
# Definir variáveis independentes e dependentes
X = df[['x']]
y = df['y']
# Criar características polinomiais
poly = pf(degree=2)
X_poly = poly.fit_transform(X)
# Dividir os dados em conjuntos de treinamento e teste
X_treino, X_teste, y_treino, y_teste = tts(X_poly, y, test_size=0.2, random_state=42)
# Treinar um modelo de regressão linear com características polinomiais
modelo = lr()
modelo.fit(X_treino, y_treino)
# Fazer previsões e avaliar o modelo
y_pred = modelo.predict(X_teste)
erro_quadratico_medio = mse(y_teste, y_pred)
print(f'Erro quadrático médio: {erro_quadratico_medio}')
O KNN é um algoritmo de classificação que atribui rótulos com base nos rótulos dos vizinhos mais próximos.
import pandas as pd
from sklearn.model_selection import train_test_split as tts
from sklearn.neighbors import KNeighborsClassifier as knc
from sklearn.metrics import accuracy_score as acs
# Criar um DataFrame de exemplo
data = {'x1': [1, 2, 3, 6, 7, 8], 'x2': [1, 2, 3, 6, 7, 8], 'y': [0, 0, 0, 1, 1, 1]}
df = pd.DataFrame(data)
# Definir variáveis independentes e dependentes
X = df[['x1', 'x2']]
y = df['y']
# Dividir os dados em conjuntos de treinamento e teste
X_treino, X_teste, y_treino, y_teste = tts(X, y, test_size=0.2, random_state=42)
# Treinar um modelo KNN
modelo = knc(n_neighbors=3)
modelo.fit(X_treino, y_treino)
# Fazer previsões e avaliar o modelo
y_pred = modelo.predict(X_teste)
acuracia = acs(y_teste, y_pred)
print(f'Acurâcia: {acuracia}')