[PYTHON] Obtenez le score d'évaluation pour chaque tâche dans l'apprentissage multi-tâches DeepChem

introduction

Lorsque le multitâche est effectué avec DeepChem, la méthode d'évaluation de la classe deepchem.models.Model donne le score moyen de chaque tâche. Cependant, c'est l'humanité de savoir ce qui est arrivé au score de chaque tâche. J'ai étudié comment faire cela cette fois, alors prenez-en note.

environnement

Méthode

Tout ce que vous avez à faire est de spécifier per_task_metrics = True lors de l'exécution de la méthode d'évaluation. Ensuite, comme deuxième valeur de retour, le score pour chaque tâche est obtenu.

validation_score, validation_par_task_score = model.evaluate(validation_set, metrics, transformers, per_task_metrics=True)
print(validation_par_task_score)

Par exemple, si l'indice d'évaluation est roc_auc et qu'il y a 9 tâches, le roc_auc de chaque tâche peut être obtenu dans le format suivant.

{'mean-roc_auc_score': array([0.77601105, 0.80917502, 0.85473596, 0.8459161 , 0.73406951,
       0.77492466, 0.65670436, 0.7812783 , 0.80639215])}

en conclusion

DeepChem est une bibliothèque profonde qui est difficile à obtenir au début, mais vous pouvez faire ce que vous voulez avec beaucoup d'essais et d'erreurs.

Recommended Posts

Obtenez le score d'évaluation pour chaque tâche dans l'apprentissage multi-tâches DeepChem
Créez un environnement interactif pour l'apprentissage automatique avec Python
Obtenez le nombre d'occurrences pour chaque élément de la liste
Créez un tableau vide avec Numpy pour ajouter des lignes pour chaque boucle