Mesurez la performance de la classification
Mesurez la précision d'un dispositif de reconnaissance de chiffres entraînés sur la base de données MNIST de chiffres manuscrits.
Tout d'abord obtenez les données d'apprentissage et de validation.
![Click for copyable input](assets.fr/measure-classification-performance/In_70.png)
resource = ResourceObject["MNIST"];
trainingData = ResourceData[resource, "TrainingData"];
testData = ResourceData[resource, "TestData"];
![Click for copyable input](assets.fr/measure-classification-performance/In_71.png)
RandomSample[trainingData, 5]
![](assets.fr/measure-classification-performance/O_60.png)
Définissez un réseau neuronal de convolution prenant des images avec des niveaux gris 28×28 en entrée.
![Click for copyable input](assets.fr/measure-classification-performance/In_72.png)
lenet = NetChain[{
ConvolutionLayer[20, 5], Ramp,
PoolingLayer[2, 2],
ConvolutionLayer[50, 5], Ramp,
PoolingLayer[2, 2],
FlattenLayer[],
500, Ramp, 10,
SoftmaxLayer[]},
"Output" -> NetDecoder[{"Class", Range[0, 9]}],
"Input" -> NetEncoder[{"Image", {28, 28}, "Grayscale"}]
]
![](assets.fr/measure-classification-performance/O_61.png)
Entraînez le réseau pour trois tours d'apprentissage.
![Click for copyable input](assets.fr/measure-classification-performance/In_73.png)
lenet = NetTrain[lenet, trainingData, ValidationSet -> testData,
MaxTrainingRounds -> 3]
![](assets.fr/measure-classification-performance/O_62.png)
Évaluez le réseau entraîné directement sur les images échantillonnées au hasard dans l'ensemble de validation.
![Click for copyable input](assets.fr/measure-classification-performance/In_74.png)
imgs = Keys @ RandomSample[testData, 5];
Thread[imgs -> lenet[imgs]]
![](assets.fr/measure-classification-performance/O_63.png)
Créez un objet de ClassifierMeasurements à partir du réseau entraîné et l'ensemble de validation.
![Click for copyable input](assets.fr/measure-classification-performance/In_75.png)
cm = ClassifierMeasurements[lenet, testData]
![](assets.fr/measure-classification-performance/O_64.png)
Obtenez la précision du réseau sur l'ensemble de validation.
![Click for copyable input](assets.fr/measure-classification-performance/In_76.png)
cm["Accuracy"]
![](assets.fr/measure-classification-performance/O_65.png)
Dressez la liste des 3 qui ont été classés à tort comme des 8.
![Click for copyable input](assets.fr/measure-classification-performance/In_77.png)
cm[{"Examples", 3 -> 8}]
![](assets.fr/measure-classification-performance/O_66.png)
Obtenez un tracé de la matrice de confusion des prédictions du réseau sur l'ensemble de validation.
![Click for copyable input](assets.fr/measure-classification-performance/In_78.png)
cm["ConfusionMatrixPlot"]
![](assets.fr/measure-classification-performance/O_67.png)