{"id":3503,"date":"2023-06-29T14:16:33","date_gmt":"2023-06-29T14:16:33","guid":{"rendered":"https:\/\/neuraldesigner.com\/learning\/iris-flowers-classification\/"},"modified":"2026-08-07T12:37:27","modified_gmt":"2026-08-07T10:37:27","slug":"iris-flowers-classification","status":"publish","type":"learning","link":"https:\/\/www.neuraldesigner.com\/learning\/examples\/iris-flowers-classification\/","title":{"rendered":"Classify iris flowers using machine learning"},"content":{"rendered":"<style>\n.nds{--nds-code-bg:#f3f7fa;--nds-code-fg:#12354b;width:100vw;margin-left:calc(50% - 50vw);padding:22px 24px 14px;background:#eee;color:#1b2635;font-family:\"Outfit\",\"Roboto\",Arial,sans-serif}\n.nds *{box-sizing:border-box}.nds-wrap{width:min(100%,1200px);margin:0 auto}.nds a{text-decoration:none;color:#2d799f}\n.nds-executive{margin:0 0 34px;padding:32px;border-radius:20px;background:linear-gradient(135deg,#12354b,#245e80);color:#fff}.nds-executive h2{margin:0 0 12px;color:#fff;font-size:30px}.nds-executive p{font-size:18px;line-height:1.55}\n.nds-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:22px}.nds-kpi{padding:18px;border:1px solid rgba(255,255,255,.18);border-radius:14px;background:rgba(255,255,255,.1)}.nds-kpi strong{display:block;font-size:25px}.nds-kpi span{font-size:13px}\n.nds-actions,.nds-audience,.nds-downloads{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin:22px 0}.nds-actions a,.nds-downloads a{padding:12px 20px;border-radius:24px;background:#245e80;color:#fff;font-weight:700}.nds-executive .nds-actions a{background:#fff;color:#12354b}\n.nds-toc{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:0 0 42px;padding:0;list-style:none}.nds-toc a,.nds-audience span{display:block;padding:9px 14px;border-radius:20px;background:#e9f2f8;color:#12354b;font-weight:600}\n.nds-card{margin:0 0 54px;scroll-margin-top:90px}.nds-card h2{margin:0 0 20px;padding-bottom:12px;border-bottom:1px solid #dbe5ec;color:#001233;font-size:24px}.nds-card p,.nds-card li{font-size:16.5px;line-height:1.6}.nds-card img{display:block;width:auto;max-width:min(640px,100%);height:auto;margin:24px auto;border-radius:12px}.nds-card img.nds-architecture{width:min(1000px,100%);max-width:100%}\n.nds-value-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:22px 0}.nds-value{padding:20px;border:1px solid #dce8ef;border-radius:14px;background:#f8fbfd}.nds-note{margin:20px 0;padding:18px 20px;border-left:4px solid #56a1c8;border-radius:0 12px 12px 0;background:#f6fafc}.nds-note--warning{border-left-color:#d79a29;background:#fff9ed}\n.nds-table-scroll{max-width:100%;overflow-x:auto}.nds-card table{width:auto;max-width:100%;margin:24px auto;border-collapse:collapse;background:#fff}.nds-card th,.nds-card td{padding:11px 16px;border-bottom:1px solid #e2e9ee}.nds-card thead th{background:#12354b!important;color:#fff!important}.nds-card tbody th{background:#eaf2f6!important;color:#12354b!important;text-align:left}.nds-card tbody tr:nth-child(even) th{background:#f4f8fa!important}.nds-card tbody td{color:#33424f!important}\n.nds-figure-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.nds-figure-grid figure,.nds-architecture-figure{margin:0;padding:16px;border:1px solid #dce8ef;border-radius:15px;background:#f8fbfd}.nds-figure-grid img{width:100%;max-width:100%;margin:0 auto 12px}.nds-card figcaption{color:#405361;font-size:14px;line-height:1.45}\n.nds pre,.nds .wp-block-code,.nds pre[class*=\"language-\"]{display:block;max-width:100%;overflow:auto;padding:18px 20px!important;border:1px solid #d5e2e9!important;border-radius:12px!important;background:var(--nds-code-bg)!important;color:var(--nds-code-fg)!important;box-shadow:none!important;text-shadow:none!important;white-space:pre}\n.nds pre code,.nds pre code *,.nds .wp-block-code code,.nds .wp-block-code code *{border:0!important;background:transparent!important;color:var(--nds-code-fg)!important;box-shadow:none!important;text-shadow:none!important;font-family:Consolas,\"Liberation Mono\",monospace!important;font-size:14px;line-height:1.55}\n.nds :not(pre)>code{padding:.08em .32em;border-radius:4px;background:#e6eef3!important;color:#12354b!important}\n.nds .nds-expression{max-width:100%;overflow:auto;margin:22px auto;padding:18px 20px;border:1px solid #d5e2e9;border-radius:12px;background:#fff!important;color:#12354b!important;text-align:center}\n.nds .nds-expression math,.nds .nds-expression mjx-container,.nds .nds-expression .MathJax{background:transparent!important;color:#12354b!important}\n@media(max-width:820px){.nds-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.nds-value-grid{grid-template-columns:1fr}}\n@media(max-width:620px){.nds{padding:12px 14px}.nds-kpis,.nds-figure-grid{grid-template-columns:1fr}.nds-executive{padding:24px 20px}.nds-card table{font-size:13px}.nds-card th,.nds-card td{padding:9px 8px}}\n<\/style>\n<style>\n.nds-centered-figure{max-width:820px;margin:24px auto!important;padding:16px;border:1px solid #dce8ef;border-radius:15px;background:#f8fbfd}\n.nds-centered-figure img{display:block;width:100%;max-width:100%;margin:0 auto 12px}\n.nds-flow{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin:24px 0}\n.nds-flow div{position:relative;display:flex;min-height:96px;align-items:center;justify-content:center;padding:14px 9px;border-radius:13px;background:#12354b;color:#fff;text-align:center;font-weight:700}\n.nds-flow div:not(:last-child):after{content:\"\u2192\";position:absolute;right:-15px;top:50%;z-index:2;transform:translateY(-50%);color:#56a1c8;font-size:21px}\n.nds-metrics td:nth-child(2),.nds-confusion td{text-align:right;font-variant-numeric:tabular-nums}\n.nds-deployment-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,1fr);gap:22px;align-items:center}\n.nds-result{padding:26px;border:1px solid #cfe1eb;border-radius:16px;background:#f7fbfd;text-align:center}\n.nds-result span,.nds-result strong{display:block}.nds-result strong{margin:8px 0;color:#12354b;font-size:29px}\n@media(max-width:1000px){.nds-flow{grid-template-columns:repeat(3,1fr)}.nds-flow div:after{display:none}}\n@media(max-width:760px){.nds-flow,.nds-deployment-grid{grid-template-columns:1fr}.nds-flow div:after{display:none}}<\/p>\n<p>.nds-calculator{margin:30px 0;padding:24px;border:1px solid #cfe1eb;border-radius:18px;background:#f7fbfd}\n.nds-calculator h3{margin-top:0}.nds-calculator-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}\n.nds-calculator label{display:flex;flex-direction:column;gap:6px;color:#12354b;font-size:13px;font-weight:700}\n.nds-calculator input,.nds-calculator select{width:100%;min-height:46px;padding:10px 12px;border:1px solid #b9cfdb;border-radius:9px;background:#fff;color:#173246;font:inherit}\n.nds-calculator input:focus,.nds-calculator select:focus{outline:3px solid rgba(86,161,200,.22);border-color:#2d799f}\n.nds-calculator .is-invalid{border-color:#c94747;background:#fff8f8}\n.nds-calculator small{color:#617482;font-size:11px;font-weight:400}\n.nds-calculator-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:20px 0}\n.nds-calculator button{padding:11px 19px;border:0;border-radius:24px;background:#245e80;color:#fff;font:inherit;font-weight:700;cursor:pointer}\n.nds-calculator button[type=reset]{background:#e1edf3;color:#12354b}\n.nds-calculator-error{min-height:24px;margin:0 0 10px;color:#a12828;text-align:center;font-weight:600}\n.nds-score-summary{margin:10px 0 18px;text-align:center}.nds-score-summary strong{display:block;color:#12354b;font-size:25px}\n.nds-score-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}\n.nds-score{padding:13px;border:1px solid #d6e4eb;border-radius:12px;background:#fff}\n.nds-score-head{display:flex;justify-content:space-between;gap:8px;margin-bottom:8px;color:#173246}.nds-score-head strong{font-size:14px}.nds-score-head span{font-variant-numeric:tabular-nums}\n.nds-score-track{height:8px;overflow:hidden;border-radius:8px;background:#e8eff3}.nds-score-fill{height:100%;background:#56a1c8}\n.nds-score.is-winner{border-color:#2d799f;box-shadow:0 0 0 2px rgba(45,121,159,.12)}.nds-score.is-winner .nds-score-fill{background:#245e80}\n@media(max-width:820px){.nds-calculator-grid,.nds-score-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}\n@media(max-width:560px){.nds-calculator-grid,.nds-score-grid{grid-template-columns:1fr}}\n<\/style>\n<div class=\"nds\" data-science-profile=\"life-health\">\n<div class=\"nds-wrap\">\n<section class=\"nds-executive\">\n<h2>Classify three Iris groups from four flower measurements<\/h2>\n<p>This reproducible benchmark standardizes sepal and petal measurements and applies a direct three-class softmax model. The exported classifier labels all 30 held-out records correctly, with a testing cross-entropy of 0.0359. The result demonstrates the workflow on a small historical data set; it does not establish general botanical identification accuracy.<\/p>\n<div class=\"nds-kpis\">\n<div class=\"nds-kpi\"><strong>100%<\/strong><span>held-out accuracy<\/span><\/div>\n<div class=\"nds-kpi\"><strong>0.0359<\/strong><span>testing cross-entropy<\/span><\/div>\n<div class=\"nds-kpi\"><strong>30<\/strong><span>held-out records<\/span><\/div>\n<div class=\"nds-kpi\"><strong>15<\/strong><span>trainable parameters<\/span><\/div>\n<\/div>\n<div class=\"nds-actions\"><a href=\"#6-validation\">Review scientific validation<\/a><a href=\"https:\/\/www.neuraldesigner.com\/wp-content\/uploads\/2026\/08\/irisflowers.csv\">Download the data<\/a><\/div>\n<\/section>\n<ul class=\"nds-toc\">\n<li><a href=\"#1-scientific-objective\">Scientific objective<\/a><\/li>\n<li><a href=\"#2-data-provenance\">Data and provenance<\/a><\/li>\n<li><a href=\"#3-model\">Model<\/a><\/li>\n<li><a href=\"#4-training\">Training<\/a><\/li>\n<li><a href=\"#5-selection\">Selection<\/a><\/li>\n<li><a href=\"#6-validation\">Validation<\/a><\/li>\n<li><a href=\"#7-inference\">Inference<\/a><\/li>\n<li><a href=\"#8-validity\">Validity<\/a><\/li>\n<\/ul>\n<section id=\"1-scientific-objective\" class=\"nds-card\">\n<h2>1. Scientific objective<\/h2>\n<p>The objective is to reproduce a classic three-class classification problem using four morphometric measurements: sepal length, sepal width, petal length and petal width. The model is useful for teaching data splitting, multiclass softmax inference and reproducible deployment. It is not a field-identification system and does not capture the traits, geography or taxonomic evidence required for botanical work.<\/p>\n<div class=\"nds-value-grid\">\n<div class=\"nds-value\"><strong>Transparent multiclass baseline<\/strong><\/p>\n<p>Show how four measured variables map directly to three class scores without a hidden layer.<\/p>\n<\/div>\n<div class=\"nds-value\"><strong>Reproducible teaching case<\/strong><\/p>\n<p>Connect the historical table, exact random split, regenerated figures and executable export.<\/p>\n<\/div>\n<div class=\"nds-value\"><strong>Inspect decision boundaries<\/strong><\/p>\n<p>Use the browser model to explore how petal and sepal measurements change the three output scores.<\/p>\n<\/div>\n<\/div>\n<div class=\"nds-audience\">\n<span>Biostatistics education<\/span><span>Botanical data analysis<\/span><span>Scientific programming<\/span><span>Machine-learning training<\/span>\n<\/div>\n<div class=\"nds-note\"><strong>Scope.<\/strong> Each row is one historical Iris record with four measurements and one supplied class label. The page is a classification benchmark, not evidence that these four variables are sufficient for identifying arbitrary plants.<\/div>\n<\/section>\n<section id=\"2-data-provenance\" class=\"nds-card\">\n<h2>2. Data and provenance<\/h2>\n<p>The downloadable <a href=\"https:\/\/www.neuraldesigner.com\/wp-content\/uploads\/2026\/08\/irisflowers.csv\"><code>irisflowers.csv<\/code><\/a> contains 150 complete rows: 50 labelled <em>Iris setosa<\/em>, 50 <em>Iris versicolor<\/em> and 50 <em>Iris virginica<\/em>. The four continuous inputs are recorded in centimetres.<\/p>\n<div class=\"nds-table-scroll\">\n<table>\n<thead>\n<tr>\n<th>CSV field<\/th>\n<th>Definition<\/th>\n<th>Unit<\/th>\n<th>Observed range<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<th><code>sepal_length<\/code><\/th>\n<td>Length of the sepal<\/td>\n<td>cm<\/td>\n<td>4.3\u20137.9<\/td>\n<\/tr>\n<tr>\n<th><code>sepal_width<\/code><\/th>\n<td>Width of the sepal<\/td>\n<td>cm<\/td>\n<td>2.0\u20134.4<\/td>\n<\/tr>\n<tr>\n<th><code>petal_length<\/code><\/th>\n<td>Length of the petal<\/td>\n<td>cm<\/td>\n<td>1.0\u20136.9<\/td>\n<\/tr>\n<tr>\n<th><code>petal_width<\/code><\/th>\n<td>Width of the petal<\/td>\n<td>cm<\/td>\n<td>0.1\u20132.5<\/td>\n<\/tr>\n<tr>\n<th><code>class<\/code><\/th>\n<td>Supplied group label<\/td>\n<td>category<\/td>\n<td>three labels<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<div class=\"nds-table-scroll\">\n<table>\n<thead>\n<tr>\n<th>Subset<\/th>\n<th>Rows<\/th>\n<th>Setosa<\/th>\n<th>Versicolor<\/th>\n<th>Virginica<\/th>\n<th>Purpose<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<th>Training<\/th>\n<td>90<\/td>\n<td>28<\/td>\n<td>33<\/td>\n<td>29<\/td>\n<td>Estimate model parameters<\/td>\n<\/tr>\n<tr>\n<th>Selection<\/th>\n<td>30<\/td>\n<td>11<\/td>\n<td>7<\/td>\n<td>12<\/td>\n<td>Monitor optimization<\/td>\n<\/tr>\n<tr>\n<th>Testing<\/th>\n<td>30<\/td>\n<td>11<\/td>\n<td>10<\/td>\n<td>9<\/td>\n<td>Report final internal performance<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<div class=\"nds-figure-grid\">\n<figure><img decoding=\"async\" src=\"https:\/\/www.neuraldesigner.com\/wp-content\/uploads\/2026\/08\/iris-class-distribution-2026.png\" alt=\"Equal distribution of fifty records for each of the three Iris labels\"><figcaption>The complete table is exactly balanced, although the random subsets contain slightly different class counts.<\/figcaption><\/figure>\n<figure><img decoding=\"async\" src=\"https:\/\/www.neuraldesigner.com\/wp-content\/uploads\/2026\/08\/iris-input-correlations-2026.png\" alt=\"Associations between the four measurements and an encoded Iris class\"><figcaption>The target is nominal. These coefficients depend on its numerical encoding and must not be interpreted as causal effects or biological feature importance.<\/figcaption><\/figure>\n<\/div>\n<div class=\"nds-note nds-note--provenance\"><strong>Provenance.<\/strong> The project uses the 150-row <a href=\"https:\/\/archive.ics.uci.edu\/dataset\/53\/iris\">UCI Iris data set<\/a>, associated with Fisher&#8217;s 1936 classification paper. UCI documents known differences between its historical <code>iris.data<\/code> file and corrected variants. This tutorial preserves the exact values used to train the supplied Neural Designer project; the downloadable copy only normalizes the accidental leading space in one column header. UCI lists the data under CC BY 4.0.<\/div>\n<\/section>\n<section id=\"3-model\" class=\"nds-card\">\n<h2>3. Model<\/h2>\n<p>Each measurement is standardized using its mean and standard deviation. A single dense softmax layer connects the four scaled inputs directly to three outputs ordered as <code>iris_setosa<\/code>, <code>iris_versicolor<\/code> and <code>iris_virginica<\/code>.<\/p>\n<p>The architecture has no hidden layer and contains 15 trainable parameters: twelve weights and three biases. It is a multiclass logistic classifier represented in Neural Designer&#8217;s neural-network framework.<\/p>\n<div class=\"nds-note\"><strong>Output contract.<\/strong> The largest softmax score defines the predicted label. The scores have not been independently calibrated as probabilities and should not be presented as botanical certainty.<\/div>\n<figure class=\"nds-architecture-figure\" data-model-stage=\"initial\"><img decoding=\"async\" class=\"nds-architecture\" src=\"https:\/\/www.neuraldesigner.com\/wp-content\/uploads\/2026\/08\/iris-network-architecture-2026.png\" alt=\"Direct Iris classifier with four standardized measurements and one categorical softmax output representing three classes\"><figcaption>Fixed base and final architecture: four standardized inputs connected directly to three softmax scores. No hidden-layer or neuron-selection experiment was performed.<\/figcaption><\/figure>\n<\/section>\n<section id=\"4-training\" class=\"nds-card\">\n<h2>4. Training strategy<\/h2>\n<p>The model minimizes multiclass cross-entropy with the quasi-Newton method and no explicit regularization. Optimization stores 44 iterations (epochs 0\u201343) and stops on the minimum-loss-decrease criterion.<\/p>\n<p>Training cross-entropy decreases from 1.0995 to 0.0456. Selection cross-entropy decreases from 0.4546 to its minimum of approximately 0.0390 at epoch 30 and finishes at 0.0439.<\/p>\n<figure class=\"nds-centered-figure\"><img decoding=\"async\" src=\"https:\/\/www.neuraldesigner.com\/wp-content\/uploads\/2026\/08\/iris-training-history-2026.png\" alt=\"Training and selection cross-entropy histories over 44 stored iterations\"><figcaption>The selection curve rises slightly after epoch 30. The downloadable export is the stored final model at epoch 43.<\/figcaption><\/figure>\n<\/section>\n<section id=\"5-selection\" class=\"nds-card\">\n<h2>5. Model selection and baseline<\/h2>\n<p><strong>No neuron selection, input selection or architecture selection was performed.<\/strong> The direct 4\u20133 softmax model is both the base and final architecture. The selection subset monitors training but is not used to compare network sizes.<\/p>\n<div class=\"nds-table-scroll\">\n<table>\n<thead>\n<tr>\n<th>Reference<\/th>\n<th>Testing accuracy<\/th>\n<th>Interpretation<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<th>Largest testing class<\/th>\n<td>36.7%<\/td>\n<td>Always predict the label represented by 11 of 30 testing rows<\/td>\n<\/tr>\n<tr>\n<th>Uniform three-class chance<\/th>\n<td>33.3% expected<\/td>\n<td>Reference for three equally likely labels<\/td>\n<\/tr>\n<tr>\n<th>Fixed softmax model<\/th>\n<td>100%<\/td>\n<td>All 30 records in this internal testing subset classified correctly<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<p>The compact linear decision model is sufficient for this split. Adding neurons would increase complexity without addressing the more important limitations: small sample size, duplicated measurement vectors and lack of external botanical validation.<\/p>\n<\/section>\n<section id=\"6-validation\" class=\"nds-card\">\n<h2>6. Scientific validation<\/h2>\n<p>The held-out subset contains 30 records. The exported final model assigns all 11 setosa, 10 versicolor and 9 virginica rows to their supplied classes. Perfect accuracy on this small, familiar benchmark should be interpreted alongside score margins, provenance and split limitations.<\/p>\n<div class=\"nds-table-scroll\">\n<table class=\"nds-metrics\">\n<thead>\n<tr>\n<th>Testing metric<\/th>\n<th>Value<\/th>\n<th>Interpretation<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<th>Accuracy<\/th>\n<td>100%<\/td>\n<td>30 correct labels from 30 testing records<\/td>\n<\/tr>\n<tr>\n<th>Macro precision<\/th>\n<td>100%<\/td>\n<td>Unweighted mean across the three labels<\/td>\n<\/tr>\n<tr>\n<th>Macro recall<\/th>\n<td>100%<\/td>\n<td>Every testing record in each label recovered<\/td>\n<\/tr>\n<tr>\n<th>Macro-F1<\/th>\n<td>100%<\/td>\n<td>Class-balanced precision\/recall summary<\/td>\n<\/tr>\n<tr>\n<th>Testing cross-entropy<\/th>\n<td>0.0359<\/td>\n<td>Calculated from the exact Python export<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<h3>Confusion matrix<\/h3>\n<div class=\"nds-table-scroll\">\n<table class=\"nds-confusion\">\n<thead>\n<tr>\n<th>Actual \/ predicted<\/th>\n<th>Iris setosa<\/th>\n<th>Iris versicolor<\/th>\n<th>Iris virginica<\/th>\n<th>Total<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<th>Iris setosa<\/th>\n<td>11<\/td>\n<td>0<\/td>\n<td>0<\/td>\n<td>11<\/td>\n<\/tr>\n<tr>\n<th>Iris versicolor<\/th>\n<td>0<\/td>\n<td>10<\/td>\n<td>0<\/td>\n<td>10<\/td>\n<\/tr>\n<tr>\n<th>Iris virginica<\/th>\n<td>0<\/td>\n<td>0<\/td>\n<td>9<\/td>\n<td>9<\/td>\n<\/tr>\n<tr>\n<th>Total<\/th>\n<td>11<\/td>\n<td>10<\/td>\n<td>9<\/td>\n<td>30<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<h3>Lowest-margin correct test case<\/h3>\n<p>A held-out <em>Iris versicolor<\/em> record with measurements 6.3, 2.5, 4.9 and 1.5 cm receives a versicolor score of 61.13% and a virginica score of 38.87%. The correct label alone therefore does not imply that every decision has a wide score margin.<\/p>\n<div class=\"nds-figure-grid\"><\/div>\n<div class=\"nds-note\"><strong>Scientific interpretation.<\/strong> The direct softmax model separates the supplied labels within this historical table. One exact setosa measurement vector occurs in training, selection and testing, so the random split is not completely independent at the feature-vector level. No external specimens, locations, instruments or modern taxonomic review are tested.<\/div>\n<\/section>\n<section id=\"7-inference\" class=\"nds-card\">\n<h2>7. Inference and reproducibility<\/h2>\n<p>A credible morphometric workflow would begin with a traceable specimen, confirm the measurement protocol and units, apply quality checks, calculate the four measurements, validate the input domain, produce the three model scores and route the result to botanical or teaching review.<\/p>\n<div class=\"nds-flow\">\n<div>Traceable specimen<\/div>\n<div>Measurement protocol<\/div>\n<div>Quality and unit checks<\/div>\n<div>Four measurements<\/div>\n<div>Three model scores<\/div>\n<div>Botanical or teaching review<\/div>\n<\/div>\n<h3>Held-out inference example<\/h3>\n<p>The default browser values reproduce record 121 from the published testing subset. Its supplied label is <em>Iris virginica<\/em>.<\/p>\n<div class=\"nds-deployment-grid\">\n<div class=\"nds-table-scroll\">\n<table>\n<thead>\n<tr>\n<th>Input<\/th>\n<th>Value<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<th>Sepal length<\/th>\n<td>6.9 cm<\/td>\n<\/tr>\n<tr>\n<th>Sepal width<\/th>\n<td>3.2 cm<\/td>\n<\/tr>\n<tr>\n<th>Petal length<\/th>\n<td>5.7 cm<\/td>\n<\/tr>\n<tr>\n<th>Petal width<\/th>\n<td>2.3 cm<\/td>\n<\/tr>\n<tr>\n<th>Supplied class<\/th>\n<td>Iris virginica<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<div class=\"nds-result\"><span>Highest model score<\/span><strong>Iris virginica<\/strong><\/p>\n<p>Setosa &lt;0.0001%; versicolor 0.0080%; virginica 99.9920%. The predicted label matches the held-out target.<\/p>\n<\/div>\n<\/div>\n<div id=\"nds-iris-calculator\" class=\"nds-calculator\">\n<h3>Try the exported Iris classifier<\/h3>\n<p>Enter the four flower measurements in centimetres. The default values reproduce a held-out <em>Iris virginica<\/em> record from the published split.<\/p>\n<div class=\"nds-note\"><strong>Research demonstration.<\/strong> The calculation runs locally with the exact exported weights and preprocessing. Values outside the validated domain are rejected. Softmax scores have not been independently calibrated as probabilities, and this component is not a general botanical identification tool.<\/div>\n<form novalidate>\n<div class=\"nds-calculator-grid\"><label for=\"nds-iris-sepal_length\">Sepal length<input id=\"nds-iris-sepal_length\" name=\"sepal_length\" type=\"text\" inputmode=\"decimal\" value=\"6.9\" autocomplete=\"off\"><small>4.3\u20137.9 cm<\/small><\/label><label for=\"nds-iris-sepal_width\">Sepal width<input id=\"nds-iris-sepal_width\" name=\"sepal_width\" type=\"text\" inputmode=\"decimal\" value=\"3.2\" autocomplete=\"off\"><small>2.0\u20134.4 cm<\/small><\/label><label for=\"nds-iris-petal_length\">Petal length<input id=\"nds-iris-petal_length\" name=\"petal_length\" type=\"text\" inputmode=\"decimal\" value=\"5.7\" autocomplete=\"off\"><small>1.0\u20136.9 cm<\/small><\/label><label for=\"nds-iris-petal_width\">Petal width<input id=\"nds-iris-petal_width\" name=\"petal_width\" type=\"text\" inputmode=\"decimal\" value=\"2.3\" autocomplete=\"off\"><small>0.1\u20132.5 cm<\/small><\/label><\/div>\n<div class=\"nds-calculator-actions\"><button type=\"submit\">Calculate class scores<\/button><button type=\"reset\">Reset example<\/button><\/div>\n<p class=\"nds-calculator-error\" role=\"alert\">\n<\/form>\n<div class=\"nds-score-summary\" aria-live=\"polite\"><\/div>\n<div class=\"nds-score-grid\"><\/div>\n<\/div>\n<h3>Reproduce the inference<\/h3>\n<p>The Python package contains the exact export, ordered four-field schema, held-out example and expected scores. The project package preserves the random split, trained parameters and regenerated analyses.<\/p>\n<pre class=\"nds-code\"><code>from model import NeuralNetwork\n\nmeasurements_cm = [6.9, 3.2, 5.7, 2.3]\nscores = NeuralNetwork().calculate_outputs(measurements_cm)<\/code><\/pre>\n<div class=\"nds-downloads\">\n<a href=\"https:\/\/www.neuraldesigner.com\/wp-content\/uploads\/2026\/08\/iris-python-model-2026.zip\">Download Python model (ZIP)<\/a><br \/>\n<a href=\"https:\/\/www.neuraldesigner.com\/wp-content\/uploads\/2026\/08\/iris-neural-designer-project-2026.zip\">Download Neural Designer project (ZIP)<\/a><br \/>\n<a href=\"https:\/\/www.neuraldesigner.com\/wp-content\/uploads\/2026\/08\/irisflowers.csv\">Download irisflowers.csv<\/a>\n<\/div>\n<\/section>\n<section id=\"8-validity\" class=\"nds-card\">\n<h2>8. Validity, uncertainty and limitations<\/h2>\n<ul>\n<li><strong>Small historical sample.<\/strong> The table contains only 150 records and 30 testing cases, so perfect testing accuracy has substantial sampling uncertainty.<\/li>\n<li><strong>Duplicate-vector leakage.<\/strong> The measurement vector 4.9, 3.1, 1.5 and 0.1 cm occurs in the training, selection and testing subsets with the same setosa label.<\/li>\n<li><strong>Known data-version issues.<\/strong> UCI documents corrections to particular rows. This project preserves the historical values it was trained on rather than silently mixing versions.<\/li>\n<li><strong>Restricted measurements.<\/strong> The model uses four morphometric values only; it ignores location, growth conditions, phenology, colour, genetic evidence and other diagnostic traits.<\/li>\n<li><strong>Uncalibrated scores.<\/strong> Softmax values rank the three labels but have not been independently calibrated as probabilities.<\/li>\n<li><strong>No external validation.<\/strong> Transfer to new populations, observers, instruments, taxa or measurement protocols has not been evaluated.<\/li>\n<li><strong>Educational boundary.<\/strong> The model is suitable for teaching and software verification, not authoritative botanical identification.<\/li>\n<\/ul>\n<\/section>\n<section id=\"references\" class=\"nds-card\">\n<h2>References<\/h2>\n<ul>\n<li><a href=\"https:\/\/archive.ics.uci.edu\/dataset\/53\/iris\">UCI Machine Learning Repository: Iris<\/a>. DOI: 10.24432\/C56C76.<\/li>\n<li>Fisher RA. <a href=\"https:\/\/onlinelibrary.wiley.com\/doi\/10.1111\/j.1469-1809.1936.tb02137.x\">The use of multiple measurements in taxonomic problems<\/a>. <em>Annals of Eugenics<\/em>. 1936;7(2):179\u2013188.<\/li>\n<li>Unwin A, Kleinman K. <a href=\"https:\/\/academic.oup.com\/jrssig\/article\/18\/6\/26\/7038520\">Iris Data Set: In Search of the Source of Virginica<\/a>. <em>Significance<\/em>. 2021;18(6):26\u201329.<\/li>\n<\/ul>\n<\/section>\n<\/div>\n<\/div>\n<p><script data-noptimize=\"1\"> (() => { const root = document.getElementById(\"nds-iris-calculator\"); if (!root || root.dataset.ready === \"1\") return; root.dataset.ready = \"1\"; const config = {\"scalers\":[{\"kind\":\"standard\",\"mean\":5.843329906,\"scale\":0.8253009915},{\"kind\":\"standard\",\"mean\":3.053999901,\"scale\":0.4321469963},{\"kind\":\"standard\",\"mean\":3.758670092,\"scale\":1.758530021},{\"kind\":\"standard\",\"mean\":1.19867003,\"scale\":0.7606130242}],\"biases\":[-4.465370655,9.17444706,-4.70938158],\"weights\":[[-5.018670559,6.022879601,-8.267128944,-7.776981831],[3.759640217,-1.749259233,-1.880347729,-0.9731599689],[1.330057144,-4.187458515,10.20075798,8.640805244]],\"classes\":[\"Iris setosa\",\"Iris versicolor\",\"Iris virginica\"],\"fields\":[{\"name\":\"sepal_length\",\"label\":\"Sepal length\",\"kind\":\"number\",\"min\":4.3,\"max\":7.9,\"minLabel\":\"4.3\",\"maxLabel\":\"7.9\"},{\"name\":\"sepal_width\",\"label\":\"Sepal width\",\"kind\":\"number\",\"min\":2.0,\"max\":4.4,\"minLabel\":\"2.0\",\"maxLabel\":\"4.4\"},{\"name\":\"petal_length\",\"label\":\"Petal length\",\"kind\":\"number\",\"min\":1.0,\"max\":6.9,\"minLabel\":\"1.0\",\"maxLabel\":\"6.9\"},{\"name\":\"petal_width\",\"label\":\"Petal width\",\"kind\":\"number\",\"min\":0.1,\"max\":2.5,\"minLabel\":\"0.1\",\"maxLabel\":\"2.5\"}],\"encoder\":\"numeric\",\"predictionNoun\":\"Predicted class\"}; const form = root.querySelector(\"form\"); const error = root.querySelector(\".nds-calculator-error\"); const summary = root.querySelector(\".nds-score-summary\"); const scoreGrid = root.querySelector(\".nds-score-grid\");  const parseDecimal = value => { const normalized = String(value).trim().replace(\",\", \".\"); return normalized === \"\" ? NaN : Number(normalized); }; const softmax = logits => { const maximum = Math.max(...logits); const values = logits.map(value => Math.exp(value - maximum)); const total = values.reduce((sum, value) => sum + value, 0); return values.map(value => value \/ total); }; const modelScores = inputs => { const scaled = inputs.map((value, index) => { const scaler = config.scalers[index]; return scaler.kind === \"standard\" ? (value - scaler.mean) \/ scaler.scale : 2 * value - 1; }); const logits = config.biases.map((bias, row) => bias + config.weights[row].reduce( (sum, weight, column) => sum + weight * scaled[column], 0 ) ); return softmax(logits); }; const readValues = () => { root.querySelectorAll(\".is-invalid\").forEach( element => element.classList.remove(\"is-invalid\") ); const raw = {}; for (const field of config.fields) { const element = form.elements[field.name]; if (field.kind === \"select\") { raw[field.name] = element.value; continue; } const value = parseDecimal(element.value); if (!Number.isFinite(value) || value < field.min || value > field.max) { element.classList.add(\"is-invalid\"); throw new Error( `${field.label} must be between ${field.minLabel} and ${field.maxLabel}.` ); } raw[field.name] = value; } if (config.encoder === \"stars\") { const colors = [\"Blue\",\"Blue-White\",\"Orange\",\"Orange-Red\", \"Pale Yellow-Orange\",\"Red\",\"White\",\"Whitish\",\"Yellow-White\", \"Yellowish\",\"Yellowish-White\"]; const spectra = [\"A\",\"B\",\"F\",\"G\",\"K\",\"M\",\"O\"]; return [raw.temperature, raw.luminosity, raw.relative_radius, raw.absolute_magnitude, ...colors.map(value => Number(raw.color === value)), ...spectra.map(value => Number(raw.spectral_class === value))]; } return config.fields.map(field => raw[field.name]); }; const render = scores => { const winner = scores.indexOf(Math.max(...scores)); summary.innerHTML = `\\x3cspan>Highest model score\\x3c\/span>\\x3cstrong>${ config.predictionNoun}: ${config.classes[winner]}\\x3c\/strong>`; scoreGrid.innerHTML = scores.map((score, index) => ` \\x3cdiv class=\"nds-score ${index === winner ? \"is-winner\" : \"\"}\"> \\x3cdiv class=\"nds-score-head\">\\x3cstrong>${config.classes[index]}\\x3c\/strong> \\x3cspan>${(100 * score).toFixed(score < 0.0001 ? 4 : 2)}%\\x3c\/span>\\x3c\/div> \\x3cdiv class=\"nds-score-track\">\\x3cdiv class=\"nds-score-fill\" style=\"width:${Math.max(0.15, 100 * score)}%\">\\x3c\/div>\\x3c\/div> \\x3c\/div>`).join(\"\"); }; const calculate = () => { try { error.textContent = \"\"; render(modelScores(readValues())); } catch (exception) { error.textContent = exception.message; summary.innerHTML = \"\"; scoreGrid.innerHTML = \"\"; } }; form.addEventListener(\"submit\", event => { event.preventDefault(); calculate(); }); form.addEventListener(\"reset\", () => setTimeout(calculate, 0)); calculate(); })(); <\/script><\/p>\n","protected":false},"author":13,"featured_media":2043,"template":"","categories":[29],"tags":[46],"class_list":["post-3503","learning","type-learning","status-publish","has-post-thumbnail","hentry","category-examples","tag-environment"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.4 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Classify iris flowers using machine learning<\/title>\n<meta name=\"description\" content=\"Use the machine learning platform Neural Designer to build a model that classifies iris flowers from petal and sepal dimensions.\" \/>\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\/examples\/iris-flowers-classification\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Iris flowers classification using machine learning\" \/>\n<meta property=\"og:description\" content=\"In this example, we classify iris flowers from petal and sepal dimensions using machine learning\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.neuraldesigner.com\/learning\/examples\/iris-flowers-classification\/\" \/>\n<meta property=\"og:site_name\" content=\"Neural Designer\" \/>\n<meta property=\"article:modified_time\" content=\"2026-08-07T10:37:27+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.neuraldesigner.com\/wp-content\/uploads\/2023\/06\/iris-flower.webp\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"628\" \/>\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=\"Iris flowers classification using machine learning\" \/>\n<meta name=\"twitter:description\" content=\"In this example, we classify iris flowers from petal and sepal dimensions using machine learning\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/www.neuraldesigner.com\/wp-content\/uploads\/2023\/06\/iris-flower.webp\" \/>\n<meta name=\"twitter:site\" content=\"@NeuralDesigner\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"5 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.neuraldesigner.com\/learning\/examples\/iris-flowers-classification\/\",\"url\":\"https:\/\/www.neuraldesigner.com\/learning\/examples\/iris-flowers-classification\/\",\"name\":\"Classify iris flowers using machine learning\",\"isPartOf\":{\"@id\":\"https:\/\/www.neuraldesigner.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.neuraldesigner.com\/learning\/examples\/iris-flowers-classification\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.neuraldesigner.com\/learning\/examples\/iris-flowers-classification\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.neuraldesigner.com\/wp-content\/uploads\/2023\/06\/iris-flower.webp\",\"datePublished\":\"2023-06-29T14:16:33+00:00\",\"dateModified\":\"2026-08-07T10:37:27+00:00\",\"description\":\"Use the machine learning platform Neural Designer to build a model that classifies iris flowers from petal and sepal dimensions.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.neuraldesigner.com\/learning\/examples\/iris-flowers-classification\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.neuraldesigner.com\/learning\/examples\/iris-flowers-classification\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.neuraldesigner.com\/learning\/examples\/iris-flowers-classification\/#primaryimage\",\"url\":\"https:\/\/www.neuraldesigner.com\/wp-content\/uploads\/2023\/06\/iris-flower.webp\",\"contentUrl\":\"https:\/\/www.neuraldesigner.com\/wp-content\/uploads\/2023\/06\/iris-flower.webp\",\"width\":1200,\"height\":628,\"caption\":\"Iris flower\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.neuraldesigner.com\/learning\/examples\/iris-flowers-classification\/#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\":\"Classify iris flowers using machine learning\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.neuraldesigner.com\/#website\",\"url\":\"https:\/\/www.neuraldesigner.com\/\",\"name\":\"Neural Designer\",\"description\":\"Explanable 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":"Classify iris flowers using machine learning","description":"Use the machine learning platform Neural Designer to build a model that classifies iris flowers from petal and sepal dimensions.","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\/examples\/iris-flowers-classification\/","og_locale":"en_US","og_type":"article","og_title":"Iris flowers classification using machine learning","og_description":"In this example, we classify iris flowers from petal and sepal dimensions using machine learning","og_url":"https:\/\/www.neuraldesigner.com\/learning\/examples\/iris-flowers-classification\/","og_site_name":"Neural Designer","article_modified_time":"2026-08-07T10:37:27+00:00","og_image":[{"width":1200,"height":628,"url":"https:\/\/www.neuraldesigner.com\/wp-content\/uploads\/2023\/06\/iris-flower.webp","type":"image\/webp"}],"twitter_card":"summary_large_image","twitter_title":"Iris flowers classification using machine learning","twitter_description":"In this example, we classify iris flowers from petal and sepal dimensions using machine learning","twitter_image":"https:\/\/www.neuraldesigner.com\/wp-content\/uploads\/2023\/06\/iris-flower.webp","twitter_site":"@NeuralDesigner","twitter_misc":{"Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.neuraldesigner.com\/learning\/examples\/iris-flowers-classification\/","url":"https:\/\/www.neuraldesigner.com\/learning\/examples\/iris-flowers-classification\/","name":"Classify iris flowers using machine learning","isPartOf":{"@id":"https:\/\/www.neuraldesigner.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.neuraldesigner.com\/learning\/examples\/iris-flowers-classification\/#primaryimage"},"image":{"@id":"https:\/\/www.neuraldesigner.com\/learning\/examples\/iris-flowers-classification\/#primaryimage"},"thumbnailUrl":"https:\/\/www.neuraldesigner.com\/wp-content\/uploads\/2023\/06\/iris-flower.webp","datePublished":"2023-06-29T14:16:33+00:00","dateModified":"2026-08-07T10:37:27+00:00","description":"Use the machine learning platform Neural Designer to build a model that classifies iris flowers from petal and sepal dimensions.","breadcrumb":{"@id":"https:\/\/www.neuraldesigner.com\/learning\/examples\/iris-flowers-classification\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.neuraldesigner.com\/learning\/examples\/iris-flowers-classification\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.neuraldesigner.com\/learning\/examples\/iris-flowers-classification\/#primaryimage","url":"https:\/\/www.neuraldesigner.com\/wp-content\/uploads\/2023\/06\/iris-flower.webp","contentUrl":"https:\/\/www.neuraldesigner.com\/wp-content\/uploads\/2023\/06\/iris-flower.webp","width":1200,"height":628,"caption":"Iris flower"},{"@type":"BreadcrumbList","@id":"https:\/\/www.neuraldesigner.com\/learning\/examples\/iris-flowers-classification\/#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":"Classify iris flowers using machine learning"}]},{"@type":"WebSite","@id":"https:\/\/www.neuraldesigner.com\/#website","url":"https:\/\/www.neuraldesigner.com\/","name":"Neural Designer","description":"Explanable 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\/3503","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\/13"}],"version-history":[{"count":3,"href":"https:\/\/www.neuraldesigner.com\/api\/wp\/v2\/learning\/3503\/revisions"}],"predecessor-version":[{"id":23167,"href":"https:\/\/www.neuraldesigner.com\/api\/wp\/v2\/learning\/3503\/revisions\/23167"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.neuraldesigner.com\/api\/wp\/v2\/media\/2043"}],"wp:attachment":[{"href":"https:\/\/www.neuraldesigner.com\/api\/wp\/v2\/media?parent=3503"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.neuraldesigner.com\/api\/wp\/v2\/categories?post=3503"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.neuraldesigner.com\/api\/wp\/v2\/tags?post=3503"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}