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.
Voir aussi