1
resposta

[ Desafio]: validação com outras métricas

Primeiro era necessário identificar todos os nomes de métricas utiizadas dentro do scoring, então fiz:

import sklearn
sklearn.metrics.get_scorer_names()

Depois com os nomes corretos, fiz o código, mudando somente o nome da coluna e com uma adaptação na função:

def intervalo_conf(resultados, coluna:str = 'test_score'):
    media = resultados[coluna].mean()
    desvio_padrao = resultados[coluna].std()
    print(f'Intervalo de confiança: [{media-2*desvio_padrao}, {min(media+2*desvio_padrao, 1)}]')
    
dtc = DecisionTreeClassifier(max_depth=10)
kf = KFold(n_splits=5, shuffle=True, random_state=5)
cv_resultados = cross_validate(dtc, X, y, cv=kf, scoring=('accuracy', 'recall', 'precision', 'f1'))
cv_resultados

intervalo_conf(cv_resultados, 'test_accuracy')
intervalo_conf(cv_resultados, 'test_recall')
intervalo_conf(cv_resultados, 'test_precision')
intervalo_conf(cv_resultados, 'test_f1')
1 resposta

Oi, Luan! Como vai?

Agradeço por compartilhar.

O seu uso das métricas no scoring ficou bem organizado, e a função de intervalo de confiança mostra que você entendeu a lógica da variação dos resultados. Gostei da forma como você aplicou recall, precision, accuracy e f1 na validação cruzada.

Continue explorando diferentes métricas, isso fortalece bastante sua visão sobre modelos.

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!