IntroQuando o R² é Mais Adotado?Quando o MSE é Mais Adotado?Tendências em Artigos AcadêmicosExemplos de Uso em ArtigosExemplo 1: EconomiaExemplo 2: Aprendizado de MáquinaExemplo 3: Ciências AmbientaisComo Decidir Qual Métrica Reportar?Conclusão finalEvolução do Treino usando R² ou MSEO que é R²?Interpretação do R²Comparação entre R² e MSEQuando usar R² ou MSE?Use R² quando:Use MSE quando:Como Calcular R² no KerasQuando R² é Melhor que MSE?Quando MSE é Melhor que R²?Conclusão
A escolha entre R² (R-quadrado) e MSE (Erro Quadrático Médio) (em artigos acadêmicos) depende do contexto do estudo, do campo de pesquisa e dos objetivos do trabalho. Ambas as métricas são amplamente utilizadas, mas cada uma tem suas vantagens e desvantagens, o que influencia sua adoção em diferentes cenários. Vamos explorar quando cada métrica é mais comum e por quê.
Ciências Sociais e Economia:
Comparação de Modelos:
Interpretação Simples:
Estudos Descritivos:
Engenharia e Ciências da Computação:
Otimização de Modelos:
Avaliação de Erro Absoluto:
Comparação com Benchmarks:
Uso Conjunto:
Dependência do Campo:
Contexto do Problema:
Objetivo do Estudo:
Público-Alvo:
Normas do Campo:
Reporte Ambas:
Ambas as métricas, R² e MSE, são amplamente utilizadas em artigos acadêmicos, mas a escolha depende do contexto e dos objetivos do estudo. Em geral:
Portanto, ao escrever seu artigo, considere o contexto do problema, o público-alvo e as normas do campo para decidir qual métrica (ou ambas) reportar.
A métrica R² (R-quadrado ou Coeficiente de Determinação) é uma medida estatística amplamente utilizada para avaliar o desempenho de modelos de regressão. Ela indica a proporção da variância na variável dependente (alvo) que é previsível a partir das variáveis independentes (features). Vamos detalhar o que é o , como ele é calculado, e compará-lo com o MSE (Mean Squared Error) para entender quando é melhor usá-lo.
O é uma métrica que varia entre 0 e 1 (ou entre e em alguns casos extremos) e indica o quão bem o modelo se ajusta aos dados. Ele é calculado como:
Onde:
| Característica | R² (R-quadrado) | MSE (Erro Quadrático Médio) |
|---|---|---|
| Escala | Normalizado (0 a 1 ou a 1) | Não normalizado (depende da escala dos dados) |
| Interpretação | Proporção da variância explicada | Magnitude do erro (em unidades quadradas) |
| Sensibilidade a Outliers | Menos sensível | Mais sensível |
| Uso | Comparação entre modelos | Avaliação direta do erro |
| Vantagem | Fácil de interpretar | Diretamente relacionado ao erro do modelo |
| Desvantagem | Não indica a magnitude do erro | Difícil de comparar entre conjuntos de dados com escalas diferentes |
O Keras não tem uma métrica R² embutida, mas você pode implementá-la facilmente. Aqui está um exemplo de como calcular o R² durante o treinamento:
ximport numpy as npimport tensorflow as tffrom tensorflow.keras.models import Sequentialfrom tensorflow.keras.layers import Densefrom tensorflow.keras.callbacks import Callback# Função para calcular R²def r_squared(y_true, y_pred): # Soma dos quadrados dos resíduos SQE = tf.reduce_sum(tf.square(y_true - y_pred)) # Soma dos quadrados totais SQT = tf.reduce_sum(tf.square(y_true - tf.reduce_mean(y_true))) # R² return 1 - SQE / SQT# Dados de exemploX_train = np.random.rand(1000, 10)y_train = np.random.rand(1000, 1)X_test = np.random.rand(200, 10)y_test = np.random.rand(200, 1)# Definindo o modelomodel = Sequential()model.add(Dense(16, input_dim=10, activation='relu'))model.add(Dense(1)) # Saída linear para regressão# Compilando o modelo com MSE como função de custo e R² como métricamodel.compile(optimizer='adam', loss='mean_squared_error', metrics=[r_squared])# Treinando o modelohistory = model.fit(X_train, y_train, epochs=50, batch_size=32, validation_data=(X_test, y_test))# Plotando R² e MSEplt.plot(history.history['r_squared'], label='R² Treino')plt.plot(history.history['val_r_squared'], label='R² Teste')plt.plot(history.history['loss'], label='MSE Treino')plt.plot(history.history['val_loss'], label='MSE Teste')plt.xlabel('Época')plt.ylabel('Métrica')plt.title('R² e MSE vs Época')plt.legend()plt.show()Comparação de Modelos:
Interpretação:
Menos Sensível a Outliers:
Avaliação do Erro Absoluto:
Otimização:
Conjuntos de Dados com Escalas Diferentes:
20/03/2025