Présentation de l'évaluation des modèles BigQuery ML

Ce document décrit la façon dont BigQuery ML prend en charge l'évaluation de modèles de machine learning (ML).

Présentation de l'évaluation de modèles

Vous pouvez utiliser les métriques d'évaluation de modèles de ML aux fins suivantes :

  • Évaluer la qualité de l'adéquation entre le modèle et les données.
  • Comparer différents modèles.
  • Prédire les performances attendues de chaque modèle sur un ensemble de données spécifique, dans le contexte de la sélection du modèle.

Les évaluations des modèles d'apprentissage supervisé et non supervisé fonctionnent différemment :

  • Pour les modèles d'apprentissage supervisé, l'évaluation des modèles est bien définie. Un ensemble d'évaluation, c'est-à-dire des données qui n'ont pas été analysées par le modèle, est généralement exclu de l'ensemble d'entraînement, puis utilisé pour évaluer les performances du modèle. Nous vous recommandons de ne pas utiliser l'ensemble d'entraînement pour l'évaluation, car cela ralentirait le modèle lors de la généralisation des résultats de la prédiction pour les nouvelles données. Ce résultat est appelé le surapprentissage.
  • Pour les modèles d'apprentissage non supervisés, l'évaluation des modèles est moins définie et varie généralement d'un modèle à l'autre. Étant donné que les modèles d'apprentissage non supervisés ne réservent pas d'ensemble d'évaluation, les métriques d'évaluation sont calculées à l'aide de l'ensemble de données d'entrée complet.

Pour en savoir plus sur les instructions et les fonctions SQL compatibles avec chaque type de modèle, consultez la section Parcours utilisateur de bout en bout pour chaque modèle.

Offres d'évaluation de modèles

BigQuery ML fournit les fonctions suivantes pour calculer les métriques d'évaluation des modèles de ML :

Catégorie de modèle Types de modèles Fonctions d'évaluation de modèle Fonction
Apprentissage supervisé Régression linéaire

Régresseur d'arbres de décision à boosting

Régresseur de forêt d'arbres décisionnels

Régresseur DNN

Régresseur wide et deep

Régresseur AutoML Tables
ML.EVALUATE Indique les métriques suivantes :
  • Erreur absolue moyenne
  • Erreur quadratique moyenne
  • Erreur logarithmique quadratique moyenne
  • Erreur absolue médiane
  • Score R2
  • Variance expliquée
Régression logistique

Classificateur d'arbres de décision à boosting

Classificateur de forêt d'arbres décisionnels

Classificateur DNN

Classeur wide et deep

Classificateur AutoML Tables
ML.EVALUATE Indique les métriques suivantes :
  • precision
  • recall
  • accuracy
  • Score F1
  • Perte logistique
  • ROC AUC
ML.CONFUSION_MATRIX Indique la matrice de confusion.
ML.ROC_CURVE Indique les métriques pour différentes valeurs de seuil, y compris les suivantes :
  • recall
  • Taux de faux positifs
  • Vrais positifs
  • Faux positifs
  • Vrais négatifs
  • Faux négatifs

Ne s'applique qu'aux modèles de classification de classes binaires.
Apprentissage non supervisé K-moyennes ML.EVALUATE Indique l'index Davies-Bouldin, ainsi que la distance quadratique moyenne entre les points de données et les centroïdes des clusters attribués.
Factorisation matricielle ML.EVALUATE Pour les modèles basés sur des commentaires explicites, indique les métriques suivantes :
  • Erreur absolue moyenne
  • Erreur quadratique moyenne
  • Erreur logarithmique quadratique moyenne
  • Erreur absolue médiane
  • Score R2
  • Variance expliquée
Pour les modèles basés sur des commentaires implicites, indique les métriques suivantes :
PCA ML.EVALUATE Indique le taux de variance totale expliquée.
Auto-encodeur ML.EVALUATE Indique les métriques suivantes :
  • Erreur absolue moyenne
  • Erreur quadratique moyenne
  • Erreur logarithmique quadratique moyenne
Séries temporelles ARIMA_PLUS ML.EVALUATE Indique les métriques suivantes :
  • Erreur absolue moyenne
  • Erreur quadratique moyenne
  • Erreur absolue moyenne en pourcentage
  • Erreur absolue moyenne symétrique en pourcentage

Cette fonction nécessite de nouvelles données en entrée.
ML.ARIMA_EVALUATE Indique les métriques suivantes pour tous les modèles candidats ARIMA caractérisés par différents tuples (p, d, q, has_drift) :

Fournit également d'autres informations sur la saisonnalité, les effets des jours fériés et les anomalies liées aux pics et aux creux.

Cette fonction ne nécessite pas de nouvelles données en entrée.

Évaluation automatique dans les instructions CREATE MODEL

BigQuery ML accepte l'évaluation automatique lors de la création du modèle. Selon le type de modèle, les options d'entraînement de répartition des données et l'utilisation ou non des réglages d'hyperparamètres, les métriques d'évaluation sont calculées sur l'ensemble de données d'évaluation réservé, l'ensemble de données de test réservé ou l'intégralité de l'ensemble de données d'entrée.

  • Pour les modèles de k-moyennes, d'ACP, d'auto-encodeur et d'ARIMA_PLUS, BigQuery ML utilise toutes les données d'entrée comme données d'entraînement, et les métriques d'évaluation sont calculées sur l'intégralité de l'ensemble de données d'entrée.

  • Pour les modèles de régression linéaire et logistique, d'arbre de décision à boosting, de forêt d'arbres décisionnels, de DNN, de wide et deep learning et de factorisation matricielle, les métriques d'évaluation sont calculées par rapport à l'ensemble de données spécifié par les options CREATE MODEL suivantes :

    Lorsque vous entraînez ces types de modèles à l'aide des réglages d'hyperparamètres, l'option DATA_SPLIT_TEST_FRACTION permet également de définir l'ensemble de données par rapport auquel les métriques d'évaluation sont calculées. Pour en savoir plus, consultez la page Répartition des données.

  • Pour les modèles AutoML Tables, découvrez comment la répartition des données est utilisée pour l'entraînement et l'évaluation.

Pour obtenir des métriques d'évaluation calculées lors de la création du modèle, utilisez des fonctions d'évaluation telles que ML.EVALUATE sur le modèle, sans données d'entrée spécifiées. Pour obtenir un exemple, consultez la section ML.EVALUATE sans données d'entrée spécifiées.

Évaluation avec un nouvel ensemble de données

Après avoir créé un modèle, vous pouvez spécifier de nouveaux ensembles de données à des fins d'évaluation. Pour fournir un nouvel ensemble de données, utilisez des fonctions d'évaluation telles que ML.EVALUATE dans le modèle avec des données d'entrée spécifiées. Pour obtenir un exemple, consultez la section ML.EVALUATE avec un seuil personnalisé et des données d'entrée.