{"id":3538,"date":"2025-11-25T11:12:57","date_gmt":"2025-11-25T10:12:57","guid":{"rendered":"https:\/\/neuraldesigner.com\/learning\/testing-analysis\/"},"modified":"2026-08-28T12:49:22","modified_gmt":"2026-08-28T10:49:22","slug":"testing-analysis","status":"publish","type":"learning","link":"https:\/\/www.neuraldesigner.com\/learning\/tutorials\/testing-analysis\/","title":{"rendered":"Machine learning tutorial: Testing analysis"},"content":{"rendered":"<style id=\"nd-tutorial-series-css\">.ndts{max-width:1000px;margin:0 auto 26px;padding:18px 20px;border:1px solid #d8e2ef;border-radius:14px;background:#f7fafc;font-family:\"Outfit\",\"Roboto\",Arial,sans-serif}.ndts-meta{color:#2d799f;font-size:14px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.ndts-intro{margin:8px 0 14px;color:#405361;line-height:1.5}.ndts-progress{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;margin:0;padding:0;list-style:none}.ndts-progress a{display:flex;align-items:center;justify-content:center;min-height:38px;padding:6px;border:1px solid #cbd9e2;border-radius:7px;background:#fff;color:#285c78!important;text-decoration:none!important;font-size:13px;font-weight:700;text-align:center}.ndts-progress a[aria-current=\"step\"]{border-color:#2d799f;background:#2d799f;color:#fff!important}.ndts-controls{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:14px;flex-wrap:wrap}.ndts-controls a{color:#1261a0!important;font-weight:700;text-decoration:none!important}.ndts-bottom{max-width:1000px;margin:26px auto;padding:18px 20px;border-top:1px solid #d8e2ef;font-family:\"Outfit\",\"Roboto\",Arial,sans-serif}.ndts-finish{margin:0 0 18px;padding:22px;border:1px solid #d8e2ef;border-radius:12px;background:#f6f9fc}.ndts-btn{display:inline-block;margin:6px 8px 0 0;padding:11px 15px;border-radius:7px;background:#1261a0;color:#fff!important;text-decoration:none!important;font-weight:700}@media(max-width:760px){.ndts-progress{grid-template-columns:repeat(2,minmax(0,1fr))}}<\/style><nav class=\"ndts\" aria-label=\"Machine learning tutorial progress\"><div class=\"ndts-meta\">Machine learning tutorial \u00b7 Chapter 6 of 7<\/div><p class=\"ndts-intro\">You can read this chapter independently. If this is your first visit, open the overview or start with Chapter 1. <a href=\"https:\/\/www.neuraldesigner.com\/learning\/machine-learning-tutorial\/\">Tutorial overview<\/a>.<\/p><ol class=\"ndts-progress\"><li><a href=\"https:\/\/www.neuraldesigner.com\/learning\/tutorials\/neural-networks-applications\/\" data-tutorial-nav=\"chapter-1\" onclick=\"if(typeof gtag==='function'){gtag('event','tutorial_nav_click',{tutorial_action:'progress',tutorial_chapter:'1',link_url:this.href});}\">1. Model types<\/a><\/li><li><a href=\"https:\/\/www.neuraldesigner.com\/learning\/tutorials\/data-set\/\" data-tutorial-nav=\"chapter-2\" onclick=\"if(typeof gtag==='function'){gtag('event','tutorial_nav_click',{tutorial_action:'progress',tutorial_chapter:'2',link_url:this.href});}\">2. Data set<\/a><\/li><li><a href=\"https:\/\/www.neuraldesigner.com\/learning\/tutorials\/neural-network\/\" data-tutorial-nav=\"chapter-3\" onclick=\"if(typeof gtag==='function'){gtag('event','tutorial_nav_click',{tutorial_action:'progress',tutorial_chapter:'3',link_url:this.href});}\">3. Neural network<\/a><\/li><li><a href=\"https:\/\/www.neuraldesigner.com\/learning\/tutorials\/training-strategy\/\" data-tutorial-nav=\"chapter-4\" onclick=\"if(typeof gtag==='function'){gtag('event','tutorial_nav_click',{tutorial_action:'progress',tutorial_chapter:'4',link_url:this.href});}\">4. Training strategy<\/a><\/li><li><a href=\"https:\/\/www.neuraldesigner.com\/learning\/tutorials\/model-selection\/\" data-tutorial-nav=\"chapter-5\" onclick=\"if(typeof gtag==='function'){gtag('event','tutorial_nav_click',{tutorial_action:'progress',tutorial_chapter:'5',link_url:this.href});}\">5. Model selection<\/a><\/li><li><a href=\"https:\/\/www.neuraldesigner.com\/learning\/tutorials\/testing-analysis\/\" aria-current=\"step\" data-tutorial-nav=\"chapter-6\" onclick=\"if(typeof gtag==='function'){gtag('event','tutorial_nav_click',{tutorial_action:'progress',tutorial_chapter:'6',link_url:this.href});}\">6. Testing analysis<\/a><\/li><li><a href=\"https:\/\/www.neuraldesigner.com\/learning\/tutorials\/model-deployment\/\" data-tutorial-nav=\"chapter-7\" onclick=\"if(typeof gtag==='function'){gtag('event','tutorial_nav_click',{tutorial_action:'progress',tutorial_chapter:'7',link_url:this.href});}\">7. Model deployment<\/a><\/li><\/ol><div class=\"ndts-controls\"><a href=\"https:\/\/www.neuraldesigner.com\/learning\/tutorials\/model-selection\/\" data-tutorial-nav=\"previous\" onclick=\"if(typeof gtag==='function'){gtag('event','tutorial_nav_click',{tutorial_action:'previous',tutorial_chapter:'6',link_url:this.href});}\">\u2190 Model selection<\/a><a href=\"https:\/\/www.neuraldesigner.com\/learning\/machine-learning-tutorial\/\">Overview<\/a><a href=\"https:\/\/www.neuraldesigner.com\/learning\/tutorials\/model-deployment\/\" data-tutorial-nav=\"next\" onclick=\"if(typeof gtag==='function'){gtag('event','tutorial_nav_click',{tutorial_action:'next',tutorial_chapter:'6',link_url:this.href});}\">Model deployment \u2192<\/a><\/div><\/nav><style>\n.nd-math-block {\n  display: block;\n  max-width: 100%;\n  overflow-x: auto;\n  margin: 1rem 0;\n  padding: 0.45rem 0;\n  text-align: center;\n}\n.nd-math-inline {\n  display: inline-block;\n  max-width: 100%;\n  overflow-x: auto;\n  vertical-align: middle;\n}\n.nd-math-block math,\n.nd-math-inline math {\n  font-size: 1.04em;\n}\ntable .nd-math-block {\n  margin: 0.25rem 0;\n  padding: 0.2rem 0;\n}\n<\/style>\n<style>.ndg{width:100vw;margin-left:calc(50% - 50vw);background:#eeeeee;padding:22px 24px 12px;font-family:\"Outfit\",\"Roboto\",Arial,sans-serif;color:#1b2635}.ndg *{box-sizing:border-box}.ndg a{text-decoration:none}.ndg-wrap{width:min(100%,1000px);margin:0 auto}.ndg-lead{font-size:19px;line-height:1.6;color:#3a4a5a;font-weight:300;margin:0 0 24px}.ndg-lead a{color:#2d799f;font-weight:600}.ndg-eyebrow{margin:0 0 14px;text-align:center;color:#2d799f;font-size:13px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.ndg-toc{list-style:none;counter-reset:s;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0 0 48px;padding:0}.ndg-toc li{counter-increment:s}.ndg-toc a{display:flex;align-items:center;gap:12px;height:100%;padding:13px 16px;background:#f2f2f2;border-radius:12px;color:#12354b!important;font-size:14.5px;font-weight:600;line-height:1.25;box-shadow:-8px -8px 16px rgba(255,255,255,.9),8px 8px 16px rgba(30,83,116,.10)}.ndg-toc a:hover{color:#2d799f!important}.ndg-toc a:before{content:counter(s);display:flex;align-items:center;justify-content:center;width:26px;height:26px;flex:0 0 26px;border-radius:50%;background:#56a1c8;color:#fff;font-size:13px;font-weight:800}.ndg-step{display:grid;grid-template-columns:64px 1fr;gap:26px;margin:0 0 34px;padding:34px 38px;background:#f2f2f2;border-radius:22px;box-shadow:-14px -14px 28px rgba(255,255,255,.92),14px 14px 28px rgba(30,83,116,.12);scroll-margin-top:90px}.ndg-step__no{display:flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:50%;background:linear-gradient(135deg,#56a1c8 0%,#245e80 100%);color:#fff;font-size:25px;font-weight:800;flex:0 0 64px}.ndg-step__body{min-width:0}.ndg-step__body .mjx-chtml.MJXc-display{overflow-x:auto;overflow-y:hidden;max-width:100%;padding:2px 0 8px}.ndg-step__body .mjx-chtml.MathJax_CHTML{font-size:18px!important}.ndg-step__body h2{margin:8px 0 16px;color:#001233;font-size:25px;font-weight:700;line-height:1.2}.ndg-step__body h3{margin:28px 0 12px;color:#12354b;font-size:19px;font-weight:600}.ndg-step__body p{margin:0 0 16px;font-size:17px;line-height:1.62;color:#33424f}.ndg-step__body a{color:#2d799f;font-weight:500}.ndg-step__body ul{margin:0 0 16px;padding-left:22px}.ndg-step__body li{margin:7px 0;font-size:16px;line-height:1.55;color:#33424f}.ndg-step__body img:not([src$=\".svg\"]):not([data-src$=\".svg\"]){display:block!important;width:auto!important;max-width:min(580px,100%)!important;height:auto!important;margin:22px auto!important;border-radius:12px!important;box-shadow:0 12px 28px rgba(0,18,51,.12)!important}.ndg-step__body img[src$=\".svg\"],.ndg-step__body img[data-src$=\".svg\"]{display:block;margin:18px auto;max-width:min(520px,100%);height:auto}.ndg-nav{display:flex;justify-content:space-between;gap:16px;margin:12px 0 8px;flex-wrap:wrap}.ndg-nav a{display:inline-flex;align-items:center;padding:13px 24px;border-radius:10px;background:#f2f2f2;color:#2d799f!important;font-weight:800;font-size:15px;box-shadow:-8px -8px 16px rgba(255,255,255,.92),8px 8px 16px rgba(30,83,116,.10)}.ndg-nav a:hover{color:#1f5f80!important}@media(max-width:820px){.ndg-toc{grid-template-columns:1fr}.ndg-step{grid-template-columns:1fr;gap:16px;padding:26px 22px}.ndg-step__no{width:52px;height:52px;flex:0 0 52px;font-size:22px}.ndg-step__body h2{font-size:22px}}@media(max-width:640px){.ndg{padding:12px 14px}}<\/style><div class=\"ndg\"><div class=\"ndg-wrap\"><div class=\"ndg-lead\"><div id=\"contenido\" class=\"contenido\" style=\"text-align: left;\">\n<div id=\"sidebar\" class=\"sidebar\">\n<ul class=\"menu\">\n<li><a href=\"https:\/\/www.neuraldesigner.com\/learning\/tutorials\/neural-networks-applications\/\">1. Model types<\/a><\/li>\n<li><a href=\"https:\/\/www.neuraldesigner.com\/learning\/tutorials\/data-set\/\">2. Data set <\/a><\/li>\n<li><a href=\"https:\/\/www.neuraldesigner.com\/learning\/tutorials\/neural-network\/\">3. Neural network<\/a><\/li>\n<li><a href=\"https:\/\/www.neuraldesigner.com\/learning\/tutorials\/training-strategy\/\">4. Training strategy<\/a><\/li>\n<li><a href=\"https:\/\/www.neuraldesigner.com\/learning\/tutorials\/model-selection\/\">5. Model selection<\/a><\/li>\n<li><a href=\"https:\/\/www.neuraldesigner.com\/learning\/tutorials\/testing-analysis\/\">6. Testing analysis<\/a><\/li>\n<li><a href=\"https:\/\/www.neuraldesigner.com\/learning\/tutorials\/model-deployment\/\">7. Model deployment<\/a><\/li>\n<\/ul>\n<\/div>\n<h2 class=\"post\">6. Testing analysis<\/h2>\n<\/p>\n<p>The purpose of testing is to compare the outputs from the neural network against targets in an independent set (the testing instances). The available testing methods depend on the project type: approximation, classification or forecasting.<\/p>\n<p>The neural network can move to the so-called deployment phase if all the testing metrics are considered okay. Note also that testing results depend very much on the problem, and some numbers might be correct for one application but wrong for another.<\/p>\n<p>The validation methods that need to be used depending on the application type:<\/p>\n<\/div><div class=\"ndg-herofig\"><img decoding=\"async\" class=\"small_left aligncenter\" src=\"https:\/\/www.neuraldesigner.com\/images\/testing_analysis.svg\" width=\"51\" height=\"51\"  alt=\"Testing Analysis\"\/><\/div><div class=\"ndg-step\" id=\"ApproximationTestingMethods\"><div class=\"ndg-step__no\">1<\/div><div class=\"ndg-step__body\"><h2>Approximation testing methods<\/h2><p>The most used testing methods in approximation applications are the following:<\/p>\n<ul>\n<li><a href=\"#TestingErrors\">Testing errors<\/a>.<\/li>\n<li><a href=\"#ErrorsStatistics\">Errors statistics<\/a>.<\/li>\n<li><a href=\"#ErrorsHistogram\">Errors histogram<\/a>.<\/li>\n<li><a href=\"#MaximalErrors\">Maximal errors<\/a>.<\/li>\n<li><a href=\"#LinearRegressionAnalysis\">Goodness-of-fit analysis<\/a>.<\/li>\n<\/ul>\n<h3 id=\"TestingErrors\">Testing errors<\/h3>\n<p>Testing errors compare the targets and outputs from the <a href=\"https:\/\/www.neuraldesigner.com\/learning\/tutorials\/neural-network\/\">neural network<\/a> for the training, validation and testing samples.<\/p>\n<p>For approximation models, Neural Designer reports:<\/p>\n<ul>\n<li>Mean squared error.<\/li>\n<li>Normalized squared error.<\/li>\n<li>Minkowski error.<\/li>\n<\/ul>\n<p>Forecasting models also report the sum squared and root mean squared errors.<\/p>\n<p>These metrics complement the <a href=\"https:\/\/www.neuraldesigner.com\/learning\/tutorials\/training-strategy\/#LossIndex\">loss indices<\/a> used during training.<\/p>\n<p>All testing values are measured on the <a href=\"https:\/\/www.neuraldesigner.com\/learning\/tutorials\/data-set\/#TestingInstances\">testing samples<\/a> of the <a href=\"https:\/\/www.neuraldesigner.com\/learning\/tutorials\/data-set\/\">data set<\/a>.<\/p>\n<h3 id=\"ErrorsStatistics\">Errors statistics<\/h3>\n<p>Errors statistics measure the minimums, maximums, means, and standard deviations of the errors between the <a href=\"https:\/\/www.neuraldesigner.com\/learning\/tutorials\/neural-network\/\">neural network<\/a> and the <a href=\"https:\/\/www.neuraldesigner.com\/learning\/tutorials\/data-set\/#TestingInstances\">testing instances<\/a> in the <a href=\"https:\/\/www.neuraldesigner.com\/learning\/tutorials\/data-set\/\">data set<\/a>.<\/p>\n<p>The following table contains the basic statistics on the absolute, relative, and percentage error data when <a href=\"https:\/\/www.neuraldesigner.com\/learning\/examples\/car-price-assignment\/\">predicting the price of a car using machine learning<\/a>.<\/p>\n<table>\n<tbody>\n<tr>\n<th>\u00a0<\/th>\n<th>Minimum<\/th>\n<th>Maximum<\/th>\n<th>Mean<\/th>\n<th>Deviation<\/th>\n<\/tr>\n<tr>\n<th>Absolute error<\/th>\n<td style=\"text-align: right;\">17.39<\/td>\n<td style=\"text-align: right;\">13236.5<\/td>\n<td style=\"text-align: right;\">2108.62<\/td>\n<td style=\"text-align: right;\">2615.68<\/td>\n<\/tr>\n<tr>\n<th>Relative error<\/th>\n<td style=\"text-align: right;\">0.00043<\/td>\n<td style=\"text-align: right;\">0.3285<\/td>\n<td style=\"text-align: right;\">0.0523<\/td>\n<td style=\"text-align: right;\">0.0649<\/td>\n<\/tr>\n<tr>\n<th>Percentage error<\/th>\n<td style=\"text-align: right;\">0.043%<\/td>\n<td style=\"text-align: right;\">32.85%<\/td>\n<td style=\"text-align: right;\">5.23%<\/td>\n<td style=\"text-align: right;\">6.49%<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>The above table allows the user to visualize how well his model predicts the data by comparing the test data with our neural network model.<\/p>\n<h3 id=\"ErrorsHistogram\">Errors histogram<\/h3>\n<p>Error histograms show how the errors from the\u00a0<a href=\"https:\/\/www.neuraldesigner.com\/learning\/tutorials\/neural-network\/\">neural network<\/a>\u00a0on the\u00a0<a href=\"https:\/\/www.neuraldesigner.com\/learning\/tutorials\/data-set\/#TestingInstances\">testing instances<\/a>\u00a0are distributed. The histogram indicates how predicted values differ from the target values. Hence, these can be negative.<\/p>\n<p>Generally, a normal distribution centered at 0 for each output variable is expected here.<\/p>\n<p>The following figure illustrates the histogram of errors made by a neural network when <a href=\"https:\/\/www.neuraldesigner.com\/learning\/examples\/yacht-hydrodynamics-modeling\/\">predicting sailing yachts&#8217; residuary resistance<\/a>. Here, the number of bins is 10.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.neuraldesigner.com\/images\/yacht-hydrodynamics-error-histogram.webp\" alt=\"Error histogram calculated by the neural network software Neural Designer\" \/><\/p>\n<p>In this type of histogram, we group the data in bins and examine the error of each bin. With Neural Designer, you can choose the number of bins in your histogram.<\/p>\n<p>The X-axis represents the number of bins, in other words, the number of divisions in the test samples.<\/p>\n<p>The Y-axis represents the number of samples (as a percentage) from your dataset in a particular bin.<\/p>\n<h3 id=\"MaximalErrors\">Maximal errors<\/h3>\n<p>It is beneficial to see which <a href=\"https:\/\/www.neuraldesigner.com\/learning\/tutorials\/data-set\/#TestingInstances\">testing instances<\/a> provide the maximum errors and alerts for deficiencies in the model.<\/p>\n<p>The following table illustrates a neural network&#8217;s maximal errors for modeling nanoparticles&#8217; adhesive strength.<\/p>\n<table>\n<tbody>\n<tr>\n<th>Rank<\/th>\n<th>Index<\/th>\n<th>Error<\/th>\n<th>Data<\/th>\n<\/tr>\n<tr>\n<td style=\"text-align: right;\">1<\/td>\n<td style=\"text-align: right;\">30<\/td>\n<td style=\"text-align: right;\">9.146<\/td>\n<td style=\"text-align: left;\">shear_rate: 75<br \/>particle_diameter: 4.89<br \/>particles_adhering: 42.43<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: right;\">2<\/td>\n<td style=\"text-align: right;\">35<\/td>\n<td style=\"text-align: right;\">9.121<\/td>\n<td style=\"text-align: left;\">shear_rate: 75<br \/>particle_diameter: 6.59<br \/>particles_adhering: 35.77<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: right;\">3<\/td>\n<td style=\"text-align: right;\">11<\/td>\n<td style=\"text-align: right;\">6.851<\/td>\n<td style=\"text-align: left;\">shear_rate: 50<br \/>particle_diameter: 4.89<br \/>particles_adhering: 52.76<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>In this case, the particles with a shear rate of 75 yields the most significant error.<\/p>\n<p>It indicates which properties have a more significant error and, therefore, do not fit our neural network model as well. It may be desirable to clean the data or remove the features that generate a significant error from the data entry.<\/p>\n<h3 id=\"LinearRegressionAnalysis\">Perform goodness-of-fit analysis<\/h3>\n<p>The goodness-of-fit analysis is a method to test the performance of a model in <a href=\"https:\/\/www.neuraldesigner.com\/learning\/tutorials\/neural-networks-applications\/#Approximation\">approximation<\/a> applications; it describes how well it fits a set of observations.<\/p>\n<p>Goodness-of-fit measures typically summarize the discrepancy between observed values and the values expected under the model in question.<\/p>\n<p>This analysis leads to the coefficient of determination, R2. This coefficient quantifies the proportion of variation of the predicted variable from the actual values. If we had a perfect fit, this coefficient would take the value of 1; then there is a perfect correlation between the outputs from the neural network and the targets in the testing subset.<\/p>\n<p>The following figure plots the goodness-of-fit analysis for <a href=\"https:\/\/www.neuraldesigner.com\/learning\/examples\/airfoil-self-noise-prediction\/\">predicting the noise generated by airfoil blades<\/a>. As we can see, all the predicted values are very similar to the real ones.<\/p>\n<p>The chart of goodness-of-fit is the grey line that forces the y-intercept to 0 to get the best prediction results (outputs equal to targets). The blue dots are the test values.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.neuraldesigner.com\/images\/6_scaled_sound_pressure_level goodness-of-fit chart.webp\"  alt=\"Scaled Sound Pressure Level Goodness Of Fit Chart\"\/><\/p>\n<p>For this example, the goodness-of-fit gives us the coefficient of determination <b>R2, which equals<\/b>\u00a0<b>0.82<\/b>. This is an excellent value for this coefficient, and we can see a good correlation between the neural network model and the targets in the testing subset.<\/p>\n<\/div><\/div><div class=\"ndg-step\" id=\"ClassificationTestingMethods\"><div class=\"ndg-step__no\">2<\/div><div class=\"ndg-step__body\"><h2>Classification testing methods<\/h2><p>The most common testing methods in classification applications are the following:<\/p>\n<ul>\n<li><a href=\"#ClassificationErrors\">Classification errors<\/a>.<\/li>\n<li><a href=\"#ConfusionMatrix\">Confusion matrix<\/a>.<\/li>\n<li><a href=\"#BinaryClassificationTests\">Binary classification tests<\/a>.<\/li>\n<li><a href=\"#MultipleClassificationTests\">Multiple classification tests<\/a>.<\/li>\n<li><a href=\"#RocCurve\">ROC curve<\/a>.<\/li>\n<li><a href=\"#CumulativeGain\">Cumulative gain<\/a>.<\/li>\n<li><a href=\"#LiftChart\">Lift chart<\/a>.<\/li>\n<li><a href=\"#PositivesNegativesRates\">Positives and negatives rates<\/a>.<\/li>\n<li><a href=\"#ProfitChart\">Profit chart<\/a>.<\/li>\n<li><a href=\"#MisclassifiedInstances\">Misclassified instances<\/a>.<\/li>\n<\/ul>\n<h3 id=\"ClassificationErrors\">Classification errors<\/h3>\n<p>Classification errors measure the difference between the target classes and the probabilities produced by the model.<\/p>\n<p>Depending on the model, Neural Designer reports sum squared, mean squared, root mean squared, normalized squared and cross-entropy errors.<\/p>\n<h3 id=\"ConfusionMatrix\">Confusion matrix<\/h3>\n<p>In the confusion matrix, the rows represent the target classes in the <a href=\"https:\/\/www.neuraldesigner.com\/learning\/tutorials\/data-set\/\">data set<\/a>,\u00a0and the columns with the corresponding output classes from the <a href=\"https:\/\/www.neuraldesigner.com\/learning\/tutorials\/neural-network\/\">neural network<\/a>.<\/p>\n<p>The diagonal cells in each table show the number of correctly classified cases, and the off-diagonal cells show the misclassified cases.<\/p>\n<p>Positive means are identified for binary classification, and negative means are rejected. Therefore, four different cases are possible:<\/p>\n<ul>\n<li><b>True positive (TP)<\/b>: correctly identified.<\/li>\n<li><b>False positive (FP)<\/b>: incorrectly identified.<\/li>\n<li><b>True negative (TN)<\/b>: rightly rejected.<\/li>\n<li><b>False negative (FN)<\/b>: wrongly rejected.<\/li>\n<\/ul>\n<p>\u00a0<\/p>\n<p>Note that the output from the neural network is generally a probability. Therefore, the decision threshold determines the classification. The default decision threshold is 0.5. An output above the threshold is classified as positive, and an output below it is classified as negative.<\/p>\n<p>For the case of two classes, the confusion matrix takes the following form:<\/p>\n<table>\n<tbody>\n<tr>\n<th>\u00a0<\/th>\n<th>Predicted positive<\/th>\n<th>Predicted negative<\/th>\n<\/tr>\n<tr>\n<th>Real positive<\/th>\n<td>true_positives<\/td>\n<td>false_negatives<\/td>\n<\/tr>\n<tr>\n<th>Real negative<\/th>\n<td>false_positives<\/td>\n<td>true_negatives<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>The following example is the confusion matrix for a neural network that\u00a0<a href=\"https:\/\/www.neuraldesigner.com\/learning\/examples\/credit-risk-management\/\">assesses the risk of credit card clients&#8217; default<\/a>.<\/p>\n<table>\n<tbody>\n<tr>\n<th>\u00a0<\/th>\n<th>Predicted positive<\/th>\n<th>Predicted negative<\/th>\n<\/tr>\n<tr>\n<th>Real positive<\/th>\n<td style=\"text-align: right;\">745 (12.4%)<\/td>\n<td style=\"text-align: right;\">535 (8.92%)<\/td>\n<\/tr>\n<tr>\n<th>Real negative<\/th>\n<td style=\"text-align: right;\">893 (14.9%)<\/td>\n<td style=\"text-align: right;\">3287 (63.8%)<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>For multiple classification, the confusion matrix can be represented as follows:<\/p>\n<table>\n<tbody>\n<tr>\n<th>\u00a0<\/th>\n<th>Predicted class 1<\/th>\n<th>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00b7\u00b7\u00b7<\/th>\n<th>Predicted class N<\/th>\n<\/tr>\n<tr>\n<th>Real class 1<\/th>\n<td style=\"text-align: right;\">#<\/td>\n<td style=\"text-align: right;\">#<\/td>\n<td style=\"text-align: right;\">#<\/td>\n<\/tr>\n<tr>\n<th>\u00b7\u00b7\u00b7<\/th>\n<td style=\"text-align: right;\">#<\/td>\n<td style=\"text-align: right;\">#<\/td>\n<td style=\"text-align: right;\">#<\/td>\n<\/tr>\n<tr>\n<th>Real class N<\/th>\n<td style=\"text-align: right;\">#<\/td>\n<td style=\"text-align: right;\">#<\/td>\n<td style=\"text-align: right;\">#<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>The following example is the confusion matrix for the\u00a0<a href=\"https:\/\/www.neuraldesigner.com\/learning\/examples\/iris-flowers-classification\/\">classification of iris flowers from sepal and petal dimensions<\/a>.<\/p>\n<table>\n<tbody>\n<tr>\n<th>\u00a0<\/th>\n<th>Predicted setosa<\/th>\n<th>Predicted versicolor<\/th>\n<th>Predicted virginica<\/th>\n<\/tr>\n<tr>\n<th>Real setosa<\/th>\n<td style=\"text-align: right;\">10 (33.3%)<\/td>\n<td style=\"text-align: right;\">0<\/td>\n<td style=\"text-align: right;\">0<\/td>\n<\/tr>\n<tr>\n<th>Real versicolor<\/th>\n<td style=\"text-align: right;\">0<\/td>\n<td style=\"text-align: right;\">11 (36.7%)<\/td>\n<td style=\"text-align: right;\">0<\/td>\n<\/tr>\n<tr>\n<th>Real virginica<\/th>\n<td style=\"text-align: right;\">0<\/td>\n<td style=\"text-align: right;\">1 (3.33%)<\/td>\n<td style=\"text-align: right;\">8 (26.7%)<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>As we can see, all testing instances are correctly classified except one, which is an iris Virginica that has been ranked as an iris Versicolor.<\/p>\n<h3 id=\"BinaryClassificationTests\">Binary classification tests<\/h3>\n<p>Binary classification tests are calculated from the confusion matrix for the selected decision threshold.<\/p>\n<ul>\n<li><b>Classification accuracy<\/b>: proportion of correctly classified samples.<\/li>\n<li><b>Error rate<\/b>: proportion of misclassified samples.<\/li>\n<li><b>Sensitivity<\/b>: proportion of real positives predicted as positive.<\/li>\n<li><b>Specificity<\/b>: proportion of real negatives predicted as negative.<\/li>\n<li><b>Precision<\/b>: proportion of predicted positives that are real positives.<\/li>\n<li><b>Positive likelihood<\/b>: ratio between the true positive and false positive rates.<\/li>\n<li><b>Negative likelihood<\/b>: ratio between the false negative and true negative rates.<\/li>\n<li><b>F1 score<\/b>: harmonic mean of precision and sensitivity.<\/li>\n<li><b>False positive rate<\/b>: proportion of real negatives predicted as positive.<\/li>\n<li><b>False discovery rate<\/b>: proportion of predicted positives that are false.<\/li>\n<li><b>False negative rate<\/b>: proportion of real positives predicted as negative.<\/li>\n<li><b>Negative predictive value<\/b>: proportion of predicted negatives that are real negatives.<\/li>\n<li><b>Matthews correlation<\/b>: correlation between the real and predicted classes.<\/li>\n<li><b>Youden&#8217;s index<\/b>: combined measure of sensitivity and specificity.<\/li>\n<li><b>Markedness<\/b>: combined measure of positive and negative predictive values.<\/li>\n<\/ul>\n<p>These metrics can be used together when <a href=\"https:\/\/www.neuraldesigner.com\/learning\/examples\/credit-risk-management\/\">assessing the risk of credit card clients&#8217; default<\/a> and in other binary classification applications.<\/p>\n<h3 id=\"MultipleClassificationTests\">Multiple classification tests<\/h3>\n<p>For problems with more than two classes, Neural Designer calculates precision, recall and F1 score for every class.<\/p>\n<p>It also reports the macro average, where all classes have the same weight, and the weighted average, which accounts for the number of samples in every class.<\/p>\n<h3 id=\"RocCurve\">ROC curve<\/h3>\n<p>A standard method for testing a neural network in binary classification applications is to plot an ROC (Receiver Operating Characteristic) curve.<\/p>\n<p>The ROC curve plots the false positive rate (or 1 &#8211; specificity) on the X-axis and the true positive rate (or sensitivity) on the Y-axis for different decision thresholds.<\/p>\n<p>An example of the ROC curve for\u00a0<a href=\"https:\/\/www.neuraldesigner.com\/learning\/examples\/bank-churn\/\">diagnosing breast cancer from fine-needle aspirate images<\/a>\u00a0is the following.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.neuraldesigner.com\/images\/breast-cancer-roc-curve.webp\"  alt=\"Breast Cancer ROC Curve\"\/><\/p>\n<p>The capacity of discrimination is measured by calculating the <b>area under the curve (AUC)<\/b>. A random classifier would give\u00a0 \u00a0 \u00a0 AUC = 0.5, and a perfect classifier AUC = 1.<\/p>\n<p>For the above example, the area under the curve is AUC = 0.994. That is an excellent value, indicating that the model predicts almost perfectly.<\/p>\n<h3 id=\"CumulativeGain\">Cumulative gain<\/h3>\n<p>The cumulative gain analysis is a visual aid that shows the advantage of using a predictive model instead of randomness.<\/p>\n<p>It consists of two lines:<\/p>\n<ul>\n<li>The baseline represents the results that would be obtained without using a model.<\/li>\n<li>The <b>positive cumulative gain<\/b> shows in the y-axis the percentage of positive instances found against the percentage of the population, represented in the x-axis.<\/li>\n<li>The <b>negative cumulative gain<\/b> shows the percentage of the negative instances found against the percentage of the population.<\/li>\n<\/ul>\n<p>\u00a0<\/p>\n<p>The following chart shows the analysis results for a\u00a0<a href=\"https:\/\/www.neuraldesigner.com\/learning\/examples\/bank-churn\/\">model that predicts if a bank client is likely to churn<\/a>. The blue line represents the positive cumulative gain, the red line represents the negative cumulative gain, and the grey line represents the cumulative gain for a random classifier.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.neuraldesigner.com\/images\/bank-churn-cumulative-gain.webp\"  alt=\"Bank Churn Cumulative Gain\"\/><\/p>\n<p>In this case, by using the model, we see that by analyzing the 50% of the clients with the higher probability of churn, we would reach 80% of clients going to leave the bank.<\/p>\n<h3 id=\"LiftChart\">Lift chart<\/h3>\n<p>This method provides a visual aid to evaluate a predictive model loss. It consists of a lift curve and a baseline. The lift curve represents the ratio between the positive events using a model and without using it. The baseline represents randomness, i.e., not using a model.<\/p>\n<p>The x-axis displays the percentage of instances studied. The y-axis shows the ratio between the results predicted by the model and the results without the model. Below is depicted the lift chart of a\u00a0<a href=\"https:\/\/www.neuraldesigner.com\/learning\/examples\/blood-donors-targeting\/\">model that indicates if a person will donate blood<\/a>.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.neuraldesigner.com\/images\/blood-lift-chart.webp\"  alt=\"Blood Lift Chart\"\/><\/p>\n<p>To explain the usefulness of this chart, let us suppose that we are trying to find the positive instances of a data set. If we try to find them randomly after studying 50% of the instances, we discover 50% of the positive instances.<\/p>\n<p>Now, let&#8217;s suppose that we first study those instances that are more likely to be positive according to the score that they have received from the classifier. After studying 50% of them, we found 80% positive instances.<\/p>\n<p>Therefore, by using the model, after analyzing 50% of the instances, we would discover 1.6% more positive instances than by looking for them randomly. This advantage is what is represented in the lift chart.<\/p>\n<h3 id=\"PositivesNegativesRates\">Positives and negatives rates<\/h3>\n<p>Positive rates tell us how the selection of positives changes by using a classification model.<\/p>\n<p>In marketing applications, the positive rate is called the <em>conversion rate<\/em>. Indeed, it depicts the number of clients responding positively to our campaign instead of the number of contracted clients.<\/p>\n<p>The following chart shows two rates. The first column represents the data set rates, while the second one represents the ratios for the predicted positives of the model.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.neuraldesigner.com\/images\/bank-marketing-positives-rates.webp\"  alt=\"Bank Marketing Positives Rates\"\/><\/p>\n<h3 id=\"ProfitChart\">Profit chart<\/h3>\n<p>This testing method shows the difference in profits from randomness and those using the model depending on the instance ratio.<\/p>\n<p>In this chart, three lines are represented. The grey one means the profits from randomly choosing the instances. The blue line is the evolution of the profits when using the model. Finally, the black one separates the benefits from the losses of the process. The chart below represents the profit chart of a\u00a0model that detects forged banknotes.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.neuraldesigner.com\/images\/banknote-profit-chart.webp\"  alt=\"Banknote Profit Chart\"\/><\/p>\n<p>The values of the previous plot are displayed below.<\/p>\n<ul>\n<li><b>Unitary cost:<\/b> 1<\/li>\n<li><b>Unitary income:<\/b> 2<\/li>\n<li><b>Maximum profit:<\/b> 122.7<\/li>\n<li><b>Instance ratio:<\/b> 0.45<\/li>\n<\/ul>\n<p>\u00a0<\/p>\n<p>The maximum profit is the value of the most significant benefit obtained with the model, <b>122.7%<\/b>, and the instance ratio is the percentage of instances used to get that benefit, <b>45%<\/b>.<\/p>\n<h3 id=\"MisclassifiedInstances\">Misclassified instances<\/h3>\n<p>When performing a classification problem, knowing which instances have been misclassified is essential. This method shows which actual positive instances are predicted as unfavorable (false negatives) and which actual negative instances are predicted as positive (false positives).<\/p>\n<p>This information is displayed in a table format, identifying each instance with an Instance ID, and showing its corresponding data, composed of its values of the model variables. Two tables are displayed, one for the positive instances predicted as negative and the other for the negative instances predicted as positive.<\/p>\n<p>To learn more about testing analysis, you can read the\u00a0<a href=\"https:\/\/www.neuraldesigner.com\/blog\/mastering-binary-classification-model-testing\/\">6 testing methods for binary classification<\/a>\u00a0article in our blog.<\/p>\n<\/div><\/div><div class=\"ndg-step\" id=\"ForecastingTestingMethods\"><div class=\"ndg-step__no\">3<\/div><div class=\"ndg-step__body\"><h2>Forecasting testing methods<\/h2><p>All testing methods used for approximation models are also valid for forecasting models.<\/p>\n<p>Forecasting models additionally provide an outputs plot:<\/p>\n<ul>\n<li><a href=\"#OutputsPlot\">Outputs plot<\/a>.<\/li>\n<\/ul>\n<h3 id=\"OutputsPlot\">Outputs plot<\/h3>\n<p>This chart plots the time series targets and their corresponding predictions against time.<\/p>\n<p>The next chart shows the one-step-ahead average temperature in a city (blue) and the corresponding predictions (orange).<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.neuraldesigner.com\/images\/temperature_outputs_plot.webp\" alt=\"Temperature Outputs Plot\" \/><\/p>\n<p><a class=\"button\" style=\"float: left;\" href=\"https:\/\/www.neuraldesigner.com\/learning\/tutorials\/model-selection\/\">\u21d0 Model Selection<\/a> <a class=\"button\" style=\"float: right;\" href=\"https:\/\/www.neuraldesigner.com\/learning\/tutorials\/model-deployment\/\">Model Deployment \u21d2<\/a><\/div>\n<\/div><\/div><\/div><\/div>\n<nav class=\"ndts-bottom\" aria-label=\"Tutorial chapter navigation\"><div class=\"ndts-controls\"><a href=\"https:\/\/www.neuraldesigner.com\/learning\/tutorials\/model-selection\/\" data-tutorial-nav=\"previous\" onclick=\"if(typeof gtag==='function'){gtag('event','tutorial_nav_click',{tutorial_action:'previous',tutorial_chapter:'6',link_url:this.href});}\">\u2190 Model selection<\/a><a href=\"https:\/\/www.neuraldesigner.com\/learning\/machine-learning-tutorial\/\">All chapters<\/a><a href=\"https:\/\/www.neuraldesigner.com\/learning\/tutorials\/model-deployment\/\" data-tutorial-nav=\"next\" onclick=\"if(typeof gtag==='function'){gtag('event','tutorial_nav_click',{tutorial_action:'next',tutorial_chapter:'6',link_url:this.href});}\">Model deployment \u2192<\/a><\/div><\/nav>","protected":false},"author":122,"featured_media":2718,"template":"","categories":[30],"tags":[],"class_list":["post-3538","learning","type-learning","status-publish","has-post-thumbnail","hentry","category-tutorials"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.4 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Machine Learning Tutorial: Testing Analysis - Neural Designer<\/title>\n<meta name=\"description\" content=\"Evaluate regression and classification models with the main testing methods used to measure machine learning performance.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.neuraldesigner.com\/learning\/tutorials\/testing-analysis\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Neural networks tutorial: Testing analysis\" \/>\n<meta property=\"og:description\" content=\"This tutorial shows the most common testing techniques for regression and classification models.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.neuraldesigner.com\/learning\/tutorials\/testing-analysis\/\" \/>\n<meta property=\"og:site_name\" content=\"Neural Designer\" \/>\n<meta property=\"article:modified_time\" content=\"2026-08-28T10:49:22+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.neuraldesigner.com\/wp-content\/uploads\/2023\/06\/3_silver_screenshots_right.webp\" \/>\n\t<meta property=\"og:image:width\" content=\"1600\" \/>\n\t<meta property=\"og:image:height\" content=\"800\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/webp\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:title\" content=\"Neural networks tutorial: Testing analysis\" \/>\n<meta name=\"twitter:description\" content=\"This tutorial shows the most common testing techniques for regression and classification models.\" \/>\n<meta name=\"twitter:site\" content=\"@NeuralDesigner\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"13 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.neuraldesigner.com\/learning\/tutorials\/testing-analysis\/\",\"url\":\"https:\/\/www.neuraldesigner.com\/learning\/tutorials\/testing-analysis\/\",\"name\":\"Machine Learning Tutorial: Testing Analysis - Neural Designer\",\"isPartOf\":{\"@id\":\"https:\/\/www.neuraldesigner.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.neuraldesigner.com\/learning\/tutorials\/testing-analysis\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.neuraldesigner.com\/learning\/tutorials\/testing-analysis\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.neuraldesigner.com\/wp-content\/uploads\/2023\/06\/3_silver_screenshots_right.webp\",\"datePublished\":\"2025-11-25T10:12:57+00:00\",\"dateModified\":\"2026-08-28T10:49:22+00:00\",\"description\":\"Evaluate regression and classification models with the main testing methods used to measure machine learning performance.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.neuraldesigner.com\/learning\/tutorials\/testing-analysis\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.neuraldesigner.com\/learning\/tutorials\/testing-analysis\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.neuraldesigner.com\/learning\/tutorials\/testing-analysis\/#primaryimage\",\"url\":\"https:\/\/www.neuraldesigner.com\/wp-content\/uploads\/2023\/06\/3_silver_screenshots_right.webp\",\"contentUrl\":\"https:\/\/www.neuraldesigner.com\/wp-content\/uploads\/2023\/06\/3_silver_screenshots_right.webp\",\"width\":1600,\"height\":800,\"caption\":\"Neural Designer screenshots\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.neuraldesigner.com\/learning\/tutorials\/testing-analysis\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.neuraldesigner.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Learning\",\"item\":\"https:\/\/www.neuraldesigner.com\/learning\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Machine learning tutorial: Testing analysis\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.neuraldesigner.com\/#website\",\"url\":\"https:\/\/www.neuraldesigner.com\/\",\"name\":\"Neural Designer\",\"description\":\"No-code AI Platform\",\"publisher\":{\"@id\":\"https:\/\/www.neuraldesigner.com\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.neuraldesigner.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.neuraldesigner.com\/#organization\",\"name\":\"Neural Designer\",\"url\":\"https:\/\/www.neuraldesigner.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.neuraldesigner.com\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.neuraldesigner.com\/wp-content\/uploads\/2023\/05\/logo-neural-1.png\",\"contentUrl\":\"https:\/\/www.neuraldesigner.com\/wp-content\/uploads\/2023\/05\/logo-neural-1.png\",\"width\":1024,\"height\":223,\"caption\":\"Neural Designer\"},\"image\":{\"@id\":\"https:\/\/www.neuraldesigner.com\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/x.com\/NeuralDesigner\",\"https:\/\/es.linkedin.com\/showcase\/neuraldesigner\/\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Machine Learning Tutorial: Testing Analysis - Neural Designer","description":"Evaluate regression and classification models with the main testing methods used to measure machine learning performance.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.neuraldesigner.com\/learning\/tutorials\/testing-analysis\/","og_locale":"en_US","og_type":"article","og_title":"Neural networks tutorial: Testing analysis","og_description":"This tutorial shows the most common testing techniques for regression and classification models.","og_url":"https:\/\/www.neuraldesigner.com\/learning\/tutorials\/testing-analysis\/","og_site_name":"Neural Designer","article_modified_time":"2026-08-28T10:49:22+00:00","og_image":[{"width":1600,"height":800,"url":"https:\/\/www.neuraldesigner.com\/wp-content\/uploads\/2023\/06\/3_silver_screenshots_right.webp","type":"image\/webp"}],"twitter_card":"summary_large_image","twitter_title":"Neural networks tutorial: Testing analysis","twitter_description":"This tutorial shows the most common testing techniques for regression and classification models.","twitter_site":"@NeuralDesigner","twitter_misc":{"Est. reading time":"13 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.neuraldesigner.com\/learning\/tutorials\/testing-analysis\/","url":"https:\/\/www.neuraldesigner.com\/learning\/tutorials\/testing-analysis\/","name":"Machine Learning Tutorial: Testing Analysis - Neural Designer","isPartOf":{"@id":"https:\/\/www.neuraldesigner.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.neuraldesigner.com\/learning\/tutorials\/testing-analysis\/#primaryimage"},"image":{"@id":"https:\/\/www.neuraldesigner.com\/learning\/tutorials\/testing-analysis\/#primaryimage"},"thumbnailUrl":"https:\/\/www.neuraldesigner.com\/wp-content\/uploads\/2023\/06\/3_silver_screenshots_right.webp","datePublished":"2025-11-25T10:12:57+00:00","dateModified":"2026-08-28T10:49:22+00:00","description":"Evaluate regression and classification models with the main testing methods used to measure machine learning performance.","breadcrumb":{"@id":"https:\/\/www.neuraldesigner.com\/learning\/tutorials\/testing-analysis\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.neuraldesigner.com\/learning\/tutorials\/testing-analysis\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.neuraldesigner.com\/learning\/tutorials\/testing-analysis\/#primaryimage","url":"https:\/\/www.neuraldesigner.com\/wp-content\/uploads\/2023\/06\/3_silver_screenshots_right.webp","contentUrl":"https:\/\/www.neuraldesigner.com\/wp-content\/uploads\/2023\/06\/3_silver_screenshots_right.webp","width":1600,"height":800,"caption":"Neural Designer screenshots"},{"@type":"BreadcrumbList","@id":"https:\/\/www.neuraldesigner.com\/learning\/tutorials\/testing-analysis\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.neuraldesigner.com\/"},{"@type":"ListItem","position":2,"name":"Learning","item":"https:\/\/www.neuraldesigner.com\/learning\/"},{"@type":"ListItem","position":3,"name":"Machine learning tutorial: Testing analysis"}]},{"@type":"WebSite","@id":"https:\/\/www.neuraldesigner.com\/#website","url":"https:\/\/www.neuraldesigner.com\/","name":"Neural Designer","description":"No-code AI Platform","publisher":{"@id":"https:\/\/www.neuraldesigner.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.neuraldesigner.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.neuraldesigner.com\/#organization","name":"Neural Designer","url":"https:\/\/www.neuraldesigner.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.neuraldesigner.com\/#\/schema\/logo\/image\/","url":"https:\/\/www.neuraldesigner.com\/wp-content\/uploads\/2023\/05\/logo-neural-1.png","contentUrl":"https:\/\/www.neuraldesigner.com\/wp-content\/uploads\/2023\/05\/logo-neural-1.png","width":1024,"height":223,"caption":"Neural Designer"},"image":{"@id":"https:\/\/www.neuraldesigner.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/x.com\/NeuralDesigner","https:\/\/es.linkedin.com\/showcase\/neuraldesigner\/"]}]}},"_links":{"self":[{"href":"https:\/\/www.neuraldesigner.com\/api\/wp\/v2\/learning\/3538","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.neuraldesigner.com\/api\/wp\/v2\/learning"}],"about":[{"href":"https:\/\/www.neuraldesigner.com\/api\/wp\/v2\/types\/learning"}],"author":[{"embeddable":true,"href":"https:\/\/www.neuraldesigner.com\/api\/wp\/v2\/users\/122"}],"version-history":[{"count":11,"href":"https:\/\/www.neuraldesigner.com\/api\/wp\/v2\/learning\/3538\/revisions"}],"predecessor-version":[{"id":23798,"href":"https:\/\/www.neuraldesigner.com\/api\/wp\/v2\/learning\/3538\/revisions\/23798"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.neuraldesigner.com\/api\/wp\/v2\/media\/2718"}],"wp:attachment":[{"href":"https:\/\/www.neuraldesigner.com\/api\/wp\/v2\/media?parent=3538"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.neuraldesigner.com\/api\/wp\/v2\/categories?post=3538"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.neuraldesigner.com\/api\/wp\/v2\/tags?post=3538"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}