Analysis report

Titanic Survival (refined)

Target
Survived
Analyzed
2026-10-28 19:31 UTC

Summary

The model predicts Survived, classifying 76% of the cases correctly. Its strongest input is Pclass, which carries 45% of its total reliance. Compared with a logistic regression on the numeric inputs, which classifies 63% of each class correctly (balanced accuracy), this model comes out ahead by 12 points of balanced accuracy. In rows where the two disagree, it is the closer predictor 69% of the time.

The model did not perform as accurately where Age is in the third quarter (28 to 37), classifying 56% of those rows correctly. Its formula is moderately complex and built from specialist functions, which means it is not straightforward to read. The analysis found 19% exact duplicate rows, so the check may be affected by split contamination, and the target Survived is reported as severely miscalibrated. The next step is to validate these findings on a fresh sample before relying on the model for decisions.

Formula

Survived = -0.33 × Age × [Sex = "male"] ≥ Pclass × (3.5 + Parents and children aboard) − 14Survived=−0.33×Age×Sex⩵male≥Pclass×3.5+Parents and children aboard−14
Survived = -0.33 × Age × [Sex = "male"] ≥ Pclass × (3.5 + Parents and children aboard) − 14
1 term · single non-separable expression

Held-out diagnostics

TargetQualityErrorAccuracyBalanced accuracy0/1 lossSearch rowsGeneralizationRows
Survived41.77%54.84%0.76060.74940.2394570generalizing142
  • Survived · Quality 95% CI 20.8% – 57.86%
  • Survived · Error 95% CI 39.68% – 74.59%
  • Survived · Accuracy 95% CI 0.6901 – 0.8239
  • Survived · Balanced accuracy 95% CI 0.6786 – 0.8169
  • Survived · 0/1 loss 95% CI 0.1761 – 0.3099

Concerns

CRITICAL data

Data has 19% exact duplicate rows: the held-out split is likely contaminated

167 of 891 rows (19%) are exact duplicates of at least one other row (largest duplicate group: 13 identical rows). At this density some duplicate pairs very likely straddle the held-out split, in which case the held-out R² or accuracy overstates how the model does on rows it has not seen. Deduplicate before deploying: drop the duplicates outright, or, where they encode intentional row weights, aggregate them into one weighted row. An analysis of the deduplicated data reads the headline metric without the inflation.

CRITICAL model

Yes-or-no (binary) target `Survived` is severely miscalibrated: ECE 0.239

The held-out reliability check on Survived has an Expected Calibration Error of 0.239 (Brier score 0.239) across 142 rows, so the predicted probabilities don't match the observed positive rate. Discrimination (AUC / accuracy) can still be fine, but the probabilities themselves are not trustworthy: don't use them as risk scores or decision thresholds as-is. Apply a post-hoc calibration (Platt scaling or isotonic regression) on a held-out split before deploying the scores, or consume the hard labels instead of the probabilities.

INFO model

Target `Survived` is categorical

The target is a category or a yes-or-no target (classification), so regression figures such as R² do not describe it. The Classification Performance chapter shows how often the model is right; for a two-class target, Classification Curves shows how well it ranks rows and Calibration whether its scores read as probabilities.

INFO data

Without `Age`, 177 more rows are complete

A model is computed only on rows with a value in every input. 712 of 891 rows qualify. Age is missing in 20% of the rows and is the only gap in 177 rows: without it 889 rows qualify (25% more). Whether the column is worth the rows it costs is a choice; a run without it shows what the model does with the larger table.

Analysis

The report opens with the Headline and the Concerns, followed by the Discovered Relations when the analysis has targets and by Questions & Answers when questions were asked. Three sections carry the detail: Model presents one model per target, Implications states where the models hold and what to weigh before relying on them, and Data describes the table as supplied, column by column, for reference.

Generated 2026-10-28 19:31 UTC, analysis 1e2ac880-cbdc-11f1-92d0-b5d20a2b110a, 1 target, time budget 24 h 0 min, compute budget 100,000 credits, 891 rows. The Provenance & Audit chapter holds the full record.

Validity

Validity: valid. Nothing in the data or the formula speaks against relying on this result.

How to read this

Whether this result is one to rely on. Quality says how closely the formula follows the data; validity says whether that closeness means anything. A formula that only restates its target, or that reads a column which already holds the answer, can reach a high quality and still say nothing new about the data.

What it found

The formula's value for Survived falls with Age up to about 13.7 and then levels off, and also changes with Pclass, Sex and Parents and children aboard.

  1. Pclass and Sex carry the model of Survived. Pclass accounts for 45% of what the formula explains and Sex for 40%. Parents and children aboard adds 15%. Age is in the formula too, with no measurable share.
  2. Fare and Pclass move oppositely (correlation -0.549).
  3. The formula is ahead of a logistic regression. The formula classifies 75% correctly (balanced accuracy); a logistic regression 63%. It avoids 45% of the errors of always guessing the most frequent class. That was measured on 142 rows it never saw.

Summary

What to do next: Predicted probabilities do not match the observed rates, expected calibration error 24%.

6 chapters, each headed by what it found.

S.1 Pclass and Sex carry 85% of the formula

What the formula relies on. Shares of the formula: Pclass 45%, Sex 40%, Parents and children aboard 15%.

Measured on 57 of the 570 rows the model was found on, which the search set apart for it.

Table 5.1.3
InputShare of importancePermutation importanceSensitivityResidual correlationOccurrences
Pclass45%0.81821
Sex40%0.72731
Parents and children aboard15%0.27271
Age0.00001
N rows
57

The formula is not additively decomposable: the prediction comes from a single non-separable expression. The curve below shows the whole-formula response.

Additive
No
Terms in the formula
1
Notation
-0.33 × Age × [Sex = "male"] ≥ Pclass × (3.5 + Parents and children aboard) − 14
Target
Survived

S.2 It holds on new rows: balanced accuracy 75% held out, 79% on the training rows

How well it holds. The formula classifies 75% correctly (balanced accuracy); a logistic regression 63%. It avoids 45% of the errors of always guessing the most frequent class.

How this was checked

  • Measured on 142 rows the formula never saw (20% of 712); the other 570 built it.
  • Compared on the same rows against always predicting the most common class and a logistic regression.
  • Intervals from 1,000 bootstrap resamples of those rows.

Balanced accuracy of 75% (accuracy 76%; balanced accuracy is the mean of the per-class recalls) on 142 rows the search never saw (95% interval 68% to 82%): moderate. The model beats a coin flip but a meaningful share of rows are misclassified; the Classification Curves chapter shows the precision/recall trade-off.

Accuracy
0.7606 (95% CI 0.6901 – 0.8239)
Balanced accuracy
0.7494 (95% CI 0.6786 – 0.8169)
Error
54.84% (95% CI 39.68% – 74.59%)
N
142
Training rows
570
Quality
41.77% (95% CI 20.8% – 57.86%)
Rows found on
570
Target
Survived
Threshold
0.5
Zero one loss
0.2394 (95% CI 0.1761 – 0.3099)

The model beats the strongest simple yardstick, a logistic regression on the numeric inputs, by 12 points of balanced accuracy on the 142 held-out rows. Of the 42 held-out rows where the two disagree, the model is right on 69% (95% interval 54% to 81%).

Best yardstick's score
0.6294 (95% CI 0.5508 – 0.7065)
Margin over the best yardstick
0.12 (95% CI 0.03202 – 0.2062)
Margin's interval stays above zero
Yes
Model
0.7494 (95% CI 0.6786 – 0.8169)
Held-out rows
142
Held-out rows without an answer
36
Target
Survived
Rows where the model is closer
69.05% (95% CI 53.97% – 80.93%)
Rows compared
42
Rows level
100
Regression yardstick trained with gaps filled (too few complete rows)
No
Training rows of the regression yardstick
572

The model scores held-out rows about as well as training rows (held-out balanced accuracy 75% on 142 rows, gap between training and held-out balanced accuracy 4.2 points): it generalizes. The structure the formula encodes carries from the training rows to the held-out rows.

Generalization gap
0.04204
Metric
Balanced accuracy
N test
142
Target
Survived
Test error
0.2394 (95% CI 0.1761 – 0.3099)
Test metric
0.7494 (95% CI 0.6786 – 0.8169)
Train error
0.3763
Train metric
0.7914
Verdict
Generalizing

S.3 Weaker in the third quarter of Age

Where it is weak. The largest miss on a held-out row is 1 (recorded 1, predicted 0). 1.7% of the held-out rows are unlike the rows it learned from.

Segment age in the third quarter (28 to 37) is mildly weaker than the aggregate (41 held-out rows): accuracy 56% on the segment against 76% on all held-out rows (gap -20 points). A noticeable but not severe quality drift; worth watching if this slice represents a high-stakes subset of the production data.

Table 7.3.1
SegmentRowsAccuracyGap to all rowsVerdict
Age = q3410.5610-0.19959Weaker than on all rows
Embarked = C310.6774-0.08314In line with all rows
Fare = q4420.6905-0.07009In line with all rows
Siblings and spouses aboard = q4480.7083-0.05223In line with all rows
Pclass = q1430.7209-0.03963In line with all rows
Pclass = q4650.7231-0.03749In line with all rows
Sex = male890.7528-0.00775In line with all rows
Fare = q3330.7576-0.00299In line with all rows
Parents and children aboard = q41420.7606+0.00000In line with all rows
Sex = female530.7736+0.01302In line with all rows

The first 10 rows of 19. The other 9 are in the notebook.

Aggregate accuracy
0.7606
Measure
accuracy
Target
Survived

The worst held-out row was missed by 1.00 (target's scale). The 10 rows with the largest absolute residuals out of 142 held-out rows are shown. Each card breaks the failure down into per-term contributions and input values, so the failure mode is inspectable. A large residual with one concentrated term contribution means one term got this row wrong; a large residual with balanced contributions means a structural mismatch.

Table 5.1.13
ActualPredictedResidualAgeParents and children aboardPclassSex
10+12723female
10+14801male
01-12702female
01-12003female
10+13601male
10+12903male
01-12402female
01-12901male
01-13703female
01-13013female
Additive
No
Expected coverage
0.8874
N extrapolated
0
Held-out rows
142
Held-out rows for the interval
142
Rows inside the interval
142
Residual P5
-1
Residual P95
1
Residual std
0.4878

3 of 178 held-out rows (1.7%) lie further from the training rows than 99 in 100 rows like them would, measured on the 3 inputs the model reads (age, parch, pclass). That is a small minority; the held-out figures describe the model on rows like the ones it was trained on.

Table 7.4
TargetInputs measuredLineHeld-out rowsBeyond the lineShare
SurvivedAge, Parents and children aboard, Pclass3.36817831.69%
Table 7.4 · Score bins · 24 of 30 rows shown
CountFromTo
000.157
00.1570.313
00.3130.47
140.470.627
60.6270.784
50.7840.94
550.941.097
201.0971.254
21.2541.411
51.4111.567

The first 10 rows of 24. The other 14 are in the notebook.

S.4 Not ready to use yet: 2 critical concerns

What to watch. First: Data has 19% exact duplicate rows: the held-out split is likely contaminated.

Table 2
SeveritySectionConcernDetail
CriticalDataData has 19% exact duplicate rows: the held-out split is likely contaminated167 of 891 rows (19%) are exact duplicates of at least one other row (largest duplicate group: 13 identical rows). At this density some duplicate pairs very likely straddle the held-out split, in which case the held-out R² or accuracy overstates how the model does on rows it has not seen. Deduplicate before deploying: drop the duplicates outright, or, where they encode intentional row weights, aggregate them into one weighted row. An analysis of the deduplicated data reads the headline metric without the inflation.
CriticalModelYes-or-no (binary) target Survived is severely miscalibrated: ECE 0.239The held-out reliability check on Survived has an Expected Calibration Error of 0.239 (Brier score 0.239) across 142 rows, so the predicted probabilities don't match the observed positive rate. Discrimination (AUC / accuracy) can still be fine, but the probabilities themselves are not trustworthy: don't use them as risk scores or decision thresholds as-is. Apply a post-hoc calibration (Platt scaling or isotonic regression) on a held-out split before deploying the scores, or consume the hard labels instead of the probabilities.
InfoModelTarget Survived is categoricalThe target is a category or a yes-or-no target (classification), so regression figures such as R² do not describe it. The Classification Performance chapter shows how often the model is right; for a two-class target, Classification Curves shows how well it ranks rows and Calibration whether its scores read as probabilities.
InfoDataWithout Age, 177 more rows are completeA model is computed only on rows with a value in every input. 712 of 891 rows qualify. Age is missing in 20% of the rows and is the only gap in 177 rows: without it 889 rows qualify (25% more). Whether the column is worth the rows it costs is a choice; a run without it shows what the model does with the larger table.

The analysis ran with the configuration below. The checks and the verdict of this chapter are read against it.

  • Targets: 1 target: survived
  • Rows: 891 rows
  • Per-Segment Predictions: not produced, because no segment column was chosen
  • Fairness: compared across 2 categorical columns (embarked, sex); which of them are protected attributes is not decided here
  • Out-of-Distribution: held-out rows are scored against the training rows; predictions made outside this report are not scored
  • Provenance & Audit: recorded in the chapter of that name

Across 8 checks (4 pass, 4 warn, 0 fail, 2 critical concerns), every check passes or warns, but 2 critical concerns are open: Not ready to use yet. The Concerns chapter names what is open; it needs addressing before the predictions are used.

Table 7.7
NameStatusDetail
GeneralizationPassheld-out quality holds up against training quality
Classification Performance for SurvivedPassrecall is balanced across the classes, accuracy 76%
Calibration for SurvivedWarnpredicted probabilities do not match the observed rates, expected calibration error 24%
Ranking Quality for SurvivedWarnthe model separates the classes moderately, AUC-ROC 0.749
Baseline Lift for SurvivedPassbeats the best yardstick by 12 points of balanced accuracy
Model ConstraintsWarnsome held-out predictions need caution
FairnessWarn2 columns compared, 2 flagged: Embarked (a group both receives smaller predictions and is systematically mis-predicted), Sex (a group receives systematically smaller predictions)
Out-of-DistributionPass1.7% of held-out rows are out of distribution
N critical concerns
2
N fail
0
N pass
4
N warn
4
Overall verdict
Not ready

Column Embarked splits the held-out rows into 3 groups. The prediction-parity ratio is 0.637 (smallest over largest mean prediction), the largest absolute group residual mean is 0.25 (0.513 times the overall residual standard deviation). Parity gap and residual bias: the model both predicts systematically lower for some groups and errs systematically against at least one group. This is the worst-case fairness signal on this column; review before deployment.

Aggregate residual std
0.4878
Held-out rows offered
178
N columns
2
N proxies
0
Held-out rows without an answer
36
Proxy threshold
0.5
Table 7.5.1 · Columns
Bias max abs residual meanColumnGroupsInterpretationN groupsPrediction parity ratioVerdict
0.25EmbarkedQ, C, SColumn Embarked splits the held-out rows into 3 groups. The prediction-parity ratio is 0.637 (smallest over largest mean prediction), the largest absolute group residual mean is 0.25 (0.513 times the overall residual standard deviation). Parity gap and residual bias: the model both predicts systematically lower for some groups and errs systematically against at least one group. This is the worst-case fairness signal on this column; review before deployment.30.6369Parity and bias
0.1348Sexmale, femaleColumn Sex splits the held-out rows into 2 groups. The prediction-parity ratio is 0.0744 (smallest over largest mean prediction), the largest absolute group residual mean is 0.135 (0.276 times the overall residual standard deviation). Parity gap: at least one group receives systematically smaller predictions on average. Whether that is a property of the target itself or a model bias against the group needs checking.20.07444Prediction parity gap

S.5 More rows in the third quarter of Age would help most

What to collect next.

  • Collect more rows where Age is in the third quarter (28 to 37). Reason: the model is less accurate on the 41 held-out rows in this segment, classifying 56% of them correctly.
  • Add or improve columns that measure or capture Age. Reason: 177 more rows are complete without Age, limiting the model’s use of this input and reducing available data.
  • Inspect and address data quality to remove exact duplicate rows. Reason: data has 19% exact duplicate rows, so the held-out split is likely contaminated.
  • Improve measurement and recording for the column Embarked and ensure group fairness in Sex. Reason: fairness diagnostics found parity and bias issues for Embarked and a prediction parity gap for Sex.
  • Calibrate predictions for the target Survived. Reason: the yes-or-no target Survived is severely miscalibrated with an expected calibration error of 0.239.

S.6 It shows how Survived moves with its inputs in these rows, not what causes it

What this cannot tell you. It was built on Pclass from 1 to 3 and Parents and children aboard from 0 to 6; outside those ranges it has not been checked. 2 slices of the data had too few held-out rows to judge. It gave no answer for 36 held-out rows, where a value it reads was missing.

Diafunc found a formula that captures the structure in the training data. That structure is correlative: it states what predicts what in this data. It does not establish that any input causes the target.

A correlative model is the right tool for predicting the target on new rows like these, for exploring which inputs carry information about the target, and for an early-stage diagnostic or screening tool.

A correlative model is not the right tool for claiming that intervening on an input will change the target, for attributing a target's values to specific causes for accountability, or for choosing between policies that act on the inputs.

The Quality by Input Range, Fairness and Concerns chapters show the most common confounding patterns in the data.

The model is correlative: it captures which columns predict the target in the training data, not whether changing one would change the other. Predictions are reliable for inputs that look like the training distribution; they are not evidence that intervening on an input will change the target. The 4 upgrade pathways below show what evidence would support a causal claim.

Table 7.6 · Upgrade pathways
NameSummary
Controlled experimentRandomize the input to be acted on, then analyze again. Randomization breaks confounding, so any change in the target is attributable to the input.
Natural experimentFind a setting where the input varied for reasons unrelated to the target, an instrumental variable. Variation of that kind supports causal inference.
Causal graphWrite out what plausibly causes what, then check whether the model's terms are consistent with the conditional independences the graph implies.
Control for confoundersIf a third variable plausibly moves both the input and the target, stratify by it or condition on it before training again. Gaps in the Quality by Input Range chapter are a clue.

Evidence

Every chapter of the analysis in full: the figures the story rests on, and everything else the analysis measured.

1 Headline

Diafunc modeled Survived from 7 columns, of which the model uses 4. The model classifies 76% of Survived and relies most on Pclass.

  • One target was modeled; 142 rows were held out for checking.
  • A logistic regression on the numeric inputs classified 63% of each class correctly (balanced accuracy); the model added 12 points, with the largest share of wins among the 42 held-out rows where the answers differ.
  • Data has 19% exact duplicate rows: the held-out split is likely contaminated (142 held-out rows).
Best quality
41.77%
Best target
survived
Targets
1

2 Concerns

Table 2
SeveritySectionConcernDetail
CriticalDataData has 19% exact duplicate rows: the held-out split is likely contaminated167 of 891 rows (19%) are exact duplicates of at least one other row (largest duplicate group: 13 identical rows). At this density some duplicate pairs very likely straddle the held-out split, in which case the held-out R² or accuracy overstates how the model does on rows it has not seen. Deduplicate before deploying: drop the duplicates outright, or, where they encode intentional row weights, aggregate them into one weighted row. An analysis of the deduplicated data reads the headline metric without the inflation.
CriticalModelYes-or-no (binary) target Survived is severely miscalibrated: ECE 0.239The held-out reliability check on Survived has an Expected Calibration Error of 0.239 (Brier score 0.239) across 142 rows, so the predicted probabilities don't match the observed positive rate. Discrimination (AUC / accuracy) can still be fine, but the probabilities themselves are not trustworthy: don't use them as risk scores or decision thresholds as-is. Apply a post-hoc calibration (Platt scaling or isotonic regression) on a held-out split before deploying the scores, or consume the hard labels instead of the probabilities.
InfoModelTarget Survived is categoricalThe target is a category or a yes-or-no target (classification), so regression figures such as R² do not describe it. The Classification Performance chapter shows how often the model is right; for a two-class target, Classification Curves shows how well it ranks rows and Calibration whether its scores read as probabilities.
InfoDataWithout Age, 177 more rows are completeA model is computed only on rows with a value in every input. 712 of 891 rows qualify. Age is missing in 20% of the rows and is the only gap in 177 rows: without it 889 rows qualify (25% more). Whether the column is worth the rows it costs is a choice; a run without it shows what the model does with the larger table.

How to read this

Data-quality, model-quality, and deployment-risk issues detected during the analysis appear below, ordered by severity. Critical concerns are listed first; Warning and Info entries follow.

3 Discovered Relations

Table 3 · Quality and error measured on the 142 held-out rows
TargetFormulaQualityComplexityError
SurvivedSurvived = -0.33 × Age × [Sex = "male"] ≥ Pclass × (3.5 + Parents and children aboard) − 1441.77%16.4%54.84%

How to read this

One model per target, each a formula with its quality, complexity and error. Higher quality at lower complexity describes the data most clearly. The findings below read the models together; the per-target chapters in the Model section carry each formula, its predictions and its diagnostics.

4 Questions & Answers

3 questions were asked with this analysis:

  • To what extent did survival depend on gender?
  • To what extent did survival depend on wealth?
  • What did survival primarily depend on?

To what extent did survival depend on gender?

The model's output for Survived relies on Sex for 40% of its total reliance, comparing [Sex = male] against other values, with Sex the second strongest input after Pclass.

From Which inputs matter most (Survived).

To what extent did survival depend on wealth?

Not answered by this analysis. The analysis would need to measure reliance on Fare or another direct indicator of wealth, but Fare is not an input of the model.

What did survival primarily depend on?

The model's output for Survived relies most on Pclass, with an importance share of 45%, followed by Sex at 40% and Parents and children aboard at 15%.

From Which inputs matter most (Survived).

N answered
2
N questions
3

5 Model

The model's description uses one term, capturing an interaction between age, sex, pclass, and parch. The model generalizes on held-out rows, showing balanced accuracy 0.749, but the binary target survived is flagged as severely miscalibrated: consult the Concerns chapter.

Nothing in the Model section's numbers stood out as unusual.

How to read this

The Model section presents one model per target: its formula, its predictions on held-out rows, the inputs it relies on, the baselines it is measured against, and diagnostics of how it behaves. With more than one target, the Composite Model, Multi-Output and Leaderboard chapters read the models as a set.

5.1 Survived

The Model section builds one model for Survived: a formula that expresses it through the other columns. Diafunc searches the space of mathematical expressions for the formula that balances accuracy against simplicity, so the result is not a black box but an expression that can be read, evaluated and questioned. The chapters that follow show the formula, score it on rows it never saw during training, and take it apart term by term.

5.1.1 Survived Model

The model's output for Survived relies on Pclass and Sex most, with Pclass carrying 45% of its share of the variation and Sex carrying 40%; Parents and children aboard also contributes, with its effect depending on the range.

Survived = -0.33 × Age × [Sex = "male"] ≥ Pclass × (3.5 + Parents and children aboard) − 14f:(Age,Parents and children aboard,Pclass,Sex)↦SurvivedAge,Parents and children aboard,Pclass∈RSex∈TSurvived∈BSurvived=−0.33×Age×Sex⩵male≥Pclass×3.5+Parents and children aboard−14
Survived = -0.33 × Age × [Sex = "male"] ≥ Pclass × (3.5 + Parents and children aboard) − 14
Quality 41.77% · Error 54.84% on 142 rows the search never saw · Found on 570 rows · Complexity 16.4%
Training rows
570
Held-out rows
142
Inputs the formula reads
4
Terms in the formula
1

How to read this

The three gauges score the model on the held-out rows: rows that were set aside before the search and that the model never saw. They are the figures to quote for how the model does on new data.

Table 5.1.1
MetricMeaning
QualityHow well the model predicts on the held-out rows, marked down for the size of its formula: 100% is an exact prediction, 0% is no better than always predicting the average. It is not R², and sits at or just below it
ErrorHow far the predictions lie from the held-out values, as a share of the miss of always predicting the average: 0% is an exact prediction, 100% is no better than the average
ComplexityThe size of the formula as a share of the complexity the search was allowed: a low figure is a short formula

The figures under During the search are the same measures on the training rows. They are what the search ranked its candidates by, so they describe the search and tend to flatter the model it chose. The Generalization chapter sets the training rows beside the held-out rows, and the Baselines chapter sets the model beside its baselines. The time and credit gauges account for the computation that produced the model, not for the model itself.

5.1.2 Prediction

The model predicts Survived for any row that supplies the other columns. This chapter applies it to the held-out rows, the rows set aside before training, so that the predictions can be compared with values the model never saw. The rows themselves and the function that predicts them are kept as reference under Foundation, with the processed data.

5.1.2.1 Prediction Chart

Balanced accuracy of 75% (accuracy 76%; balanced accuracy is the mean of the per-class recalls) on 142 rows the search never saw (95% interval 68% to 82%): moderate. The model beats a coin flip but a meaningful share of rows are misclassified; the Classification Curves chapter shows the precision/recall trade-off.

Accuracy
0.7606 (95% CI 0.6901 – 0.8239)
Balanced accuracy
0.7494 (95% CI 0.6786 – 0.8169)
Error
54.84% (95% CI 39.68% – 74.59%)
N
142
Training rows
570
Quality
41.77% (95% CI 20.8% – 57.86%)
Rows found on
570
Target
Survived
Threshold
0.5
Zero one loss
0.2394 (95% CI 0.1761 – 0.3099)

How to read this

Survived is a class, so there is no scale to plot a prediction against the actual value. This chapter carries the held-out figures instead: how many of the rows the model never saw during training it put in the right class. The class counts that follow show how those rows divide among the classes, which is what makes the share of right classes readable.

5.1.2.2 Held-out Class Balance
N
142
N negative actual
80
N negative predicted
88
N positive actual
62
N positive predicted
54
Positive rate actual
0.4366
Positive rate predicted
0.3803

How to read this

How the two classes of Survived are split in the held-out rows, actual against predicted. A classifier can score well on accuracy by following an unbalanced split, so the counts and rates here are what make the headline accuracy readable: a predicted positive rate far from the actual one means the model leans toward one class regardless of how often it is right.

5.1.3 Which inputs matter most

Measured on 57 of the 570 rows the model was found on, which the search set apart for it.

Table 5.1.3
InputShare of importancePermutation importanceSensitivityResidual correlationOccurrences
Pclass45%0.81821
Sex40%0.72731
Parents and children aboard15%0.27271
Age0.00001
N rows
57

How to read this

The chart ranks the inputs of the Survived model by permutation importance: how much the model's error rises when that input's values are shuffled across rows so that it carries no information. A longer bar means the model relies on the input more. The order says which columns the model reads most, and those are the columns where measurement quality and data collection matter most. A short bar marks an input the model barely uses, which is a fact about this model and not a verdict on the column. Importance describes the model's reliance and nothing more: an input can rank high because it stands in for something the data does not contain. Where the search measured it, an input also carries the direction in which the model's output moves as the input rises, counted on the rows the search trained on, and the change of the output when the input alone goes from its first to its third quartile; both describe the formula inside the observed range and say nothing about causes.

5.1.4 Baselines

The model beats the strongest simple yardstick, a logistic regression on the numeric inputs, by 12 points of balanced accuracy on the 142 held-out rows. Of the 42 held-out rows where the two disagree, the model is right on 69% (95% interval 54% to 81%).

Best yardstick's score
0.6294 (95% CI 0.5508 – 0.7065)
Margin over the best yardstick
0.12 (95% CI 0.03202 – 0.2062)
Margin's interval stays above zero
Yes
Model
0.7494 (95% CI 0.6786 – 0.8169)
Held-out rows
142
Held-out rows without an answer
36
Target
Survived
Rows where the model is closer
69.05% (95% CI 53.97% – 80.93%)
Rows compared
42
Rows level
100
Regression yardstick trained with gaps filled (too few complete rows)
No
Training rows of the regression yardstick
572

How to read this

The table scores the model for Survived against simple yardsticks on the same held-out rows. A yardstick is a predictor simple enough to need no explanation: a constant (the average, the middle value, the most common class or level, the average count), a plain regression on the numeric inputs (a straight line, a logistic regression, a Poisson regression), and for a series over time a forecast from its own past (the last value, the value one season back, the recent trend extended). Which of them appear depends on what kind of column Survived is. They are yardsticks only: the analysis has one model, and it is the last row. A regression yardstick answers every row the model answers: where one of its numeric inputs is empty, it reads the average of that input over the training rows. Nothing is filled in for the model. A yardstick whose row is empty could not be scored, and the summary then says what the margin is measured against.

Read the columns from top to bottom. Each kind of target is scored by the measure it is judged on: R² and MAE for a continuous value, with MASE added for a series (below 1 means a typical miss is smaller than the series' usual step from one row to the next); accuracy and balanced accuracy for a yes/no value, with the Brier score where a probability is predicted; accuracy and macro F1 for a class; weighted kappa and the distance in levels for an ordered level; Poisson deviance and RMSE for a count. When the model clears every yardstick by a wide margin, its structure earns its place. When it is level with the regression yardstick, a plain regression describes the data as well. When it is level with the constant, the inputs carry no usable signal for Survived.

The margin over the best yardstick comes with an interval. When that interval includes zero, the lead is not settled on this many held-out rows. The share of rows on which the model is closer than the best yardstick is counted only on the rows where the two differ; for a yes/no value or a class these are the rows where the two disagree.

5.1.5 Generalization

The model scores held-out rows about as well as training rows (held-out balanced accuracy 75% on 142 rows, gap between training and held-out balanced accuracy 4.2 points): it generalizes. The structure the formula encodes carries from the training rows to the held-out rows.

Generalization gap
0.04204
Metric
Balanced accuracy
N test
142
Target
Survived
Test error
0.2394 (95% CI 0.1761 – 0.3099)
Test metric
0.7494 (95% CI 0.6786 – 0.8169)
Train error
0.3763
Train metric
0.7914
Verdict
Generalizing

How to read this

The chart sets the score of the Survived model on the rows it trained on beside its score on the held-out rows it never saw, and the gap between the two bars is the finding. The score is the one that suits the target: R² for a quantity, balanced accuracy for a yes/no target, weighted kappa for ordered levels. The held-out figure carries a bootstrap 95% confidence interval, which says how far it could move with a different held-out draw; the training bar has none, because it is measured on the rows that shaped the model.

The verdict reads from the two figures. Generalizing: the held-out score is strong, or training and held-out agree closely; the structure the formula encodes carries to new rows. Overfit: training is far ahead of held-out and the held-out score is not strong on its own; the formula has absorbed noise from the training rows, and the training figure overstates what to expect on new data. Underfit or noisy: held-out is far ahead of training; this is not strength, it usually means an outlier or a flat region in the training rows that the held-out rows happen to avoid. Insufficient: fewer than 30 held-out rows and no strong held-out score, too little evidence for a negative verdict. A model that predicts the same value for every held-out row gets no verdict: there is nothing that could carry over. In every case the width of the held-out interval says how much weight the gap can bear.

5.1.6 How each term responds to its inputs

The formula is not additively decomposable: the prediction comes from a single non-separable expression. The curve below shows the whole-formula response.

Additive
No
Terms in the formula
1
Notation
-0.33 × Age × [Sex = "male"] ≥ Pclass × (3.5 + Parents and children aboard) − 14
Target
Survived

How to read this

The formula for Survived is split into its additive terms, and each term is traced as one of its inputs moves across the training range while the other inputs stay at their medians. Each curve is therefore a profile of the term at the typical row, not an average over the data: it shows what the term contributes at every value of that input when everything else is ordinary.

A term that depends on several inputs gets one curve per input; a constant term gets none. Terms the formula subtracts are drawn with their sign, so a curve below zero pulls the prediction down. At any fixed row, the terms add up to the model's prediction. Where the search measured it, a term also carries its share of the variation of the model's output on the rows the search trained on; that is a share of what the formula returns, not of Survived itself. The notebook lets the reader trim each range to the central 95% of the input. When the formula has no additive structure, the chapter traces the whole formula as a single term along each of its inputs, and the Sensitivity chapter is the better read for how the inputs combine.

5.1.7 How the formula behaves outside the data

How the model behaves beyond the observed range of age, sex, pclass, parch could not be determined from the formula, so extrapolation there is not assessed. Extrapolate with caution.

Bounded at infinity
No
Inputs the formula reads
4
N singularities
0
Target
Survived
Table 5.1.7 · Limits at neg infinity
InputKind
AgeUnknown
SexUnknown
PclassUnknown
Parents and children aboardUnknown
Table 5.1.7 · Limits at pos infinity
InputKind
AgeUnknown
SexUnknown
PclassUnknown
Parents and children aboardUnknown

How to read this

The formula for Survived is read as a mathematical object, without data, to state how it behaves beyond the range it was trained on. A black box cannot answer that question; a formula can. For each input the chapter reports the limit as the input grows without bound in either direction (whether the formula diverges, settles to a finite value or oscillates, with the sign tracked exactly, so that a term like minus two times the cube of the input is reported as diverging downward on the right and upward on the left), whether the formula stays finite in every direction, and any singularity with its solved location: a division whose denominator reaches zero, a logarithm or square root whose argument leaves its domain, or a periodic pole.

The inputs along which the formula diverges or meets a singularity are listed as the risky ones; along them the formula's shape gives no support for extrapolation. A formula that stays finite everywhere with no singularity carries no structural hazard when extrapolated; the data still ends where it ends, and a prediction outside the training range remains unsupported by evidence. The plain-language summary at the end states the same facts in one paragraph.

5.1.8 Contributions per term
Additive
No
N rows
5

The notebook draws this chapter's figure from each held-out row; the row-by-row detail is there.

How to read this

For up to five representative held-out rows, the chapter draws one bar chart showing how each additive term of the formula builds that row's prediction of Survived. The five rows are the worst prediction (largest absolute residual), the best (smallest), the median miss, the row with the smallest prediction and the row with the largest. When two roles fall on the same row, which is common with few held-out rows, the earlier role keeps it and fewer than five charts appear.

In each chart the bars stack the terms' contributions at the row's input values, terms the formula subtracts sit below zero, and the bars sum to the prediction. The dashed line marks the actual value; the distance between it and the top of the stack is the residual. The bars are evaluated at the same precision as the predictions, so they agree with the Prediction Chart. When the formula has no additive structure, each chart holds one bar for the whole formula, and the Sensitivity chapter is the better read for how individual inputs move it.

5.1.9 What each term is worth

Full-formula R² is 0.0266. The formula is non-decomposable, so ablation collapses to a single bar; the chapter "How each term responds to its inputs" is the better surface in this case.

Additive
No
Baseline R²
0.02661
Held-out rows offered
178
Held-out rows
142
Held-out rows without an answer
36

The notebook draws this chapter's figure from each held-out row; the row-by-row detail is there.

How to read this

For each additive term of the formula for Survived, the chart shows how much the held-out R² drops when that term is replaced by its mean contribution, so that it no longer varies from row to row. The bars are sorted from the largest drop down, and the dashed line marks the R² of the full model.

A large drop means the term carries real predictive work; the complexity it adds is paid for. A small drop means the term adds little beyond its average value: it may refine a stronger term, or its curve in the chapter "How each term responds to its inputs" may be nearly flat. A negative drop means the held-out R² rises without the term, which is a sign that the term tracks noise in the training rows. Each figure describes what a term contributes inside the model as discovered; the chart diagnoses the model, it is not a guide to removing terms. When the formula has no additive structure, the chart shows one bar for the whole formula.

5.1.10 What-If
Table 5.1.10 · The prediction at the typical row: every input at its median or most common value
ItemValue
Age28
Parents and children aboard0
Pclass3
Sexmale
Prediction0
Additive
No
Expected coverage
0.8874
Held-out rows for the interval
142
Rows inside the interval
142
Terms in the formula
1
Residual P5
-1
Residual P95
1
Residual std
0.4878

How to read this

The chapter shows the model's prediction for Survived at one input combination, with the contribution of each term stacked beneath it. The inputs start at their training medians, so the first view is the prediction for a typical row, and each input can move within the range the training rows cover; the notebook lets the reader change the inputs and watch the prediction and the stack update.

In the stack, a long bar marks the term that dominates at this input combination, often the one whose removal costs most in the chapter "What each term is worth". A short bar marks a term that makes a small adjustment here; the chapter "How each term responds to its inputs" shows whether it stays small everywhere or grows toward the edges of the range. A negative bar marks a term that pulls the prediction down at this point, either because the formula subtracts it or because it evaluates below zero.

The inputs stay inside the training range for a reason: the formula computes a value anywhere, but outside that range no training row supports it. When the formula has no additive structure, the stack holds a single bar for the whole formula and the inputs move the prediction directly.

5.1.11 Sensitivity

The prediction responds to 4 inputs. The formula is non-additive: the change in the prediction per unit of each input (∂ŷ/∂xᵢ) is computed with the others held at the training median. Flat curves mean a constant linear response, bent curves a non-linear response that depends on the position in the range, and zero crossings a response that reverses sign between regions.

Additive
No
Terms in the formula
1

How to read this

For each input, the chart traces the rate at which the predicted Survived changes as that input moves across its training range, with the other inputs held at their medians. The rate is the local slope of the prediction with respect to the input, measured by a small finite difference at each point. A table summarizes each input with the mean, minimum and maximum of the absolute slope, which ranks the inputs by how strongly the prediction responds to them.

A flat curve means the model is close to linear in that input: the prediction responds at the same rate everywhere in the observed range, which is easy to state and says nothing about values beyond that range. A curve that grows or shrinks marks diminishing or accelerating returns, and whether that is plausible is a question for the domain. A curve that crosses zero means the prediction rises with the input in one part of the range and falls in another, which is either a real optimum or a sign that the formula bends around a few rows. A curve with a large magnitude marks an input to which the prediction is highly responsive; the chapter "What each term is worth" says whether the term behind it also carries predictive work.

In the table, the mean absolute slope ranks the inputs by typical responsiveness. A minimum close to the maximum means the responsiveness is nearly constant; a wide gap means it varies strongly across the range. The chapter reads the whole formula, so it applies whether or not the formula splits into terms.

5.1.12 How two inputs act together

The formula is non-decomposable: every pair of inputs potentially interacts. The heatmaps show the full-formula response across each pair's plane.

Table 5.1.12 · The prediction across Age (columns) and Parents and children aboard (rows), the other inputs at their typical values
Parents and children aboard \ Age0.4214.8929.3643.8358.372.77
0100000
1100000
2000000
3000000
4000000
5000000
Table 5.1.12 · The prediction across Age (columns) and Pclass (rows), the other inputs at their typical values
Pclass \ Age0.4214.8929.3643.8358.372.77
1111000
1111000
2110000
2110000
2110000
3100000
Table 5.1.12 · The prediction across Parents and children aboard (columns) and Pclass (rows), the other inputs at their typical values
Pclass \ Parents and children aboard012345
1110000
1110000
2000000
2000000
2000000
3000000
Additive
No
Terms in the formula
1

How to read this

When a single term of the formula combines two or more inputs, the prediction's response to one of them depends on the value of the other. This chapter draws one surface for each such pair: the predicted Survived across the plane of the two inputs, with every other input held at its training median. Pairs that never share a term have no interaction by construction, and the curves in the chapter "How each term responds to its inputs" already say everything about them. Where the search tested a pair, the summary says on how many pairs of rows the two inputs acted together in the model's output; that is a statement about the formula, not a finding that the data hold no other interaction.

Parallel stripes mean the two inputs act almost independently, so the surface is close to a sum of two one-input curves. Curved contours mean a real interaction, where the slope along one input changes with the other; the location of the peak or trough matters. A saddle, rising along one axis and falling along the other, marks a trade-off between the two. A sharp edge or cliff means the formula encodes a change of regime, and the curve for the same input in the chapter "How each term responds to its inputs" shows whether the bend appears there too.

The grid is deliberately coarse, and the color scale runs from low to high predictions. When the formula has no additive structure, the single whole-formula term holds every input, so every pair appears; the number of surfaces is capped for models with many inputs.

5.1.13 Worst Predictions

The worst held-out row was missed by 1.00 (target's scale). The 10 rows with the largest absolute residuals out of 142 held-out rows are shown. Each card breaks the failure down into per-term contributions and input values, so the failure mode is inspectable. A large residual with one concentrated term contribution means one term got this row wrong; a large residual with balanced contributions means a structural mismatch.

Table 5.1.13
ActualPredictedResidualAgeParents and children aboardPclassSex
10+12723female
10+14801male
01-12702female
01-12003female
10+13601male
10+12903male
01-12402female
01-12901male
01-13703female
01-13013female
Additive
No
Expected coverage
0.8874
N extrapolated
0
Held-out rows
142
Held-out rows for the interval
142
Rows inside the interval
142
Residual P5
-1
Residual P95
1
Residual std
0.4878

How to read this

The held-out rows on which the model misses Survived by the most, sorted by absolute residual with the largest first and capped at ten. Each card shows the row's actual value, the prediction, the residual, the contribution of every additive term at that row and the row's input values. R² and MAE say how good the model is on average; these cards say where it fails and let each failure be read input by input and term by term.

A large residual with one dominant term means that term produced the wrong value at this row; the row's value for that input, read against its curve in the chapter "How each term responds to its inputs", shows whether it fell in a region the formula models poorly. A large residual with balanced contributions means every term was a little off and the sum still missed, which points to a shape the formula cannot represent in that region. Residuals that change sign from card to card mean the misses are not a consistent bias but scattered errors on particular rows. When the formula has no additive structure, each card shows a single whole-formula contribution.

5.1.14 Classification Performance

Across 142 held-out rows, overall accuracy is 76% (positive-class recall 66%, negative-class recall 84%). Both classes' F1 scores exceed the balanced threshold: the model performs well on positives and negatives alike. The decision threshold is 0.5 by default; widening or narrowing it trades precision against recall.

Accuracy
0.7606
Fn
21
Fp
13
Held-out rows offered
178
Held-out rows
142
N negative actual
80
N positive actual
62
Held-out rows without an answer
36
Negative f1
0.7976
Negative precision
0.7614
Negative recall
0.8375
Positive f1
0.7069
Positive precision
0.7593
Positive recall
0.6613
Target
Survived
Threshold
0.5
Tn
67
Tp
41
Verdict
Balanced

How to read this

Confusion matrix and per-class precision, recall and F1 for Survived, derived from the held-out predictions. A prediction counts as the positive class when its score is at least 0.5, the standard binary cutoff; actual values are 0 or 1, and rows with a non-finite actual or predicted value are skipped.

Rows of the matrix are the actual class, columns the predicted class. The diagonal holds the correct classifications; the off-diagonal cells hold the errors. Precision is the share of rows predicted as a class that belong to it; recall is the share of rows in a class that were predicted as it; F1 is the harmonic mean of the two.

The 0.5 cutoff is a convention, not a finding. Moving it trades recall against precision, and the right threshold depends on the cost of a false positive relative to a false negative. The Classification Curves chapter shows how that trade-off behaves at every threshold, and the Calibration chapter shows whether the scores can be read as probabilities at all.

5.1.15 Calibration

Across 142 held-out rows, the Brier score is 0.239 and the expected calibration error is 24%. The scores do not match the actual rate: too high for some rows and too low for others, with no single direction. They cannot be read as probabilities; read the predicted classes, or calibrate the scores before a score is used as an X% chance of positive.

Brier
0.2394
Ece
0.2394
Held-out rows offered
178
N bins
10
Held-out rows
142
Held-out rows without an answer
36
Target
Survived
Verdict
Miscalibrated
Table 5.1.15 · Bin data
Actual meanBin hiBin indexBin loNPredicted mean
0.23860.100880
0.210.10
0.320.20
0.430.30
0.540.40
0.650.50
0.760.60
0.870.70
0.980.80
0.7593190.9541

How to read this

The model's output for Survived is a score that estimates how likely the positive class is. The score is not a probability by construction: it can fall outside 0 to 1, so it is clamped to that range before it is assessed. It is calibrated when, among the held-out rows scored near 0.7, about 70% turn out to be positive; calibration is what allows the score to be read as a probability rather than only as a ranking.

The reliability diagram sorts the held-out rows into ten equal-width score bins and plots the mean score of each bin against the actual positive rate in it. The diagonal is perfect calibration; a bin above the line means the model scores those rows too low, a bin below the line means it scores them too high, and the size of each dot is the number of rows in the bin. The Brier score is the mean squared difference between the clamped score and the 0 or 1 actual, where lower is better and 0 is perfect. The expected calibration error (ECE) is the gap between the curve and the diagonal averaged across the bins and weighted by their size, as a single percentage.

A well-calibrated model can be read as a source of probabilities. A model that is over- or under-confident still ranks the rows correctly, which the Classification Curves chapter measures, but its score magnitudes need a calibration step before they can stand in for probabilities.

5.1.16 Classification Curves

On 142 held-out rows, AUC-ROC is 0.749 and AUC-PR is 0.784 (the positive class is 44% of held-out rows, the random-classifier baseline for the PR curve). AUC-ROC at least 0.70: acceptable but not impressive separability. The model finds some signal but a noticeable fraction of positives and negatives overlap in predicted score. More inputs or a higher complexity limit may improve the curves.

AUC pr
0.7842
AUC ROC
0.7494
Held-out rows offered
178
Held-out rows
142
N negative
80
N positive
62
Held-out rows without an answer
36
Positive rate
0.4366
Target
Survived
Verdict
Acceptable
Table 5.1.16 · Pr points
PrecisionRecallThreshold
10
0.75930.66131
0.436610
Table 5.1.16 · ROC points
FprThresholdTpr
00
0.162510.6613
101

How to read this

Both curves sweep every unique held-out score for Survived as a possible decision threshold. The Classification Performance chapter scores the model at the single 0.5 cutoff, and the Calibration chapter asks whether the scores are probabilities; this chapter asks how well the model orders positives above negatives across the whole score range. That ranking quality depends only on the order of the scores, so it stands even when the Calibration chapter finds the magnitudes untrustworthy.

The ROC curve plots the false positive rate on the horizontal axis against the true positive rate on the vertical axis. The dashed diagonal is a random classifier, and a model that ranks well pushes the curve toward the top-left corner: high recall on positives without many false alarms. AUC-ROC summarizes it between 0 and 1, where 0.5 is random and 1 is perfect ranking. The precision-recall curve plots recall against precision. Its random baseline is the dashed horizontal line at the positive rate of the data, so it depends on class balance: on data with 5% positives, an AUC-PR of 0.30 sits far above random. A perfect classifier hugs the top-right corner. Precision-recall is the more telling curve on imbalanced data because it concentrates on the rare positive class.

The verdict reads off AUC-ROC: excellent at 0.90 and above, good at 0.80, acceptable at 0.70, weak at 0.60, and random below that. With a small held-out set the curves are jagged step functions; that is the data, not a rendering flaw.

5.1.17 Decision Boundary

Any two inputs can be picked to see the model's score for the positive class across their plane, with every other input held at its training median. The contour at 0.5 is the decision boundary: cells above it are classified positive, below it negative. A straight boundary means the two inputs separate the classes linearly; a curved one means their contributions to the decision are intertwined.

Additive
No
Terms in the formula
1
Target
Survived
Threshold
0.5

How to read this

The surface shows where the model switches its predicted class for Survived across the plane of two inputs, with every other input held at its training median. The Classification Performance chapter scores the model at the 0.5 cutoff and the Classification Curves chapter measures its ranking; this chapter shows the geometry: which region of the two inputs the model calls positive, and how sharp the dividing line is.

Each point of the surface is the model's score for the positive class at that pair of input values, clamped to 0 to 1. The color scale runs from low to high, and the score reads as a probability only as far as the Calibration chapter allows. The decision boundary is the contour where the score crosses 0.5, the exact rule the Classification Performance chapter scores against. A straight boundary means the two inputs separate the classes linearly; a curved boundary means the threshold on one input shifts with the value of the other. The surface is drawn for one pair of inputs at a time, and the notebook lets the reader choose the pair.

5.1.18 Search Progress

The search ran for 2,948 generations, ending at quality 0.566 (gain +0.337 from generation 2). The curve shows a substantial climb.

First generation
2
First quality
22.88%
Last generation
5896
Last improvement ms
8,568,153
Last quality
56.59%
Max quality
56.59%
N points
200
N total generations
2948
Search time ms
15,368,920
Stop reason
Out of budget

How to read this

The line traces the best quality the search for the Survived model had reached at each generation, from the first generation to the last. Quality is the technology's combined score on the training rows, the figure the Model Metrics chapter defines. A curve that flattens well before the last generation means the search converged: the budget was more than enough, and the model is the one the search settled on. A curve still rising at the last generation means the budget ended before the search settled, and the model is the best the search reached within it. The chart describes the search, not the data: it says whether the search had time to settle, not whether more rows would help.

5.1.19 Model Constraints

Across 142 held-out predictions, the formula has minor hygiene caveats. Predictions are usable but the flagged rows deserve inspection before the model is wired into a critical downstream pipeline.

Table 5.1.19
NameStatusDetail
Output coherentPassno non-finite predictions across 142 rows
Within domainWarnthe training target's σ is not available
Bounded predictionsWarnthe training target's σ is not available
Held-out rows
142
N non finite
0
N outside domain
0
N runaway
0
Verdict
Caveats

How to read this

Sanity checks on the Survived formula, run against the held-out rows. Three checks: every prediction is a finite number (output coherent), predictions stay within the range of the training target widened by two standard deviations on each side (within domain), and no single prediction runs away more than ten standard deviations from the training mean (bounded predictions).

These are pass or fail guards, not quality measures: a formula can clear all three and still predict poorly. A failure is the stronger signal. It means the formula misbehaves numerically somewhere in the data it was shown, and any downstream use of it should wait until that is understood.

5.1.20 Modeling

Measured during the search, on the rows the model was trained on

Error
37.63%
N train
713
Quality
56.27%

How to read this

The function below trains the model for Survived on the processed data. Its output is the model that every other chapter of this section scores and dissects.

5.2 Findings

1 finding from the model diagnostics (1 Critical) is listed in the Concerns chapter at the top of the analysis.

6 Data

Marked differences between groups in survived, sex, and embarked suggest strong associations between categorical features and the outcome. With 18.7% exact duplicate rows and three columns showing outliers, concerns about contamination and data integrity are highlighted in the Concerns chapter.

Most notable in the Data section:

  • Survived is yes in 74% of the rows where Sex is female and in 19% where it is male: 3.93 times the rate (95% interval 3.28 to 4.71)
  • Fare and Pclass move oppositely (correlation -0.549)
  • Parents and children aboard and Siblings and spouses aboard move together (correlation 0.415)

How to read this

The Data section describes the table as supplied, before any modeling: the Column Profiles overview of every column and its role, one chapter per column with its distribution and correlations, a closer look at columns with notable characteristics, Duplicate Rows, Leakage Suspicion, a map for paired coordinate columns, and the General chapter with descriptive statistics, correlations, missing values, outlier ranges, clusters and segments across all columns.

6.1 Column Profiles

Profiled 8 columns across 891 rows (5 numeric, 3 non-numeric): every column is at least 75% populated. Distributional statistics on numeric columns can be read at face value. 3 columns are strongly skewed: the mean of such a column is pulled toward its long tail, so the median is the better guide to a typical value.

Table 6.1 · Columns
NameRoleTypeNMissingMeanStdMinP25MedianP75MaxSkewnessCV
SurvivedTargetbool8910
AgeInputnumber714177 (19.87%)29.7014.530.4220.1328.0038.0080.000.38910.4891
EmbarkedInputtext8892 (0.22%)
FareInputnumber891032.2049.690.007.9114.4531.00512.334.7871.543
Parents and children aboardInputinteger89100.38160.8061000062.7492.112
PclassInputinteger89102.3090.83612333-0.63050.3621
SexInputtext8910
Siblings and spouses aboardInputinteger89100.5231.103000183.6952.108
N columns
8
N high missing
0
N rows
891
N strongly skewed
3
Table branch
main
Table ID
2855fd69-e4aa-4002-8ce0-bdbc06d7d629

How to read this

One row per column of the analyzed table: its role in the analysis (the target being predicted, an input it is predicted from, or the segment column), its type, value count and missing count, and for numeric columns the mean, standard deviation, minimum, quartiles, maximum and interquartile range. A column with 25% or more missing values is flagged; its mean and quartiles describe only the rows that have a value.

Two further figures describe the shape of a numeric column. The skewness says whether the values lean to one side: close to zero the column is symmetric, from 0.5 it is moderately skewed and from 1 strongly skewed, with the longer tail on the high side when the figure is positive and on the low side when it is negative. In a strongly skewed column the mean is pulled toward the tail, and the median is the better guide to a typical value. The coefficient of variation is the standard deviation divided by the mean: it compares how widely columns spread regardless of their units, and is given only for a column whose mean is positive.

These are the columns as supplied, before any modeling: the reference against which every later chapter reads.

6.2 Age

Age: 0.42 to 80, median 28, 20% missing; moves opposite to Pclass most (r -0.369).

How to read this

A column chapter profiles one column: its distribution in figures and charts, and how it relates to the other columns. It opens with one line on what the column holds. The Description chapter carries its figures, with every other column summarized for each of its values where it has few, and its association with every other column where it is numeric. The Visualization chapter carries its charts. A table with a date column adds an Over Time and a Time Series chapter; a target with classes adds a Class Balance chapter.

6.2.1 Description
Table 6.2.1 · Age
StatisticValue
Typenumber
Values present714
Distinct values88
Continuousyes
Decimal places2
Minimum0.42
Maximum80
Mean29.7
Median28
Mode24.0

The first 10 rows of 17. The other 7 are in the notebook.

How to read this

The figures below summarize Age in numbers: where its values center (mean, median, mode), how far they spread (range, variance, standard deviation, interquartile range) and how they are distributed across percentiles. They are the reference for every chart in the Visualization chapter and for the correlation measures further down.

The figures for Age are grouped: the column itself first, then where its values center, how far they spread, the shape of their distribution and its percentiles. Each statistic is explained in the Description chapter under General in the Data section.

6.2.1.1 Correlation
Table 6.2.1.1 · Correlations
ColumnPair ofAssociationPearson's r95% CI (Pearson)Spearman's ρKendall's τq-valueRows
Pclasstwo numbers0.3692-0.3692-0.4309 to -0.3041-0.3617-0.2861< 0.001714
Siblings and spouses aboardtwo numbers0.3082-0.3082-0.3732 to -0.2403-0.1821-0.1427< 0.001714
Parents and children aboardtwo numbers0.2542-0.1891-0.2589 to -0.1174-0.2542-0.2001< 0.001714
Faretwo numbers0.13510.096070.02285 to 0.16830.13510.093250.01774714
Sexa number and a category0.093250.01774714
Surviveda number and a category0.077220.04565714
Embarkeda number and a category0.042340.5294712

How to read this

Each row pairs Age with one other column, numeric or categorical, and reports how strongly the two go together on an association from 0 to 1, and whether an association this strong could be chance. For another numeric column the row adds the direction: Pearson's coefficient measures a straight-line relationship, and Spearman's rho and Kendall's tau measure a monotonic relationship on ranks, which makes them resistant to outliers and lets them see a curved but consistently rising or falling pattern. For a categorical column the association is the correlation ratio η, which has no direction. A strong association is not an explanation: two columns can go together when a third one moves both.

The table lists every other numeric or categorical column against Age, with the pair's kind and association, three correlation coefficients and a confidence interval where the other column is numeric, the q-value and the rows the pair was measured on.

Table 6.2.1.1
MeasureMeaning
KindWhat the other column holds: a number (numeric) or categories (numeric_categorical). A categorical column is one that is not numeric and holds between 2 and 50 distinct values
AssociationThe strength of the pair from 0 to 1. With a numeric column: the stronger of Pearson's coefficient and Spearman's ρ, without its sign. With a categorical column: the correlation ratio η, the square root of the share of Age's spread that lies between the categories
CovarianceNumeric partner only. The direction of the relationship (positive or negative) in the units of the two columns. It is not standardized, so its size says little about strength without the columns' own spread
Pearson's Correlation CoefficientNumeric partner only. The strength and direction of a linear relationship, from -1 (a perfect falling line) through 0 (no linear relationship) to 1 (a perfect rising line)
Spearman's ρNumeric partner only. The strength and direction of a monotonic relationship, computed on ranks rather than values, from -1 to 1. It follows a curved pattern as long as it rises or falls consistently, and outliers move it little
Kendall's τNumeric partner only. The strength and direction of association from the agreement and disagreement of rank order across pairs of rows, from -1 to 1. It is the steadier of the two rank measures when the rows are few
q-valueHow likely a pair this strong is among unrelated columns, adjusted for the number of pairs involving Age (Benjamini-Hochberg). Among all pairs reported with q below 0.05, about 5% or fewer are expected to be false discoveries
95% CI (Pearson)Numeric partner only. The lower and upper bounds of the 95% confidence interval on the Pearson coefficient, from the Fisher z-transform. An interval that contains 0 leaves the direction of the relationship open
RowsThe rows in which both columns hold a value. The q-value and the interval of a pair rest on this count
6.2.2 Visualization

The rows of Age are not charted in their order: consecutive rows are no more alike than rows picked at random (a correlation of 0.03 between each value and the next), so the order carries no pattern to show.

How to read this

The charts in this chapter were chosen from the type of Age and of the columns it is compared with: a numeric column gets a histogram, a box plot and, when its row order carries a pattern, a value sequence, a categorical column gets a frequency chart, and its relation to each target of the analysis, and to the segment column when there is one, gets the chart that suits the pair, with the target on the vertical axis where it is a number. A column is not charted against every other column; which columns move together is shown under Strongest Correlations. The charts complement the figures in the Description chapter; the shape of a distribution and the position of its outliers are easier to see than to read.

6.3 Embarked

Embarked: 3 distinct values, most often S, 0.2% missing.

6.3.1 Description
Table 6.3.1 · Embarked
StatisticValue
Typetext
Values present889
Distinct values3
Continuousno
ModeS
Table 6.3.1 · Rows per value
VariableValueRowsShare
EmbarkedS64472.44%
EmbarkedC16818.9%
EmbarkedQ778.661%
6.3.1.1 By Value

Survived is yes in 55% of the rows where Embarked is C and in 34% where it is S: 1.64 times the rate (95% interval 1.38 to 1.95). An association, not a cause.

Table 6.3.1.1 · Groups
TargetValueRowsAverage or share95% interval
SurvivedC16855.36%47.8% to 62.67%
SurvivedQ7738.96%28.84% to 50.13%
SurvivedS64433.7%30.15% to 37.43%
Table 6.3.1.1 · Mean per value of Embarked
EmbarkedRowsFarePclassSiblings and spouses aboardAgeParents and children aboard
08050
C16859.951.8870.386930.810.3631
Q7713.282.9090.428628.090.1688
S64427.082.3510.571429.450.413

How to read this

The rows are grouped by the value of Embarked, and every other column is summarized within each group with the same descriptive statistics. A statistic that shifts from group to group marks a column that moves with Embarked; one that stays level marks a column that does not. Groups with few rows produce unstable figures, so the row count of each group is the first thing to read. Where the groups differ in a target by more than chance would give, the chapter states by how much; it states that the two go together, not that one brings the other about.

6.4 Fare

Fare: 0 to 512, median 14.5, skewed to high values; moves opposite to Pclass most (r -0.549).

6.4.1 Description
Table 6.4.1 · Fare
StatisticValue
Typenumber
Values present891
Distinct values248
Continuousyes
Decimal places4
Minimum0
Maximum512.3
Mean32.2
Median14.45
Mode8.05

The first 10 rows of 17. The other 7 are in the notebook.

6.4.1.1 Correlation
Table 6.4.1.1 · Correlations
ColumnPair ofAssociationPearson's r95% CI (Pearson)Spearman's ρKendall's τq-valueRows
Pclasstwo numbers0.688-0.5495-0.5938 to -0.5019-0.688-0.5735< 0.001891
Siblings and spouses aboardtwo numbers0.44710.15970.09497 to 0.2230.44710.3583< 0.001891
Parents and children aboardtwo numbers0.41010.21620.1527 to 0.2780.41010.3304< 0.001891
Embarkeda number and a category0.2816< 0.001889
Surviveda number and a category0.2573< 0.001891
Sexa number and a category0.1823< 0.001891
Agetwo numbers0.13510.096070.02285 to 0.16830.13510.093250.01022714
6.4.2 Visualization

The rows of Fare are not charted in their order: consecutive rows are no more alike than rows picked at random (a correlation of -0.04 between each value and the next), so the order carries no pattern to show.

6.5 Parents and children aboard

Parch: 0 to 6, median 0, skewed to high values, 7 distinct values; moves with SibSp most (r 0.415).

6.5.1 Description
Table 6.5.1 · Parents and children aboard
StatisticValue
Typeinteger
Values present891
Distinct values7
Continuousno
Decimal places0
Minimum0
Maximum6
Mean0.3816
Median0
Mode0

The first 10 rows of 17. The other 7 are in the notebook.

Table 6.5.1 · Rows per value
VariableValueRowsShare
Parents and children aboard067876.09%
Parents and children aboard111813.24%
Parents and children aboard2808.979%
Parents and children aboard350.5612%
Parents and children aboard440.4489%
Parents and children aboard550.5612%
Parents and children aboard610.1122%
6.5.1.1 By Value
Table 6.5.1.1 · Mean per value of Parents and children aboard
Parents and children aboardRowsFarePclassSiblings and spouses aboardAge
067825.592.3220.237532.18
111846.782.2031.08524.42
28064.342.2752.06317.22
3525.952.6133.2
4484.972.544.5
5532.55339.2
6146.9343
6.5.1.2 Correlation
Table 6.5.1.2 · Correlations
ColumnPair ofAssociationPearson's r95% CI (Pearson)Spearman's ρKendall's τq-valueRows
Siblings and spouses aboardtwo numbers0.450.41480.3589 to 0.46780.450.4252< 0.001891
Faretwo numbers0.41010.21620.1527 to 0.2780.41010.3304< 0.001891
Agetwo numbers0.2542-0.1891-0.2589 to -0.1174-0.2542-0.2001< 0.001714
Sexa number and a category0.2455< 0.001891
Embarkeda number and a category0.085040.04684889
Surviveda number and a category0.081630.02072891
Pclasstwo numbers0.02280.01844-0.04729 to 0.08402-0.0228-0.021020.5825891
6.5.2 Visualization

The rows of Parch are not charted in their order: consecutive rows are no more alike than rows picked at random (a correlation of 0.01 between each value and the next), so the order carries no pattern to show.

6.6 Pclass

Pclass: 1 to 3, median 3, skewed to low values, 3 distinct values; moves opposite to Fare most (r -0.549).

6.6.1 Description
Table 6.6.1 · Pclass
StatisticValue
Typeinteger
Values present891
Distinct values3
Continuousno
Decimal places0
Minimum1
Maximum3
Mean2.309
Median3
Mode3

The first 10 rows of 17. The other 7 are in the notebook.

Table 6.6.1 · Rows per value
VariableValueRowsShare
Pclass121624.24%
Pclass218420.65%
Pclass349155.11%
6.6.1.1 By Value

Survived is yes in 63% of the rows where Pclass is 1 and in 24% where it is 3: 2.60 times the rate (95% interval 2.16 to 3.13). An association, not a cause.

Table 6.6.1.1 · Groups
TargetValueRowsAverage or share95% interval
Survived121662.96%56.35% to 69.12%
Survived218447.28%40.2% to 54.48%
Survived349124.24%20.66% to 28.22%
Table 6.6.1.1 · Mean per value of Pclass
PclassRowsFareSiblings and spouses aboardAgeParents and children aboard
121684.150.416738.230.3565
218420.660.402229.880.3804
349113.680.615125.140.3931
6.6.1.2 Correlation
Table 6.6.1.2 · Correlations
ColumnPair ofAssociationPearson's r95% CI (Pearson)Spearman's ρKendall's τq-valueRows
Faretwo numbers0.688-0.5495-0.5938 to -0.5019-0.688-0.5735< 0.001891
Agetwo numbers0.3692-0.3692-0.4309 to -0.3041-0.3617-0.2861< 0.001714
Surviveda number and a category0.3385< 0.001891
Embarkeda number and a category0.3082< 0.001889
Sexa number and a category0.1319< 0.001891
Siblings and spouses aboardtwo numbers0.083080.083080.0175 to 0.148-0.04302-0.039550.0153891
Parents and children aboardtwo numbers0.02280.01844-0.04729 to 0.08402-0.0228-0.021020.5825891
6.6.2 Visualization

The rows of Pclass are not charted in their order: consecutive rows are no more alike than rows picked at random (a correlation of -0.03 between each value and the next), so the order carries no pattern to show.

6.7 Sex

Sex: 2 distinct values, most often male.

6.7.1 Description
Table 6.7.1 · Sex
StatisticValue
Typetext
Values present891
Distinct values2
Continuousno
Modemale
Table 6.7.1 · Rows per value
VariableValueRowsShare
Sexmale57764.76%
Sexfemale31435.24%
6.7.1.1 By Value

Survived is yes in 74% of the rows where Sex is female and in 19% where it is male: 3.93 times the rate (95% interval 3.28 to 4.71). An association, not a cause.

Table 6.7.1.1 · Groups
TargetValueRowsAverage or share95% interval
Survivedfemale31474.2%69.09% to 78.73%
Survivedmale57718.89%15.91% to 22.29%
Table 6.7.1.1 · Mean per value of Sex
SexRowsFarePclassSiblings and spouses aboardAgeParents and children aboard
female31444.482.1590.694327.920.6497
male57725.522.390.429830.730.2357

6.8 Siblings and spouses aboard

SibSp: 0 to 8, median 0, skewed to high values, 7 distinct values; moves with Parch most (r 0.415).

6.8.1 Description
Table 6.8.1 · Siblings and spouses aboard
StatisticValue
Typeinteger
Values present891
Distinct values7
Continuousno
Decimal places0
Minimum0
Maximum8
Mean0.523
Median0
Mode0

The first 10 rows of 17. The other 7 are in the notebook.

Table 6.8.1 · Rows per value
VariableValueRowsShare
Siblings and spouses aboard060868.24%
Siblings and spouses aboard120923.46%
Siblings and spouses aboard2283.143%
Siblings and spouses aboard3161.796%
Siblings and spouses aboard4182.02%
Siblings and spouses aboard550.5612%
Siblings and spouses aboard870.7856%
6.8.1.1 By Value
Table 6.8.1.1 · Mean per value of Siblings and spouses aboard
Siblings and spouses aboardRowsFarePclassAgeParents and children aboard
060825.692.35231.40.1859
120944.152.05730.090.6555
22851.752.35722.620.6429
31668.912.56313.921.313
41831.8637.0561.5
5546.9310.22
8769.5532
6.8.1.2 Correlation
Table 6.8.1.2 · Correlations
ColumnPair ofAssociationPearson's r95% CI (Pearson)Spearman's ρKendall's τq-valueRows
Parents and children aboardtwo numbers0.450.41480.3589 to 0.46780.450.4252< 0.001891
Faretwo numbers0.44710.15970.09497 to 0.2230.44710.3583< 0.001891
Agetwo numbers0.3082-0.3082-0.3732 to -0.2403-0.1821-0.1427< 0.001714
Sexa number and a category0.11460.001063891
Pclasstwo numbers0.083080.083080.0175 to 0.148-0.04302-0.039550.01836891
Embarkeda number and a category0.070050.132889
Surviveda number and a category0.035320.2922891
6.8.2 Visualization

The rows of SibSp are not charted in their order: consecutive rows are no more alike than rows picked at random (a correlation of -0.00 between each value and the next), so the order carries no pattern to show.

6.9 Survived

Survived: 2 distinct values, most often no.

6.9.1 Description
Table 6.9.1 · Survived
StatisticValue
Typebool
Values present891
Distinct values2
Continuousno
Modefalse
Table 6.9.1 · Rows per value
VariableValueRowsShare
Survivedfalse54961.62%
Survivedtrue34238.38%
6.9.1.1 By Value
Table 6.9.1.1 · Mean per value of Survived
SurvivedRowsFarePclassSiblings and spouses aboardAgeParents and children aboard
false54922.122.5320.553730.630.3297
true34248.41.950.473728.340.4649
6.9.3 Class Balance

The table counts the rows in each class of Survived. The split matters because a classifier can reach a high accuracy by predicting the majority class alone. A class that holds a small share of the rows gives the model little to learn from, and its precision and recall in the Classification Performance chapter are the figures that say whether it is recognized at all. When one class holds nearly every row, a constant prediction already scores well, so the model's accuracy has to be read against that baseline rather than against zero. A roughly even split lets the overall accuracy stand on its own.

6.10 Duplicate Rows

Across 891 rows the table has 167 exact-duplicate rows (19% of the table; biggest duplicate group 13 rows): substantial. Likely root causes: repeated CSV imports, a missing primary-key deduplication step, or row-level leakage between intended-distinct sources. Deduplicating before training matters; duplicated rows inflate model confidence artificially.

Largest group size
13
N exact duplicates
167
N exact groups
56
N rows
891
N unique
780
Pct exact duplicates
18.74
Verdict
Substantial

How to read this

This chapter counts rows that repeat another row exactly, value for value: how many rows take part in a duplicate group, how many groups exist, and how large the largest group is.

Duplicate rows inflate the apparent row count and can place identical rows on both sides of the training and held-out split, which flatters every quality figure in this report. Only exact repeats are detected here; rows that differ by a rounding digit or a whitespace variant count as distinct.

6.11 Leakage Suspicion

Nothing to check. No column that awaits an answer tracks a target at 0.95 or more, so no column on its own gives a target away.

Categorical verdict
Clean
Critical threshold
0.999
N categorical critical
0
N categorical suspects
0
N confirmed
0
N critical
0
N suspects
0
Threshold
0.95
Verdict
Clean

How to read this

For every column that is not a target, this chapter reads how closely the column tracks each target, on an association from 0 to 1, and lists any pair at 0.95 or more. For two numeric columns the association is the stronger of Pearson's r and Spearman's rho; when the column or the target is categorical it is the correlation ratio η, or Cramér's V when both are. At 0.999 or more the column reproduces the target: that is what a copy or a rescaled copy of it looks like.

A listed column poses one question: is its value known before the target's value exists? If it is, the column is a strong input and the quality stated in this report is real. If it was computed from the target or recorded after it, a formula that reads it looks right on these rows and will not hold on new data. The coefficients read the same in both cases; the answer needs someone who knows where the column came from.

The owner of the analysis can give that answer. A column confirmed as known before the target is listed as confirmed and is no longer a suspect. A column that turns out to be a leak is left out of the model's inputs, and the analysis run again.

6.12 General

Clustering found no clear groups. The best grouping of the 714 complete rows over 5 numeric columns is into 2 groups, with a silhouette of 0.406 (on a scale where 1 is fully separate groups and 0 is none), below the 0.50 that clear structure shows, so no Clusters chapter is written.

Table 6.12 · Groupings tried
GroupsSilhouetteInertiaKept
20.40582749.3yes
30.35532371.3
40.38891790
50.38311458.4
60.38241220.6
Inertia
2749.3
K
2
N columns used
5
N rows
891
N rows complete
714
Silhouette
0.4058
Verdict
Weak

How to read this

The General chapter covers what holds across all columns together: descriptive statistics, correlations, missing values and outlier ranges under Description, the Clusters found among the rows, and, when a segment column was chosen, the Segments.

6.12.1 Description
Table 6.12.1 · Columns
VariableTypeValues presentDistinct valuesContinuousDecimal places
Farenumber891248yes4
Sextext8912no
Embarkedtext8893no
Survivedbool8912no
Pclassinteger8913no0
Siblings and spouses aboardinteger8917no0
Agenumber71488yes2
Parents and children aboardinteger8917no0
Table 6.12.1 · Center
VariableMeanMedianMode
Fare32.214.458.05
Sexmale
EmbarkedS
Survivedfalse
Pclass2.30933
Siblings and spouses aboard0.52300
Age29.72824.0
Parents and children aboard0.381600
Table 6.12.1 · Spread
VariableMinimumMaximumStandard deviationVarianceInterquartile rangeSum
Fare0512.349.692469.423.0928693.9
Sex
Embarked
Survived
Pclass130.83610.69912057
Siblings and spouses aboard081.1031.2161466
Age0.428014.5321117.8821205.2
Parents and children aboard060.80610.64970340
Table 6.12.1 · Shape
VariableSkewnessKurtosisTotal sum of squares
Fare4.78733.42,197,799
Sex
Embarked
Survived
Pclass-0.6305-1.28622.1
Siblings and spouses aboard3.69517.881082.3
Age0.38910.1783150,457
Parents and children aboard2.7499.778578.3
Table 6.12.1 · Rows per value
VariableValueRowsShare
Sexmale57764.76%
Sexfemale31435.24%
EmbarkedS64472.44%
EmbarkedC16818.9%
EmbarkedQ778.661%
Survivedfalse54961.62%
Survivedtrue34238.38%
Pclass121624.24%
Pclass218420.65%
Pclass349155.11%

The first 10 rows of 24. The other 14 are in the notebook.

How to read this

This chapter summarizes every column at once: the descriptive statistics table below, then Correlation, Missing Values and Outliers. For a numeric column the table reports its center (mean, median, mode), its spread (standard deviation, variance, interquartile range, percentiles) and its shape (skewness, kurtosis); for a categorical column it reports the count and share of each category.

Each row of the tables describes one column. The statistics are grouped: the column itself, where its values center, how far they spread, what shape their distribution takes, and its percentiles. They read as follows.

Table 6.12.1
StatisticExplanation
VariableName of the column the statistics in the row describe
TypeType assigned during data processing (bool, integer, number, decimal, text or date)
Values presentNumber of rows in which the column holds a value
Distinct valuesNumber of different values the column holds
ContinuousWhether the column can take any value in a range, as opposed to a discrete column limited to a fixed set of values
Decimal placesLength of the fractional part of the values
MeanArithmetic average: the sum of all values divided by the number of values
MedianThe middle value: half of the values lie at or below it and half at or above it. It is also the 50% percentile
ModeThe value that appears most often
MinimumSmallest numeric value in the column

The first 10 rows of 20. The other 10 are in the notebook.

6.12.1.1 Missing Values

2 columns have missing values. 712 of 891 rows (80%) hold a value in every column a model reads; a model is computed on those rows only. age is the only gap in 177 rows: without it 889 rows would be complete.

N columns with missing
2
N complete rows
712
N rows
891
Pct complete rows
79.91

How to read this

The table lists, for each column, the count of present values (Values) beside the row count of the processed table (Rows), the number of missing values and their share. The larger the share, the less any statistic or model built on the column can be trusted.

  • Below 5% missing: safe to use as it is.
  • 5% to 25% missing: usable; filling the gaps or excluding those rows is worth considering.
  • 25% or more missing: the column is flagged and receives its own chapter in the Data section. Verify why so much is missing before trusting any result that depends on it.

A model is computed only on rows that hold a value in every column it reads, so gaps spread over several columns cost more rows than any one column's share suggests. The last column, Complete rows without, shows for each input with gaps how many rows would be complete if that column were left out; it is blank for a column without gaps, for a target, and for a column no model reads. A column that is the only gap in many rows is the one whose removal keeps the most data.

6.12.1.2 Outliers

3 of 4 numeric columns have values beyond the Tukey fences (1.5 times the interquartile range outside the quartiles). fare has the largest share: 13% of its values. Whether such values are rare but real rows or recording errors decides whether they are kept. 1 column was not assessed: too few values, or a middle half that sits on a single value.

Table 6.12.1.2 · Outliers
ColumnValuesLower fenceUpper fenceBelowAboveShare
Age714none below64.8130111.54%
Fare891none below65.63011613.02%
Parents and children aboard891
Pclass891none belownone above000%
Siblings and spouses aboard891none below2.5000465.16%
N columns
5
N columns assessed
4
N columns with outliers
3
Worst column
fare
Worst pct
13.02

How to read this

The table counts the outliers of every numeric column by the Tukey rule. Q1 and Q3 are the values below which 25% and 75% of a column's values fall, and the interquartile range is Q3 minus Q1. The lower fence lies 1.5 times the interquartile range below Q1, the upper fence the same distance above Q3; a value beyond a fence is an outlier. For each column the table gives both fences, how many values lie below and above them, their share of the column's values, and the single value that lies furthest beyond its fence. These are the same fences the box plots draw their whiskers to.

A column is not assessed when it has fewer than four values, or when the middle half of its values sits on a single number: the interquartile range is then zero and the rule would call every other value an outlier.

Extreme values can be real (rare but legitimate rows) or errors (measurement mistakes, data-entry slips). Which case applies decides whether to keep, clip or drop them before trusting a model that uses the column. A strongly skewed column has many values beyond one fence without any of them being wrong.

6.12.1.3 Correlation

28 column pairs analyzed across 891 rows (10 of two numbers, 15 of a number and a category, 3 of two categories); 24 (86%) are unlikely to be chance, after allowing for how many pairs were tested. Any other pair may still show a large association, but one that cannot be told apart from chance on the rows the pair was measured on. Every pair is stated as an association from 0 to 1, whatever its kind, so pairs of different kinds can be ranked against each other. An association states that two columns go together, not that one brings the other about.

N categorical pairs
3
N mixed pairs
15
N numeric pairs
10
N pairs
28
N samples
891
N significant
24
Table 6.12.1.3 · Pairs · 24 of 28 rows shown
Association95% CIColumnEta squaredGroupsKendallKindNOther columnPearsonQ valueSpearman
0.688-0.5938, -0.5019Fare-0.5735numeric891Pclass-0.5495< 0.001-0.688
0.5426Sex2, 2categorical891Survived< 0.001
0.450.3589, 0.4678Parents and children aboard0.4252numeric891Siblings and spouses aboard0.4148< 0.0010.45
0.44710.09497, 0.223Fare0.3583numeric891Siblings and spouses aboard0.1597< 0.0010.4471
0.41010.1527, 0.278Fare0.3304numeric891Parents and children aboard0.2162< 0.0010.4101
0.3692-0.4309, -0.3041Age-0.2861numeric714Pclass-0.3692< 0.001-0.3617
0.3385Pclass0.11462numeric_categorical891Survived< 0.001
0.3082Embarked0.095023numeric_categorical889Pclass< 0.001
0.3082-0.3732, -0.2403Age-0.1427numeric714Siblings and spouses aboard-0.3082< 0.001-0.1821
0.2816Embarked0.079273numeric_categorical889Fare< 0.001

The first 10 rows of 24. The other 14 are in the notebook.

How to read this

This chapter measures how pairs of columns go together: the Correlation Measures table below, the Strongest Correlations, the Correlation Heatmap and, when the analysis has targets, the Potential Data Leaks. Numeric columns and categorical columns are both paired, a categorical column being one that is not numeric and holds between 2 and 50 distinct values. Every pair is stated as an association from 0 (unrelated) to 1 (one column gives the other away), so pairs of different kinds can be compared. An association states that two columns go together, not that one brings the other about.

The table lists every pair of columns once, with its kind, its association, the figures of its kind, its q-value and the number of rows the pair was measured on. A pair is measured on the rows where both columns hold a value.

Table 6.12.1.3
MeasureExplanation
KindWhat the two columns hold: two numbers (numeric), a number and a category (numeric_categorical), or two categories (categorical)
AssociationStrength of the pair from 0 to 1, whatever its kind. Two numbers: the stronger of Pearson's coefficient and Spearman's ρ, without its sign. A number and a category: the correlation ratio η. Two categories: Cramér's V
CovarianceTwo numbers only. Direction of the relationship (positive or negative) in the units of the two columns. It is not standardized, so its size says little about strength without further context
Pearson's Correlation CoefficientTwo numbers only. Strength and direction of a linear relationship, from -1 (perfect negative) through 0 (no linear relationship) to 1 (perfect positive)
Spearman's ρTwo numbers only. Strength and direction of a monotonic relationship, computed on ranks rather than values. It captures relationships that consistently rise or fall even when they are not linear, and it is less affected by extreme values
Kendall's τTwo numbers only. Strength and direction of a monotonic relationship based on the concordance of ranks between the two columns. More conservative than Spearman's ρ, and steadier on small tables
Correlation ratio ηA number and a category. The square root of the share of the number's spread that lies between the categories, from 0 (every category has the same average) to 1 (the category fixes the number). For a category of two values it equals the absolute Pearson coefficient with the category coded 0 and 1. Its square, η², is that share: an η of 0.6 means the categories account for 36% of the spread
Cramér's VTwo categories. How far the table of counts of the two columns departs from what unrelated columns would give, from 0 (unrelated) to 1 (each value of one column goes with one value of the other), corrected so that columns with many rare values do not read as related
q-valueHow likely a pair this strong is among unrelated columns, adjusted for the number of pairs listed (Benjamini-Hochberg false-discovery rate). Among all pairs reported with q below 0.05, about 5% or fewer are expected to be false discoveries. The right measure for ranking many pairs
95% CI (Pearson)Two numbers only. Lower and upper bounds of the 95% confidence interval on the Pearson coefficient, via the Fisher z-transform, on the rows the pair was measured on. A narrow interval means the coefficient is well estimated; a wide interval that straddles zero means the relationship is uncertain

The first 10 rows of 12. The other 2 are in the notebook.

6.12.1.3.1 Strongest Correlations

The 20 pairs of columns with the smallest q-values: the associations that remain significant after the Benjamini-Hochberg adjustment for the number of pairs tested. Among all pairs reported with q below 0.05, about 5% or fewer are expected to be false discoveries; a pair above 0.05 may be coincidence even when its association looks strong.

A pair with an association above 0.9 often signals a duplicate or derived column. Moderately strong pairs with a low q-value are the relationships most worth investigating.

Each listed pair is drawn below, the picture behind the figure. Two numbers are drawn as a scatter, one point per row, the quickest way to see whether a strong value rests on a trend or on a few rows far from the rest. A number and a category are drawn as the number's box plot per category. Two categories are drawn as a heat map of how many rows hold each combination of values.

6.12.1.3.3 Potential Data Leaks

The table lists the association between every column and each target, whatever the two hold, with its q-value. An association close to 1 with a target, together with a q-value near zero, is one of two things: a strong input, or a data leak, a column derived from the target after the fact, such as a tax amount computed from the price being predicted. A leaked column trains a model that looks perfect and fails on new data, because the leak is not available at prediction time.

The Leakage Suspicion chapter in the Data section lists the pairs at 0.95 or more and marks those at 0.999 or more, where a column reproduces the target. For two numbers the association is whichever of Pearson's r and Spearman's rho is the stronger, because a column derived from the target often follows a curve rather than a line: the log of a price tracks the price perfectly, and Pearson alone reads that as weaker than it is. For a number and a category it is the correlation ratio η, and for two categories Cramér's V. Whether a listed column is a strong input or a leak depends on whether it is known before the target exists, which the owner of the analysis can confirm.

6.13 Findings

2 findings from the data profile (1 Critical, 1 Info) are listed in the Concerns chapter at the top of the analysis.

7 Implications

Accuracy varies with age, showing lower accuracy in the third quarter. The output's verdict is pending and only 1.69% of held-out rows fall outside the model's input coverage.

Most notable in the Implications section:

  • The model is less accurate on rows with Age in the third quarter (28 to 37) (20 points less often right than overall)

How to read this

The Implications section states how to act on the models: the Stakeholder Summary and the Recommended Next Data, where the models hold and where they weaken (Quality by Input Range, Rows unlike the ones the model learned from, Per-Segment Predictions, Fairness), what to weigh before relying on them (Causal Honesty, Deployment Readiness), and the Provenance & Audit trail a reviewer needs to retrace the analysis.

7.1 Stakeholder Summary

The model predicts Survived, classifying 76% of the cases correctly. Its strongest input is Pclass, which carries 45% of its total reliance. Compared with a logistic regression on the numeric inputs, which classifies 63% of each class correctly (balanced accuracy), this model comes out ahead by 12 points of balanced accuracy. In rows where the two disagree, it is the closer predictor 69% of the time.

The model did not perform as accurately where Age is in the third quarter (28 to 37), classifying 56% of those rows correctly. Its formula is moderately complex and built from specialist functions, which means it is not straightforward to read. The analysis found 19% exact duplicate rows, so the check may be affected by split contamination, and the target Survived is reported as severely miscalibrated. The next step is to validate these findings on a fresh sample before relying on the model for decisions.

7.2 Recommended Next Data

  • Collect more rows where Age is in the third quarter (28 to 37). Reason: the model is less accurate on the 41 held-out rows in this segment, classifying 56% of them correctly.
  • Add or improve columns that measure or capture Age. Reason: 177 more rows are complete without Age, limiting the model’s use of this input and reducing available data.
  • Inspect and address data quality to remove exact duplicate rows. Reason: data has 19% exact duplicate rows, so the held-out split is likely contaminated.
  • Improve measurement and recording for the column Embarked and ensure group fairness in Sex. Reason: fairness diagnostics found parity and bias issues for Embarked and a prediction parity gap for Sex.
  • Calibrate predictions for the target Survived. Reason: the yes-or-no target Survived is severely miscalibrated with an expected calibration error of 0.239.

7.3 Quality by Input Range

Quality by Input Range splits the held-out rows by every usable input and compares the model's quality on each segment with its quality on all held-out rows. For a number the quality is R², the share of variation explained; for a yes-or-no target it is accuracy, the share of rows classified correctly, the measure the Classification Performance chapter reports. A numeric input is split into quartiles; a categorical input with at most ten values is split by value. A segment with fewer than three held-out rows is left out, because its gap would be noise.

The chart is sorted from the worst gap to the best. Each bar is the segment's figure minus the figure on all held-out rows.

  • Negative bars: the model is weaker on these rows than on all held-out rows. A segment 0.25 or more below the overall value (25 points of accuracy) reads much weaker; a segment 0.10 to 0.25 below reads weaker. These are the segments to treat with caution.
  • Positive bars: the model is stronger on these rows than overall. A strong segment can mask weakness elsewhere, so the negative segments come first.
7.3.1 Survived by Input Range

Segment age in the third quarter (28 to 37) is mildly weaker than the aggregate (41 held-out rows): accuracy 56% on the segment against 76% on all held-out rows (gap -20 points). A noticeable but not severe quality drift; worth watching if this slice represents a high-stakes subset of the production data.

Table 7.3.1
SegmentRowsAccuracyGap to all rowsVerdict
Age = q3410.5610-0.19959Weaker than on all rows
Embarked = C310.6774-0.08314In line with all rows
Fare = q4420.6905-0.07009In line with all rows
Siblings and spouses aboard = q4480.7083-0.05223In line with all rows
Pclass = q1430.7209-0.03963In line with all rows
Pclass = q4650.7231-0.03749In line with all rows
Sex = male890.7528-0.00775In line with all rows
Fare = q3330.7576-0.00299In line with all rows
Parents and children aboard = q41420.7606+0.00000In line with all rows
Sex = female530.7736+0.01302In line with all rows

The first 10 rows of 19. The other 9 are in the notebook.

Aggregate accuracy
0.7606
Measure
accuracy
Target
Survived

7.4 Rows unlike the ones the model learned from

3 of 178 held-out rows (1.7%) lie further from the training rows than 99 in 100 rows like them would, measured on the 3 inputs the model reads (age, parch, pclass). That is a small minority; the held-out figures describe the model on rows like the ones it was trained on.

Table 7.4
TargetInputs measuredLineHeld-out rowsBeyond the lineShare
SurvivedAge, Parents and children aboard, Pclass3.36817831.69%
Table 7.4 · Score bins · 24 of 30 rows shown
CountFromTo
000.157
00.1570.313
00.3130.47
140.470.627
60.6270.784
50.7840.94
550.941.097
201.0971.254
21.2541.411
51.4111.567

The first 10 rows of 24. The other 14 are in the notebook.

How to read this

Out-of-distribution detection finds held-out rows that lie far from the training rows of a model. It looks only at the numeric inputs the model reads. Each of them is standardized against the mean and standard deviation of the training rows, and the standardized values are combined into one distance per row. The line a row is read against depends on the number of inputs: it is the distance that 99 in 100 rows like the training rows stay below. A row beyond the line is flagged as out of distribution, and the held-out figures are unlikely to apply to it. When the held-out rows resemble the training rows, about one row in a hundred is flagged.

The chart shows one bar per held-out row in row order; the flagged rows are the bars at or above the line. With more than one target, the chart shows the model with the largest flagged share, and the figures name it.

The check treats inputs independently, so it will not notice a rare combination of values that are each ordinary on their own, such as a large height with a small weight. It is a first screen. A decision that depends on catching unusual inputs needs a dedicated check.

7.5 Fairness

This chapter checks the held-out predictions for uneven treatment of groups. For every categorical column with two to ten distinct values, other than the target, it reports per group the row count, mean actual value, mean prediction and mean residual, with R² and MAE for a number or accuracy, the share of rows classified correctly, for a yes-or-no target, and two measures across the groups.

  • Prediction parity ratio: the smallest group mean prediction divided by the largest, in absolute value. A ratio of 1.0 is perfect parity. Below 0.80, the four-fifths rule, some group receives systematically different predictions.
  • Largest mean residual: the largest absolute mean residual of any group. Above 30% of the overall residual standard deviation, at least one group is systematically over- or under-predicted.

The verdict combines the two: balanced when neither measure trips, parity gap or residual bias when one does, parity gap and residual bias when both do, and insufficient data when fewer than two groups have enough held-out rows.

Diafunc does not decide which columns are protected attributes; it reports every plausible one. A flagged column matters where it is a protected attribute in the decision the model supports, and can be set aside where it is not.

7.5.1 Survived Fairness

Column Embarked splits the held-out rows into 3 groups. The prediction-parity ratio is 0.637 (smallest over largest mean prediction), the largest absolute group residual mean is 0.25 (0.513 times the overall residual standard deviation). Parity gap and residual bias: the model both predicts systematically lower for some groups and errs systematically against at least one group. This is the worst-case fairness signal on this column; review before deployment.

Aggregate residual std
0.4878
Held-out rows offered
178
N columns
2
N proxies
0
Held-out rows without an answer
36
Proxy threshold
0.5
Table 7.5.1 · Columns
Bias max abs residual meanColumnGroupsInterpretationN groupsPrediction parity ratioVerdict
0.25EmbarkedQ, C, SColumn Embarked splits the held-out rows into 3 groups. The prediction-parity ratio is 0.637 (smallest over largest mean prediction), the largest absolute group residual mean is 0.25 (0.513 times the overall residual standard deviation). Parity gap and residual bias: the model both predicts systematically lower for some groups and errs systematically against at least one group. This is the worst-case fairness signal on this column; review before deployment.30.6369Parity and bias
0.1348Sexmale, femaleColumn Sex splits the held-out rows into 2 groups. The prediction-parity ratio is 0.0744 (smallest over largest mean prediction), the largest absolute group residual mean is 0.135 (0.276 times the overall residual standard deviation). Parity gap: at least one group receives systematically smaller predictions on average. Whether that is a property of the target itself or a model bias against the group needs checking.20.07444Prediction parity gap

7.6 Causal Honesty

Diafunc found a formula that captures the structure in the training data. That structure is correlative: it states what predicts what in this data. It does not establish that any input causes the target.

A correlative model is the right tool for predicting the target on new rows like these, for exploring which inputs carry information about the target, and for an early-stage diagnostic or screening tool.

A correlative model is not the right tool for claiming that intervening on an input will change the target, for attributing a target's values to specific causes for accountability, or for choosing between policies that act on the inputs.

The Quality by Input Range, Fairness and Concerns chapters show the most common confounding patterns in the data.

The model is correlative: it captures which columns predict the target in the training data, not whether changing one would change the other. Predictions are reliable for inputs that look like the training distribution; they are not evidence that intervening on an input will change the target. The 4 upgrade pathways below show what evidence would support a causal claim.

Table 7.6 · Upgrade pathways
NameSummary
Controlled experimentRandomize the input to be acted on, then analyze again. Randomization breaks confounding, so any change in the target is attributable to the input.
Natural experimentFind a setting where the input varied for reasons unrelated to the target, an instrumental variable. Variation of that kind supports causal inference.
Causal graphWrite out what plausibly causes what, then check whether the model's terms are consistent with the conditional independences the graph implies.
Control for confoundersIf a third variable plausibly moves both the input and the target, stratify by it or condition on it before training again. Gaps in the Quality by Input Range chapter are a clue.

7.7 Deployment Readiness

The analysis ran with the configuration below. The checks and the verdict of this chapter are read against it.

  • Targets: 1 target: survived
  • Rows: 891 rows
  • Per-Segment Predictions: not produced, because no segment column was chosen
  • Fairness: compared across 2 categorical columns (embarked, sex); which of them are protected attributes is not decided here
  • Out-of-Distribution: held-out rows are scored against the training rows; predictions made outside this report are not scored
  • Provenance & Audit: recorded in the chapter of that name

Across 8 checks (4 pass, 4 warn, 0 fail, 2 critical concerns), every check passes or warns, but 2 critical concerns are open: Not ready to use yet. The Concerns chapter names what is open; it needs addressing before the predictions are used.

Table 7.7
NameStatusDetail
GeneralizationPassheld-out quality holds up against training quality
Classification Performance for SurvivedPassrecall is balanced across the classes, accuracy 76%
Calibration for SurvivedWarnpredicted probabilities do not match the observed rates, expected calibration error 24%
Ranking Quality for SurvivedWarnthe model separates the classes moderately, AUC-ROC 0.749
Baseline Lift for SurvivedPassbeats the best yardstick by 12 points of balanced accuracy
Model ConstraintsWarnsome held-out predictions need caution
FairnessWarn2 columns compared, 2 flagged: Embarked (a group both receives smaller predictions and is systematically mis-predicted), Sex (a group receives systematically smaller predictions)
Out-of-DistributionPass1.7% of held-out rows are out of distribution
N critical concerns
2
N fail
0
N pass
4
N warn
4
Overall verdict
Not ready

7.8 Provenance & Audit

This record captures the inputs and configuration that produced the report, so the analysis can be reproduced or the result defended in an audit.

Table 7.8
ItemValue
Analysis ID1e2ac880-cbdc-11f1-92d0-b5d20a2b110a
Run time2026-10-28 23:52 UTC
Total rows891
Modeled targetsSurvived
Segment columnnot available
Time limit24 h 0 min
Time taken3 min 2 s
Credit budget100,000 credits
Ufinq version0.3.49
Loading Diafunc…