Partager via


SystemGetCrossValidationResults (Analysis Services - Exploration de données)

Partitionne la structure d'exploration de données dans le nombre spécifié de sections croisées, effectue l'apprentissage d'un modèle pour chaque partition, puis retourne les mesures de précision de chaque partition.

Notes

Cette procédure stockée ne peut pas être utilisée pour effectuer la validation croisée de modèles de clustering ou de modèles créés à l'aide de l'algorithme MTS (Microsoft Time Series) ou de l'algorithme MSC (Microsoft Sequence Clustering). Pour effectuer la validation croisée de modèles de clustering, vous pouvez utiliser la procédure stockée distincte SystemGetClusterCrossValidationResults (Analysis Services - Exploration de données).

Syntaxe

SystemGetCrossValidationResults(
<mining structure>
[, <mining model list>]
,<fold count>
,<max cases>
,<target attribute>
[,<target state>]
[,<target threshold>]
[,<test list>])

Arguments

  • mining structure
    Nom d'une structure d'exploration de données dans la base de données active.

    (obligatoire)

  • mining model list
    Liste séparée par des virgules des modèles d'exploration de données à valider.

    Si un nom de modèle contient des caractères qui ne sont pas valides dans le nom d'un identificateur, ce nom doit être placé entre parenthèses.

    Si une liste de modèles d'exploration de données n'est pas spécifiée, la validation croisée est effectuée par rapport à tous les modèles associés à la structure spécifiée et contenant un attribut prévisible.

    Notes

    Pour effectuer la validation croisée de modèles de clustering, vous devez utiliser une procédure stockée distincte, SystemGetClusterCrossValidationResults (Analysis Services - Exploration de données).

    (facultatif)

  • fold count
    Entier qui spécifie en combien de partitions séparer le jeu de données. La valeur minimale est 2. Le nombre maximal de replis est maximum integer ou le nombre de cas, la valeur la plus petite étant retenue.

    Chaque partition contiendra environ le nombre de cas suivants : max cases/fold count.

    Il n'y a pas de valeur par défaut.

    Notes

    Le nombre de replis affecte considérablement le temps nécessaire pour effectuer la validation croisée. Si vous sélectionnez un nombre trop élevé, la requête risque de s'exécuter très longtemps et dans certains cas le serveur peut ne plus répondre ou dépasser le délai d'attente.

    (obligatoire)

  • max cases
    Entier qui spécifie le nombre maximal de cas qui peuvent être testés pour tous les replis.

    La valeur 0 indique que tous les cas de la source de données seront utilisés.

    Si vous spécifiez une valeur supérieure au nombre réel de cas dans le jeu de données, tous les cas de la source de données sont utilisés.

    Il n'y a pas de valeur par défaut.

    (obligatoire)

  • target attribute
    Chaîne qui contient le nom de l'attribut prévisible. Un attribut prévisible peut être une colonne, une colonne de table imbriquée ou une colonne de clé de table imbriquée d'un modèle d'exploration de données.

    Notes

    L'existence de l'attribut cible est validée uniquement au moment de l'exécution.

    (obligatoire)

  • target state
    Formule qui spécifie la valeur à prédire. Si une valeur cible est spécifiée, les mesures sont recueillies uniquement pour la valeur spécifiée.

    Si cette valeur n'est spécifiée, ou si la valeur null est spécifiée, les mesures sont calculées pour l'état le plus probable pour chaque prédiction.

    La valeur par défaut est null.

    Une erreur est générée pendant la validation si la valeur spécifiée n'est pas valide pour l'attribut spécifié, ou si la formule n'est pas du type correct pour l'attribut spécifié.

    (facultatif)

  • target threshold
    Double supérieur à 0 et inférieur à 1. Indique le score de probabilité minimal qui doit être obtenu pour que la prédiction de l'état cible spécifié soit comptabilisée comme correcte.

    Une prédiction ayant une probabilité inférieure ou égale à cette valeur est considérée comme incorrecte.

    Si aucune valeur n'est spécifiée ou si elle est null, l'état le plus probable est utilisé, quel que soit son score de probabilité.

    La valeur par défaut est null.

    Notes

    Analysis Services ne génère pas d'erreur si vous définissez state threshold sur 0.0, mais vous ne devez jamais utiliser cette valeur. En effet, un seuil de 0.0 signifie que les prédictions avec une probabilité de 0 pour cent sont comptabilisées comme correctes.

    (facultatif)

  • test list
    Chaîne qui spécifie les options de test.

    Remarque   Ce paramètre est réservé à un usage futur.

    (facultatif)

Type de valeur renvoyée

L'ensemble de lignes retourné contient des scores pour chaque partition dans chaque modèle.

Le tableau suivant décrit les colonnes de l'ensemble de lignes.

Nom de colonne

Description

ModelName

Nom du modèle qui a été testé.

AttributeName

Nom de la colonne prédictible.

AttributeState

Valeur cible spécifiée dans la colonne prédictible. Si cette valeur est null, la prédiction la plus probable a été utilisée.

Si cette colonne contient une valeur, la précision du modèle est évaluée uniquement par rapport à cette valeur.

PartitionIndex

Index de base 1 qui identifie la partition à laquelle s'appliquent les résultats.

PartitionSize

Entier qui indique combien de cas ont été inclus dans chaque partition.

Test

Catégorie du test qui a été effectué. Pour obtenir une description des catégories et des tests inclus dans chaque catégorie, consultez Rapport de validation croisée (Analysis Services - Exploration de données).

Measure

Nom de la mesure retournée par le test. Les mesures de chaque modèle dépendent du type de valeur prévisible. Pour obtenir une définition de chaque mesure, consultez Validation croisée (Analysis Services - Exploration de données).

Pour obtenir la liste des mesures retournées pour chaque type prévisible, consultez Rapport de validation croisée (Analysis Services - Exploration de données).

Value

Valeur de la mesure de test spécifiée.

Notes

Pour retourner des mesures de précision pour le jeu de données dans son ensemble, utilisez SystemGetAccuracyResults (Analysis Services - Exploration de données).

Si le modèle d'exploration de données a déjà été partitionné en replis, vous pouvez contourner le traitement et retourner uniquement les résultats de la validation croisée en utilisant SystemGetAccuracyResults (Analysis Services - Exploration de données).

Exemples

L'exemple suivant montre comment partitionner une structure d'exploration de données pour la validation croisée en deux replis, puis comment tester deux modèles d'exploration de données associés à la structure d'exploration de données, [v Target Mail].

La ligne trois du code répertorie les modèles d'exploration de données que vous souhaitez tester. Si vous ne spécifiez pas la liste, tous les modèles qui ne sont pas des modèles de clustering et qui sont associés à la structure sont utilisés. La ligne quatre du code spécifie le nombre de partitions. Dans la mesure où aucune valeur n'est spécifiée pour max cases, tous les cas de la structure d'exploration de données sont utilisés et distribués de manière égale entre les partitions.

La ligne cinq spécifie l'attribut prévisible, Bike Buyer, et la ligne six spécifie la valeur à prédire, 1 (qui signifie « oui, achètera »).

La valeur NULL de la ligne sept indique qu'il n'existe pas de seuil de probabilité minimal à atteindre. Par conséquent, la première prédiction dont la probabilité est différente de zéro est utilisée pour évaluer la précision.

CALL SystemGetCrossValidationResults(
[v Target Mail],
[Target Mail DT], [Target Mail NB],
2,
'Bike Buyer',
1,
NULL
)

Exemples de résultats :

ModelName

AttributeName

AttributeState

PartitionIndex

PartitionSize

Test

Measure

Value

Target Mail DT

Bike Buyer

1

1

500

Classification

True Positive

144

Target Mail DT

Bike Buyer

1

1

500

Classification

False Positive

105

Target Mail DT

Bike Buyer

1

1

500

Classification

True Negative

186

Target Mail DT

Bike Buyer

1

1

500

Classification

False Negative

65

Target Mail DT

Bike Buyer

1

1

500

Likelihood

Log Score

-0.619042807138345

Target Mail DT

Bike Buyer

1

1

500

Likelihood

Lift

0.0740963734002671

Target Mail DT

Bike Buyer

1

1

500

Likelihood

Root Mean Square Error

0.346946279977653

Target Mail DT

Bike Buyer

1

2

500

Classification

True Positive

162

Target Mail DT

Bike Buyer

1

2

500

Classification

False Positive

86

Target Mail DT

Bike Buyer

1

2

500

Classification

True Negative

165

Target Mail DT

Bike Buyer

1

2

500

Classification

False Negative

87

Target Mail DT

Bike Buyer

1

2

500

Likelihood

Log Score

-0.654117781086519

Target Mail DT

Bike Buyer

1

2

500

Likelihood

Lift

0.038997399132084

Target Mail DT

Bike Buyer

1

2

500

Likelihood

Root Mean Square Error

0.342721344892651

Spécifications

La validation croisée est uniquement disponible dans SQL Server Enterprise depuis SQL Server 2008.