Olá, Gustavo! Tudo bem?
Que bom que você está engajado e questionando os processos de aprendizado, isso é muito importante para o seu desenvolvimento em Machine Learning!
O código apresentado na aula faz o seguinte:
from sklearn.metrics import RocCurveDisplay
RocCurveDisplay.from_predictions(y_test, preds);
Ele utiliza o método .from_predictions
da classe RocCurveDisplay()
do scikit-learn para gerar e exibir a curva ROC a partir das previsões do seu modelo. Aqui, y_test
são as etiquetas verdadeiras dos dados de teste, e preds
são as previsões feitas pelo seu modelo.
Quanto à sua pergunta sobre os valores probabilísticos e os limiares, normalmente, para calcular a curva ROC, de fato, você precisa das probabilidades preditas pelo modelo, não apenas das previsões finais (classes preditas).
Porém, utilizar RocCurveDisplay.from_predictions
do scikit-learn é uma opção válida em certos contextos, especialmente quando se deseja uma solução rápida para visualizar a curva ROC a partir das previsões finais de um modelo. O método foi projetado para ser conveniente e direto, permitindo a visualização da curva ROC sem necessitar das probabilidades de classificação.
A escolha entre usar RocCurveDisplay.from_predictions
e métodos baseados em probabilidades, como roc_curve
, depende do seu objetivo e das informações disponíveis. Se o seu interesse é uma análise rápida e você só tem acesso às previsões finais,RocCurveDisplay.from_predictions
é uma ótima ferramenta. Se você deseja uma compreensão mais profunda sobre o desempenho do modelo em vários limiares ou se precisa otimizar o ponto de corte, trabalhar com probabilidades e roc_curve
seria mais apropriado.
Você pode ver com mais detalhes sobre esse método utilizado em:
sklearn.metrics.RocCurveDisplay
Espero que essa explicação tenha esclarecido suas dúvidas! Se tiver mais perguntas, fique à vontade para perguntar.