Métricas
Ao construir um modelo, precisamos de uma métrica que meça o quão bem ele se ajusta aos dados. Uma métrica fornece um valor numérico que descreve o desempenho do modelo. Neste capítulo, focamos nas mais comuns.
Usaremos a seguinte notação:
Já estamos familiarizados com uma métrica, SSR (Sum of Squared Residuals), que minimizamos para identificar os parâmetros ideais.
Utilizando nossa notação, podemos expressar a fórmula do SSR da seguinte forma:
ou igualmente:
Essa métrica funcionava apenas quando os modelos utilizavam o mesmo número de pontos de dados. Ela não mostra o quão bem um modelo realmente se desempenha. Imagine dois modelos treinados em conjuntos de dados de tamanhos diferentes.
O primeiro modelo se ajusta melhor visualmente, mas possui um SSR maior porque tem mais pontos, então a soma aumenta mesmo com resíduos médios menores. Utilizar a média dos resíduos ao quadrado corrige isso — o Erro Quadrático Médio (MSE).
MSE
ou igualmente:
Calcule o MSE usando NumPy:
mse = np.mean((y_true - y_pred)**2)
Ou Scikit-learn:
from sklearn.metrics import mean_squared_error
mse = mean_squared_error(y_true, y_pred)
O MSE é elevado ao quadrado, o que dificulta a interpretação. Se o MSE for 49 dólares², queremos o erro em dólares. Tirando a raiz, obtemos 7 — o Erro Quadrático Médio da Raiz (RMSE).
RMSE
Calcule o RMSE usando:
rmse = np.sqrt(np.mean((y_true - y_pred)**2))
Ou Scikit-learn:
rmse = mean_squared_error(y_true, y_pred, squared=False)
MAE
Em vez de elevar ao quadrado os resíduos, é possível utilizar seus valores absolutos — isso resulta no Erro Absoluto Médio (MAE).
ou igualmente
MAE se comporta de forma semelhante ao MSE, mas trata grandes erros de maneira mais suave. Por utilizar valores absolutos, é mais robusto a outliers, sendo útil quando valores extremos distorcem o conjunto de dados.
Calcular o MAE:
mae = np.mean(np.fabs(y_true - y_pred))
Ou:
from sklearn.metrics import mean_absolute_error
mae = mean_absolute_error(y_true, y_pred)
SSR nos ajudou a derivar a Equação Normal, mas qualquer métrica pode ser utilizada ao comparar modelos.
SSR, MSE e RMSE sempre classificam os modelos da mesma forma, enquanto MAE pode preferir outro porque penaliza menos os grandes erros. É recomendável escolher uma métrica previamente e otimizar especificamente para ela.
Agora é possível afirmar que o segundo modelo é superior, pois todas as suas métricas são menores. No entanto, métricas mais baixas nem sempre indicam que o modelo é melhor.
Obrigado pelo seu feedback!
Pergunte à IA
Pergunte à IA
Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo
Awesome!
Completion rate improved to 5.26
Métricas
Deslize para mostrar o menu
Ao construir um modelo, precisamos de uma métrica que meça o quão bem ele se ajusta aos dados. Uma métrica fornece um valor numérico que descreve o desempenho do modelo. Neste capítulo, focamos nas mais comuns.
Usaremos a seguinte notação:
Já estamos familiarizados com uma métrica, SSR (Sum of Squared Residuals), que minimizamos para identificar os parâmetros ideais.
Utilizando nossa notação, podemos expressar a fórmula do SSR da seguinte forma:
ou igualmente:
Essa métrica funcionava apenas quando os modelos utilizavam o mesmo número de pontos de dados. Ela não mostra o quão bem um modelo realmente se desempenha. Imagine dois modelos treinados em conjuntos de dados de tamanhos diferentes.
O primeiro modelo se ajusta melhor visualmente, mas possui um SSR maior porque tem mais pontos, então a soma aumenta mesmo com resíduos médios menores. Utilizar a média dos resíduos ao quadrado corrige isso — o Erro Quadrático Médio (MSE).
MSE
ou igualmente:
Calcule o MSE usando NumPy:
mse = np.mean((y_true - y_pred)**2)
Ou Scikit-learn:
from sklearn.metrics import mean_squared_error
mse = mean_squared_error(y_true, y_pred)
O MSE é elevado ao quadrado, o que dificulta a interpretação. Se o MSE for 49 dólares², queremos o erro em dólares. Tirando a raiz, obtemos 7 — o Erro Quadrático Médio da Raiz (RMSE).
RMSE
Calcule o RMSE usando:
rmse = np.sqrt(np.mean((y_true - y_pred)**2))
Ou Scikit-learn:
rmse = mean_squared_error(y_true, y_pred, squared=False)
MAE
Em vez de elevar ao quadrado os resíduos, é possível utilizar seus valores absolutos — isso resulta no Erro Absoluto Médio (MAE).
ou igualmente
MAE se comporta de forma semelhante ao MSE, mas trata grandes erros de maneira mais suave. Por utilizar valores absolutos, é mais robusto a outliers, sendo útil quando valores extremos distorcem o conjunto de dados.
Calcular o MAE:
mae = np.mean(np.fabs(y_true - y_pred))
Ou:
from sklearn.metrics import mean_absolute_error
mae = mean_absolute_error(y_true, y_pred)
SSR nos ajudou a derivar a Equação Normal, mas qualquer métrica pode ser utilizada ao comparar modelos.
SSR, MSE e RMSE sempre classificam os modelos da mesma forma, enquanto MAE pode preferir outro porque penaliza menos os grandes erros. É recomendável escolher uma métrica previamente e otimizar especificamente para ela.
Agora é possível afirmar que o segundo modelo é superior, pois todas as suas métricas são menores. No entanto, métricas mais baixas nem sempre indicam que o modelo é melhor.
Obrigado pelo seu feedback!