{"id":3512,"date":"2023-08-31T11:12:58","date_gmt":"2023-08-31T11:12:58","guid":{"rendered":"https:\/\/neuraldesigner.com\/learning\/palmer-penguins\/"},"modified":"2026-08-07T13:09:06","modified_gmt":"2026-08-07T11:09:06","slug":"palmer-penguins","status":"publish","type":"learning","link":"https:\/\/www.neuraldesigner.com\/learning\/examples\/palmer-penguins\/","title":{"rendered":"Classify Palmer penguins 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:780px;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-grid>br{display:none}\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 Palmer penguin species from field and isotope data<\/h2>\n<p>This reproducible classification study encodes sampling island, clutch completion, morphology, recorded sex and stable-isotope measurements in a direct softmax model. The exported classifier labels 67 of 68 held-out records correctly (98.5%; macro-F1 0.981). The result is strong for this internal random split, but it does not establish transfer to other islands, years or measurement protocols.<\/p>\n<div class=\"nds-kpis\">\n<div class=\"nds-kpi\"><strong>98.5%<\/strong><span>held-out accuracy<\/span><\/div>\n<div class=\"nds-kpi\"><strong>0.981<\/strong><span>testing macro-F1<\/span><\/div>\n<div class=\"nds-kpi\"><strong>68<\/strong><span>held-out penguins<\/span><\/div>\n<div class=\"nds-kpi\"><strong>36<\/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\/penguin_dataset.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 three-species classification benchmark for Adelie, Chinstrap and Gentoo penguins observed in the Palmer Archipelago. The model combines collection context, structural measurements and blood stable-isotope values to assign three class scores. It supports teaching, reproducible method comparison and exploration of multivariate ecological data; it is not a field-identification or population-monitoring system.<\/p>\n<div class=\"nds-value-grid\">\n<div class=\"nds-value\"><strong>Connect morphology and context<\/strong><\/p>\n<p>Combine bill, flipper and body measurements with island, clutch and recorded-sex fields.<\/p>\n<\/div>\n<div class=\"nds-value\"><strong>Reproduce multiclass inference<\/strong><\/p>\n<p>Inspect the exact encoding, trained weights, internal split and executable Python export.<\/p>\n<\/div>\n<div class=\"nds-value\"><strong>Challenge apparent performance<\/strong><\/p>\n<p>Use the single testing error to examine confounding, score interpretation and limits to transfer.<\/p>\n<\/div>\n<\/div>\n<div class=\"nds-audience\">\n<span>Ecological data science<\/span><span>Quantitative biology<\/span><span>Field research teams<\/span><span>Statistics education<\/span>\n<\/div>\n<div class=\"nds-note\"><strong>Scope.<\/strong> Each row describes one adult penguin record collected from three islands during 2007\u20132009. The page evaluates a benchmark classifier within this table; it does not infer population abundance, ecological mechanism or species identity in new geographic settings.<\/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\/penguin_dataset.csv\"><code>penguin_dataset.csv<\/code><\/a> contains 344 records: 152 Adelie, 68 Chinstrap and 124 Gentoo penguins. The source table includes identifiers and egg dates for traceability; the model uses nine variables that expand to eleven numeric features after island encoding.<\/p>\n<div class=\"nds-table-scroll\">\n<table>\n<thead>\n<tr>\n<th>CSV field<\/th>\n<th>Model role<\/th>\n<th>Definition<\/th>\n<th>Unit or coding<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<th><code>island<\/code><\/th>\n<td>Input \u2192 3 features<\/td>\n<td>Sampling island<\/td>\n<td>Biscoe, Dream or Torgersen<\/td>\n<\/tr>\n<tr>\n<th><code>clutch_completion<\/code><\/th>\n<td>Input<\/td>\n<td>Recorded clutch-completion field<\/td>\n<td>No \/ Yes<\/td>\n<\/tr>\n<tr>\n<th><code>culmen_length_mm<\/code><\/th>\n<td>Input<\/td>\n<td>Length of the dorsal ridge of the bill<\/td>\n<td>mm<\/td>\n<\/tr>\n<tr>\n<th><code>culmen_depth_mm<\/code><\/th>\n<td>Input<\/td>\n<td>Depth of the bill<\/td>\n<td>mm<\/td>\n<\/tr>\n<tr>\n<th><code>flipper_length_mm<\/code><\/th>\n<td>Input<\/td>\n<td>Flipper length<\/td>\n<td>mm<\/td>\n<\/tr>\n<tr>\n<th><code>body_mass_g<\/code><\/th>\n<td>Input<\/td>\n<td>Body mass<\/td>\n<td>g<\/td>\n<\/tr>\n<tr>\n<th><code>sex<\/code><\/th>\n<td>Input<\/td>\n<td>Recorded sex<\/td>\n<td>FEMALE \/ MALE<\/td>\n<\/tr>\n<tr>\n<th><code>delta_15_N<\/code><\/th>\n<td>Input<\/td>\n<td>Blood nitrogen stable-isotope value<\/td>\n<td>\u2030<\/td>\n<\/tr>\n<tr>\n<th><code>delta_13_C<\/code><\/th>\n<td>Input<\/td>\n<td>Blood carbon stable-isotope value<\/td>\n<td>\u2030<\/td>\n<\/tr>\n<tr>\n<th><code>species<\/code><\/th>\n<td>Target<\/td>\n<td>Supplied species label<\/td>\n<td>Adelie, Chinstrap or Gentoo<\/td>\n<\/tr>\n<tr>\n<th><code>individual_id<\/code>, <code>date_egg<\/code><\/th>\n<td>Not modelled<\/td>\n<td>Source traceability fields<\/td>\n<td>Identifier and date<\/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>Adelie<\/th>\n<th>Chinstrap<\/th>\n<th>Gentoo<\/th>\n<th>Purpose<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<th>Training<\/th>\n<td>208<\/td>\n<td>88<\/td>\n<td>42<\/td>\n<td>78<\/td>\n<td>Estimate model parameters<\/td>\n<\/tr>\n<tr>\n<th>Selection<\/th>\n<td>68<\/td>\n<td>30<\/td>\n<td>15<\/td>\n<td>23<\/td>\n<td>Monitor optimization<\/td>\n<\/tr>\n<tr>\n<th>Testing<\/th>\n<td>68<\/td>\n<td>34<\/td>\n<td>11<\/td>\n<td>23<\/td>\n<td>Report final internal performance<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<p>The project records 46 missing fields across 20 rows: two missing values in each structural measurement, 11 in recorded sex, 14 in \u03b415N and 13 in \u03b413C. Neural Designer replaces missing coded or numeric inputs with the corresponding project mean before scaling.<\/p>\n<div class=\"nds-figure-grid\">\n<figure><img decoding=\"async\" src=\"https:\/\/www.neuraldesigner.com\/wp-content\/uploads\/2026\/08\/palmer-penguins-species-distribution-2026.png\" alt=\"Distribution of Adelie, Chinstrap and Gentoo records\"><figcaption>The complete table is moderately imbalanced: Adelie 44.2%, Gentoo 36.0% and Chinstrap 19.8%.<\/figcaption><\/figure>\n<figure><img decoding=\"async\" src=\"https:\/\/www.neuraldesigner.com\/wp-content\/uploads\/2026\/08\/palmer-penguins-input-correlations-2026.png\" alt=\"Associations between penguin inputs and an encoded species target\"><figcaption>Species is nominal. Pearson coefficients depend on the numerical class encoding and are descriptive associations, not causal or permutation-based importance.<\/figcaption><\/figure>\n<\/div>\n<div class=\"nds-note nds-note--provenance\"><strong>Provenance.<\/strong> The records were collected by Kristen Gorman with the Palmer Station Long Term Ecological Research programme and cover three <em>Pygoscelis<\/em> species observed on three Palmer Archipelago islands from 2007 to 2009. The <a href=\"https:\/\/allisonhorst.github.io\/palmerpenguins\/\">palmerpenguins project<\/a> documents the data, EDI source packages, CC0 licence and recommended citation. The downloadable copy preserves the local source values and semicolon format; it only removes trailing spaces from the three target labels.<\/div>\n<\/section>\n<section id=\"3-model\" class=\"nds-card\">\n<h2>3. Model<\/h2>\n<p>Island is one-hot encoded as Biscoe, Dream and Torgersen. Clutch completion and recorded sex use binary coding; the six continuous inputs use mean-and-standard-deviation scaling. These transformations produce eleven numeric model features.<\/p>\n<p>A single dense softmax layer connects the eleven scaled features directly to three outputs ordered as Adelie, Chinstrap and Gentoo. The architecture has no hidden layer and contains 36 trainable parameters: 33 weights and three biases.<\/p>\n<div class=\"nds-note\"><strong>Output contract.<\/strong> The largest softmax score defines the model label. The scores have not been independently calibrated as probabilities and must not be interpreted as biological confirmation.<\/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\/palmer-penguins-network-architecture-2026.png\" alt=\"Direct Palmer penguin classifier with eleven encoded features connected to three species outputs\"><figcaption>Fixed base and final architecture: eleven scaled or encoded features 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. The stored run contains 14 epoch values (0\u201313) and stops when the training loss reaches the configured 0.001 goal.<\/p>\n<p>Training cross-entropy decreases from 1.1359 to 0.000714, while selection cross-entropy decreases from 0.3206 to 0.0215. The larger selection error is the more relevant indication of performance on unseen rows.<\/p>\n<figure class=\"nds-centered-figure\"><img decoding=\"async\" src=\"https:\/\/www.neuraldesigner.com\/wp-content\/uploads\/2026\/08\/palmer-penguins-training-history-2026.png\" alt=\"Training and selection cross-entropy histories across fourteen stored epoch values\"><figcaption>Training and selection cross-entropy for the fixed direct softmax model. The final exported parameters are the same ones used below.<\/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 11\u20133 softmax model is both the base and final architecture. The selection subset monitors optimization; it is not evidence that this architecture is optimal.<\/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>50.0%<\/td>\n<td>Always predict Adelie, represented by 34 of 68 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>98.5%<\/td>\n<td>67 correct labels from the 68-row internal testing subset<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<p>The compact model already separates this random split well. More layers would not resolve the central scientific limitations: island\u2013species association, mean imputation and absence of validation by year, island or external campaign.<\/p>\n<\/section>\n<section id=\"6-validation\" class=\"nds-card\">\n<h2>6. Scientific validation<\/h2>\n<p>The final exported model is evaluated once on 68 held-out records. It correctly classifies every Chinstrap and Gentoo record and 33 of 34 Adelie records. The single error is an Adelie penguin assigned to Chinstrap.<\/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>98.5%<\/td>\n<td>67 correct labels from 68 records<\/td>\n<\/tr>\n<tr>\n<th>95% Wilson interval for accuracy<\/th>\n<td>92.1\u201399.7%<\/td>\n<td>Sampling uncertainty for this finite testing subset<\/td>\n<\/tr>\n<tr>\n<th>Macro precision<\/th>\n<td>97.2%<\/td>\n<td>Unweighted mean across the three species<\/td>\n<\/tr>\n<tr>\n<th>Macro recall<\/th>\n<td>99.0%<\/td>\n<td>Unweighted sensitivity across the three species<\/td>\n<\/tr>\n<tr>\n<th>Macro-F1<\/th>\n<td>98.1%<\/td>\n<td>Class-balanced precision\/recall summary<\/td>\n<\/tr>\n<tr>\n<th>Testing cross-entropy<\/th>\n<td>0.0492<\/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>Adelie<\/th>\n<th>Chinstrap<\/th>\n<th>Gentoo<\/th>\n<th>Total<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<th>Adelie<\/th>\n<td>33<\/td>\n<td>1<\/td>\n<td>0<\/td>\n<td>34<\/td>\n<\/tr>\n<tr>\n<th>Chinstrap<\/th>\n<td>0<\/td>\n<td>11<\/td>\n<td>0<\/td>\n<td>11<\/td>\n<\/tr>\n<tr>\n<th>Gentoo<\/th>\n<td>0<\/td>\n<td>0<\/td>\n<td>23<\/td>\n<td>23<\/td>\n<\/tr>\n<tr>\n<th>Total<\/th>\n<td>33<\/td>\n<td>12<\/td>\n<td>23<\/td>\n<td>68<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<h3>The informative error<\/h3>\n<p>Testing record N27A2 is labelled Adelie but receives an Adelie score of 3.62% and a Chinstrap score of 96.38%. It was observed on Dream Island and has measurements that resemble the Chinstrap region of this table. The browser demonstration below reproduces this exact error.<\/p>\n<div class=\"nds-figure-grid\"><\/div>\n<div class=\"nds-note\"><strong>Scientific interpretation.<\/strong> The model discriminates the supplied labels very well within a random row split. However, Chinstrap records occur only on Dream and Gentoo records only on Biscoe in this table, so island can act as a strong shortcut. The result does not test performance after moving to another island, year or sampling campaign.<\/div>\n<\/section>\n<section id=\"7-inference\" class=\"nds-card\">\n<h2>7. Inference and reproducibility<\/h2>\n<p>A defensible research workflow starts with a traceable specimen record, verifies the measurement and isotope protocols, checks missingness and units, applies the documented encoding, calculates the three model scores and sends the output to ecological or statistical review.<\/p>\n<div class=\"nds-flow\">\n<div>Traceable penguin record<\/div>\n<div>Measurement and assay QC<\/div>\n<div>Missingness and range checks<\/div>\n<div>Documented encoding<\/div>\n<div>Three species scores<\/div>\n<div>Ecological review<\/div>\n<\/div>\n<h3>Held-out error as a deployment case<\/h3>\n<p>The default browser values reproduce testing record N27A2. Its supplied label is Adelie; the final model assigns its highest score to Chinstrap. Using a known error makes the operational boundary clearer than demonstrating only an easy, high-confidence match.<\/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>Island \/ clutch<\/th>\n<td>Dream \/ Yes<\/td>\n<\/tr>\n<tr>\n<th>Bill length \/ depth<\/th>\n<td>44.1 \/ 19.7 mm<\/td>\n<\/tr>\n<tr>\n<th>Flipper length \/ body mass<\/th>\n<td>196 mm \/ 4400 g<\/td>\n<\/tr>\n<tr>\n<th>Recorded sex<\/th>\n<td>MALE<\/td>\n<\/tr>\n<tr>\n<th>\u03b415N \/ \u03b413C<\/th>\n<td>9.2372 \/ \u221224.52698 \u2030<\/td>\n<\/tr>\n<tr>\n<th>Supplied species<\/th>\n<td>Adelie<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<div class=\"nds-result\"><span>Highest model score<\/span><strong>Chinstrap<\/strong><\/p>\n<p>Adelie 3.62%; Chinstrap 96.38%; Gentoo &lt;0.0001%. The high score is incorrect for this held-out record.<\/p>\n<\/div>\n<\/div>\n<div id=\"nds-penguins-calculator\" class=\"nds-calculator\">\n<h3>Try the exported Palmer penguin classifier<\/h3>\n<p>The default values reproduce the only misclassified record in the published testing subset: an observed Adelie penguin that the model assigns its highest score to Chinstrap.<\/p>\n<div class=\"nds-note\"><strong>Research demonstration.<\/strong> The calculation runs locally with the exact exported weights and preprocessing. It requires complete inputs and rejects values outside the validated domain defined by the training ranges. The softmax scores are not independently calibrated probabilities and do not confirm species identity.<\/div>\n<form novalidate>\n<div class=\"nds-calculator-grid\">\n<label for=\"nds-penguins-island\">Island<br \/>\n<select id=\"nds-penguins-island\" name=\"island\"><option>Biscoe<\/option><option selected>Dream<\/option><option>Torgersen<\/option><\/select><small>Recorded sampling island<\/small><\/label><br \/>\n<label for=\"nds-penguins-clutch_completion\">Clutch completion<br \/>\n<select id=\"nds-penguins-clutch_completion\" name=\"clutch_completion\"><option>No<\/option><option selected>Yes<\/option><\/select><small>Recorded binary field<\/small><\/label><br \/>\n<label for=\"nds-penguins-culmen_length_mm\">Bill (culmen) length<input id=\"nds-penguins-culmen_length_mm\" name=\"culmen_length_mm\" type=\"text\" inputmode=\"decimal\" value=\"44.1\" autocomplete=\"off\"><small>32.1\u201359.6 mm<\/small><\/label><br \/>\n<label for=\"nds-penguins-culmen_depth_mm\">Bill (culmen) depth<input id=\"nds-penguins-culmen_depth_mm\" name=\"culmen_depth_mm\" type=\"text\" inputmode=\"decimal\" value=\"19.7\" autocomplete=\"off\"><small>13.1\u201321.5 mm<\/small><\/label><br \/>\n<label for=\"nds-penguins-flipper_length_mm\">Flipper length<input id=\"nds-penguins-flipper_length_mm\" name=\"flipper_length_mm\" type=\"text\" inputmode=\"decimal\" value=\"196\" autocomplete=\"off\"><small>172\u2013231 mm<\/small><\/label><br \/>\n<label for=\"nds-penguins-body_mass_g\">Body mass<input id=\"nds-penguins-body_mass_g\" name=\"body_mass_g\" type=\"text\" inputmode=\"decimal\" value=\"4400\" autocomplete=\"off\"><small>2700\u20136300 g<\/small><\/label><br \/>\n<label for=\"nds-penguins-sex\">Recorded sex<br \/>\n<select id=\"nds-penguins-sex\" name=\"sex\"><option>FEMALE<\/option><option selected>MALE<\/option><\/select><small>Dataset coding<\/small><\/label><br \/>\n<label for=\"nds-penguins-delta_15_N\">\u03b415N<input id=\"nds-penguins-delta_15_N\" name=\"delta_15_N\" type=\"text\" inputmode=\"decimal\" value=\"9.2372\" autocomplete=\"off\"><small>7.6322\u201310.02544 \u2030<\/small><\/label><br \/>\n<label for=\"nds-penguins-delta_13_C\">\u03b413C<input id=\"nds-penguins-delta_13_C\" name=\"delta_13_C\" type=\"text\" inputmode=\"decimal\" value=\"-24.527\" autocomplete=\"off\"><small>-27.01854\u2013-23.78767 \u2030<\/small><\/label>\n<\/div>\n<div class=\"nds-calculator-actions\"><button type=\"submit\">Calculate species 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 eleven-feature schema, held-out error and expected scores. The Neural Designer package preserves the split, trained parameters and regenerated analyses.<\/p>\n<pre class=\"nds-code\"><code>from model import NeuralNetwork\n\ninputs = [0, 1, 0, 1, 44.1, 19.7, 196, 4400, 1, 9.2372, -24.52698]\nscores = NeuralNetwork().calculate_outputs(inputs)<\/code><\/pre>\n<div class=\"nds-downloads\">\n<a href=\"https:\/\/www.neuraldesigner.com\/wp-content\/uploads\/2026\/08\/palmer-penguins-python-model-2026.zip\">Download Python model (ZIP)<\/a><br \/>\n<a href=\"https:\/\/www.neuraldesigner.com\/wp-content\/uploads\/2026\/08\/palmer-penguins-neural-designer-2026.zip\">Download Neural Designer project (ZIP)<\/a><br \/>\n<a href=\"https:\/\/www.neuraldesigner.com\/wp-content\/uploads\/2026\/08\/penguin_dataset.csv\">Download penguin_dataset.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>Internal random split only.<\/strong> The 208\/68\/68 partition does not test transfer across field season, island, instrument, laboratory or a later population.<\/li>\n<li><strong>Geographic shortcut risk.<\/strong> In this table, all Chinstrap records are from Dream and all Gentoo records are from Biscoe. Island can therefore support classification without representing portable morphology.<\/li>\n<li><strong>Missing-data assumptions.<\/strong> The project mean-imputes 46 missing fields across 20 rows. This can reduce variation and does not replace a missingness analysis.<\/li>\n<li><strong>Laboratory inputs.<\/strong> \u03b415N and \u03b413C require stable-isotope measurements. Changes in sample handling, assay calibration or laboratory can shift the model inputs.<\/li>\n<li><strong>Small class-specific testing counts.<\/strong> Testing includes only 11 Chinstrap and 23 Gentoo records, so error estimates remain uncertain despite high aggregate accuracy.<\/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>Association, not mechanism.<\/strong> The model captures multivariate patterns in the sampled records; it does not establish causal ecological relationships.<\/li>\n<li><strong>Research boundary.<\/strong> The classifier is suitable for education and reproducible method work, not authoritative field identification, conservation decisions or population assessment.<\/li>\n<\/ul>\n<\/section>\n<section id=\"references\" class=\"nds-card\">\n<h2>References<\/h2>\n<ul>\n<li>Horst AM, Hill AP, Gorman KB. <a href=\"https:\/\/allisonhorst.github.io\/palmerpenguins\/\">palmerpenguins: Palmer Archipelago (Antarctica) penguin data<\/a>. DOI: 10.5281\/zenodo.3960218.<\/li>\n<li>Gorman KB, Williams TD, Fraser WR. <a href=\"https:\/\/doi.org\/10.1371\/journal.pone.0090081\">Ecological sexual dimorphism and environmental variability within a community of Antarctic penguins<\/a>. <em>PLoS ONE<\/em>. 2014;9(3):e90081.<\/li>\n<li>Horst AM, Hill AP, Gorman KB. <a href=\"https:\/\/doi.org\/10.32614\/RJ-2022-020\">Palmer Archipelago Penguins Data in the palmerpenguins R Package<\/a>. <em>The R Journal<\/em>. 2022;14(1):244\u2013254.<\/li>\n<li><a href=\"https:\/\/allisonhorst.github.io\/palmerpenguins\/articles\/intro.html\">Environmental Data Initiative package links and data documentation<\/a> for Adelie, Chinstrap and Gentoo records.<\/li>\n<\/ul>\n<\/section>\n<\/div>\n<\/div>\n<p><script data-noptimize=\"1\"> (() => { const root = document.getElementById(\"nds-penguins-calculator\"); if (!root || root.dataset.ready === \"1\") return; root.dataset.ready = \"1\"; const config = {\"scalers\":[{\"kind\":\"binary_minmax\"},{\"kind\":\"binary_minmax\"},{\"kind\":\"binary_minmax\"},{\"kind\":\"binary_minmax\"},{\"kind\":\"standard\",\"mean\":43.92200089,\"scale\":5.435719967},{\"kind\":\"standard\",\"mean\":17.15119934,\"scale\":1.966160059},{\"kind\":\"standard\",\"mean\":200.9149933,\"scale\":14.00030041},{\"kind\":\"standard\",\"mean\":4201.75,\"scale\":798.4500122},{\"kind\":\"binary_minmax\"},{\"kind\":\"standard\",\"mean\":8.733389854,\"scale\":0.5396059752},{\"kind\":\"standard\",\"mean\":-25.68630028,\"scale\":0.7776370049}],\"biases\":[2.303626299,-1.31116128,-0.9924631119],\"weights\":[[-0.8818645477,-2.024529696,0.8153914809,1.412779212,-5.898292542,3.511598349,-3.159320593,-1.630039811,1.754537582,-0.004782036878,-3.158895493],[-0.7145613432,2.614385605,-0.7919630408,-0.6464337707,4.270493984,-0.5141410828,0.7950196266,-0.297947228,-1.046898127,1.603641033,3.629910946],[1.667622089,-0.5036822557,0.02992535196,-0.8757606149,1.530551553,-2.70808816,2.482343674,2.16349411,-0.6971592903,-1.519777775,-0.6573277116]],\"classes\":[\"Adelie\",\"Chinstrap\",\"Gentoo\"],\"fields\":[{\"name\":\"island\",\"label\":\"Island\",\"kind\":\"select\"},{\"name\":\"clutch_completion\",\"label\":\"Clutch completion\",\"kind\":\"select\"},{\"name\":\"culmen_length_mm\",\"label\":\"Bill (culmen) length\",\"kind\":\"number\",\"min\":32.1,\"max\":59.6,\"minLabel\":\"32.1\",\"maxLabel\":\"59.6\"},{\"name\":\"culmen_depth_mm\",\"label\":\"Bill (culmen) depth\",\"kind\":\"number\",\"min\":13.1,\"max\":21.5,\"minLabel\":\"13.1\",\"maxLabel\":\"21.5\"},{\"name\":\"flipper_length_mm\",\"label\":\"Flipper length\",\"kind\":\"number\",\"min\":172,\"max\":231,\"minLabel\":\"172\",\"maxLabel\":\"231\"},{\"name\":\"body_mass_g\",\"label\":\"Body mass\",\"kind\":\"number\",\"min\":2700,\"max\":6300,\"minLabel\":\"2700\",\"maxLabel\":\"6300\"},{\"name\":\"sex\",\"label\":\"Recorded sex\",\"kind\":\"select\"},{\"name\":\"delta_15_N\",\"label\":\"\u03b415N\",\"kind\":\"number\",\"min\":7.6322,\"max\":10.02544,\"minLabel\":\"7.6322\",\"maxLabel\":\"10.02544\"},{\"name\":\"delta_13_C\",\"label\":\"\u03b413C\",\"kind\":\"number\",\"min\":-27.01854,\"max\":-23.78767,\"minLabel\":\"-27.01854\",\"maxLabel\":\"-23.78767\"}],\"encoder\":\"penguins\",\"predictionNoun\":\"Predicted species\"}; 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))]; } if (config.encoder === \"penguins\") { return [ Number(raw.island === \"Biscoe\"), Number(raw.island === \"Dream\"), Number(raw.island === \"Torgersen\"), Number(raw.clutch_completion === \"Yes\"), raw.culmen_length_mm, raw.culmen_depth_mm, raw.flipper_length_mm, raw.body_mass_g, Number(raw.sex === \"MALE\"), raw.delta_15_N, raw.delta_13_C ]; } 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":19,"featured_media":1742,"template":"","categories":[29],"tags":[46],"class_list":["post-3512","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 Palmer penguins using machine learning<\/title>\n<meta name=\"description\" content=\"Build a machine learning model to classify measurements of adult penguins foraging near Palmer Station, Antarctica.\" \/>\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\/palmer-penguins\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Palmer station penguins classification machine learning example\" \/>\n<meta property=\"og:description\" content=\"This example aims to classify palmer penguins based on their data.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.neuraldesigner.com\/learning\/examples\/palmer-penguins\/\" \/>\n<meta property=\"og:site_name\" content=\"Neural Designer\" \/>\n<meta property=\"article:modified_time\" content=\"2026-08-07T11:09:06+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.neuraldesigner.com\/wp-content\/uploads\/2023\/06\/penguin.webp\" \/>\n\t<meta property=\"og:image:width\" content=\"1800\" \/>\n\t<meta property=\"og:image:height\" content=\"1074\" \/>\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=\"Palmer station penguins classification machine learning example\" \/>\n<meta name=\"twitter:description\" content=\"This example aims to classify palmer penguins based on their data.\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/www.neuraldesigner.com\/wp-content\/uploads\/2023\/06\/penguin.webp\" \/>\n<meta name=\"twitter:site\" content=\"@NeuralDesigner\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"7 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\/palmer-penguins\/\",\"url\":\"https:\/\/www.neuraldesigner.com\/learning\/examples\/palmer-penguins\/\",\"name\":\"Classify Palmer penguins using machine learning\",\"isPartOf\":{\"@id\":\"https:\/\/www.neuraldesigner.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.neuraldesigner.com\/learning\/examples\/palmer-penguins\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.neuraldesigner.com\/learning\/examples\/palmer-penguins\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.neuraldesigner.com\/wp-content\/uploads\/2023\/06\/penguin.webp\",\"datePublished\":\"2023-08-31T11:12:58+00:00\",\"dateModified\":\"2026-08-07T11:09:06+00:00\",\"description\":\"Build a machine learning model to classify measurements of adult penguins foraging near Palmer Station, Antarctica.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.neuraldesigner.com\/learning\/examples\/palmer-penguins\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.neuraldesigner.com\/learning\/examples\/palmer-penguins\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.neuraldesigner.com\/learning\/examples\/palmer-penguins\/#primaryimage\",\"url\":\"https:\/\/www.neuraldesigner.com\/wp-content\/uploads\/2023\/06\/penguin.webp\",\"contentUrl\":\"https:\/\/www.neuraldesigner.com\/wp-content\/uploads\/2023\/06\/penguin.webp\",\"width\":1800,\"height\":1074,\"caption\":\"Penguin\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.neuraldesigner.com\/learning\/examples\/palmer-penguins\/#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 Palmer penguins using machine learning\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.neuraldesigner.com\/#website\",\"url\":\"https:\/\/www.neuraldesigner.com\/\",\"name\":\"Neural Designer\",\"description\":\"Explainable 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 Palmer penguins using machine learning","description":"Build a machine learning model to classify measurements of adult penguins foraging near Palmer Station, Antarctica.","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\/palmer-penguins\/","og_locale":"en_US","og_type":"article","og_title":"Palmer station penguins classification machine learning example","og_description":"This example aims to classify palmer penguins based on their data.","og_url":"https:\/\/www.neuraldesigner.com\/learning\/examples\/palmer-penguins\/","og_site_name":"Neural Designer","article_modified_time":"2026-08-07T11:09:06+00:00","og_image":[{"width":1800,"height":1074,"url":"https:\/\/www.neuraldesigner.com\/wp-content\/uploads\/2023\/06\/penguin.webp","type":"image\/webp"}],"twitter_card":"summary_large_image","twitter_title":"Palmer station penguins classification machine learning example","twitter_description":"This example aims to classify palmer penguins based on their data.","twitter_image":"https:\/\/www.neuraldesigner.com\/wp-content\/uploads\/2023\/06\/penguin.webp","twitter_site":"@NeuralDesigner","twitter_misc":{"Est. reading time":"7 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.neuraldesigner.com\/learning\/examples\/palmer-penguins\/","url":"https:\/\/www.neuraldesigner.com\/learning\/examples\/palmer-penguins\/","name":"Classify Palmer penguins using machine learning","isPartOf":{"@id":"https:\/\/www.neuraldesigner.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.neuraldesigner.com\/learning\/examples\/palmer-penguins\/#primaryimage"},"image":{"@id":"https:\/\/www.neuraldesigner.com\/learning\/examples\/palmer-penguins\/#primaryimage"},"thumbnailUrl":"https:\/\/www.neuraldesigner.com\/wp-content\/uploads\/2023\/06\/penguin.webp","datePublished":"2023-08-31T11:12:58+00:00","dateModified":"2026-08-07T11:09:06+00:00","description":"Build a machine learning model to classify measurements of adult penguins foraging near Palmer Station, Antarctica.","breadcrumb":{"@id":"https:\/\/www.neuraldesigner.com\/learning\/examples\/palmer-penguins\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.neuraldesigner.com\/learning\/examples\/palmer-penguins\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.neuraldesigner.com\/learning\/examples\/palmer-penguins\/#primaryimage","url":"https:\/\/www.neuraldesigner.com\/wp-content\/uploads\/2023\/06\/penguin.webp","contentUrl":"https:\/\/www.neuraldesigner.com\/wp-content\/uploads\/2023\/06\/penguin.webp","width":1800,"height":1074,"caption":"Penguin"},{"@type":"BreadcrumbList","@id":"https:\/\/www.neuraldesigner.com\/learning\/examples\/palmer-penguins\/#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 Palmer penguins using machine learning"}]},{"@type":"WebSite","@id":"https:\/\/www.neuraldesigner.com\/#website","url":"https:\/\/www.neuraldesigner.com\/","name":"Neural Designer","description":"Explainable 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\/3512","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\/19"}],"version-history":[{"count":4,"href":"https:\/\/www.neuraldesigner.com\/api\/wp\/v2\/learning\/3512\/revisions"}],"predecessor-version":[{"id":23176,"href":"https:\/\/www.neuraldesigner.com\/api\/wp\/v2\/learning\/3512\/revisions\/23176"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.neuraldesigner.com\/api\/wp\/v2\/media\/1742"}],"wp:attachment":[{"href":"https:\/\/www.neuraldesigner.com\/api\/wp\/v2\/media?parent=3512"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.neuraldesigner.com\/api\/wp\/v2\/categories?post=3512"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.neuraldesigner.com\/api\/wp\/v2\/tags?post=3512"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}