Avaliar a performance dos modelos de aprendizado de máquina é crucial para garantir que eles estejam funcionando corretamente e para comparar diferentes modelos.
As métricas de avaliação variam dependendo do tipo de problema (regressão, classificação).
Exemplo: Calcular métricas de avaliação para um modelo de regressão e um modelo de classificação
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression, LogisticRegression
from sklearn.metrics import mean_squared_error, accuracy_score, classification_report
# Criar um DataFrame de exemplo para regressão
data_reg = {'idade': [25, 30, 45, 40, 50], 'salario': [50000, 54000, 61000, 58000, 62000]}
df_reg = pd.DataFrame(data_reg)
# Regressão
X_reg = df_reg[['idade']]
y_reg = df_reg['salario']
X_train_reg, X_test_reg, y_train_reg, y_test_reg = train_test_split(X_reg, y_reg, test_size=0.2, random_state=42)
modelo_reg = LinearRegression()
modelo_reg.fit(X_train_reg, y_train_reg)
y_pred_reg = modelo_reg.predict(X_test_reg)
erro_quadratico_medio = mean_squared_error(y_test_reg, y_pred_reg)
print(f'Mean Squared Error (Regressão): {erro_quadratico_medio}')
# Criar um DataFrame de exemplo para classificação
data_clf = {'idade': [25, 30, 45, 40, 50], 'renda': [20000, 30000, 50000, 40000, 60000], 'compra': [0, 0, 1, 0, 1]}
df_clf = pd.DataFrame(data_clf)
# Classificação
X_clf = df_clf[['idade', 'renda']]
y_clf = df_clf['compra']
X_train_clf, X_test_clf, y_train_clf, y_test_clf = train_test_split(X_clf, y_clf, test_size=0.2, random_state=42)
modelo_clf = LogisticRegression()
modelo_clf.fit(X_train_clf, y_train_clf)
y_pred_clf = modelo_clf.predict(X_test_clf)
accuracy = accuracy_score(y_test_clf, y_pred_clf)
report = classification_report(y_test_clf, y_pred_clf)
print(f'Accuracy (Classificação): {accuracy}')
print('Classification Report:\n', report)