- Activation
- Derivative
- Loss
- LossGradient
- RegressionMetric
- ConfusionMatrix
- ConfusionMatrixMultilabel
- ClassificationMetric
- ClassificationScore
- PrecisionRecall
- ReceiverOperatingCharacteristic
ReceiverOperatingCharacteristic
Calcula os valores para traçar a curva Receiver Operating Characteristic (ROC). Esse método, assim como o método ClassificationScore, é aplicado a um vetor de valores verdadeiros.
bool vector::ReceiverOperatingCharacteristic(
|
Parâmetros
pred_scores
[in] Matriz que contém um conjunto de vetores horizontais com probabilidades para cada classe. O número de linhas da matriz deve corresponder ao tamanho do vetor de valores reais.
mode
[in] Modo de cálculo da média a partir da enumeração ENUM_AVERAGE_MODE. São usados apenas AVERAGE_NONE, AVERAGE_BINARY e AVERAGE_MICRO.
fpr
[out] Matriz com valores calculados da curva false positive rate. Se não houver cálculo de média (AVERAGE_NONE), o número de linhas na matriz corresponderá ao número de classes de modelo. O número de colunas corresponde ao tamanho do vetor de valores verdadeiros (ou o número de linhas na matriz de distribuição de probabilidade pred_score). No caso da micro-média, o número de linhas na matriz corresponde ao número total de limites, excluindo as duplas.
tpr
[out] Matriz com valores calculados da curva true positive rate.
threshold
[out] Matriz de limiar obtida pela classificação da matriz de probabilidade
Observação
Consulte as notas sobre o método ClassificationScore.
Exemplo:
Exemplo de exibição de gráfico ROC, em que os valores de tpr são plotados no eixo y e os valores de fpr são plotados no eixo x. Além de gerar gráficos separados de fpr e tpr, em que os valores de limite são plotados no eixo x.
matrixf mat_thres;
|
Resultado:
O código de geração de gráficos é elementar e se baseia na biblioteca padrão <Graphics/Graphic.mqh>.
São usados dados de teste do modelo mnist.onnx, e o código é apresentado na descrição do método PrecisionRecall.
O ROC AUC está próximo do ideal.
roc auc score micro = [0.99991] |