Superconductor regression explorer

How five models predict a superconductor's critical temperature (the temperature below which it loses all electrical resistance) from 81 features computed from its chemical formula, and where they fall short. 21,263 materials × 81 features; 6,379 of them are held out for testing.

Where the data and the method come from. The cards below name the dataset and the student notebook this demo is based on, and list what this demo changed. The table then checks what the notebook says about the data against the data file itself, and the last card lists facts measured directly in the file.

Data source. "Superconductivty Data" — UCI Machine Learning Repository data set 464, DOI 10.24432/C53P47, donated 2018-10-12, page last updated 2024-03-29; the file the contributor's notebook calls `train.csv`, 21,263 materials × 82 columns, 81 engineered elemental features and one measured critical temperature. Detailed dataset provenance and usage conditions are on the Dataset page.

Notebook lineage

Source / context
PC5251 Applied Machine Learning and Data Science, final project "Prediction of superconductor's critical temperature", submitted through the course LMS.
Notebook
PC5251_FinalProject.ipynb
Our changes
Our changes — 11 deviations from the notebook
  • Leakage fixed. The notebook fits StandardScaler and PCA on all 21,263 rows (cells 10 and 14) and splits only afterwards (cell 17), so its held-out rows helped choose the scaling and the components. This demo fits both on the 14,884 training rows only and then applies them to the held-out rows. Every number on this page uses this corrected order.
  • PCA settings: PCA(17, svd_solver='full', random_state=0) here, PCA(17, random_state=117) in the notebook. Same number of components; the solver and seed differ, so individual components may differ in sign or order.
  • PolynomialFeatures(degree=2, include_bias=False) here, instead of the notebook's default include_bias=True: 170 terms instead of 171. The fit is the same, because LinearRegression adds its own intercept.
  • Two branches without PCA added: linear regression on all 81 standardized features and random forest on all 81 raw features. The notebook runs its models on the 17 components only, so the comparison between representations is new in this demo.
  • MAE, RMSE, error by temperature band and five example materials are added; the notebook reports R² only.
  • The notebook's 5-fold cross-validation of each model is not repeated; this page reports one fixed 70/30 split, so the notebook's cross-validation scores (0.60167 / 0.75234 / 0.89298) have no counterpart here.
  • RandomForestRegressor runs with n_jobs=-1 (in parallel) here; the notebook leaves the default. This changes speed only: with a fixed random_state the trees are identical.
  • The notebook writes and re-reads an intermediate file, pca_with_Tc.csv (cells 16–17); this demo goes straight from the split to the fits.
  • The analysis script reads the data from original_data/train.csv and checks the file's sha256 checksum on every run.
  • This page includes 8 of the 81 feature columns and the 6,379 held-out rows. The notebook's own figures, a scree plot and one true-versus-predicted scatter, are not reproduced.
  • Unsupervised layouts added (in the Transformation and modelling section): PCA(30), t-SNE at five perplexities and UMAP at four n_neighbors values, all on the 6,379 held-out rows, plus k-means grouping in the browser. The notebook has no t-SNE, UMAP or clustering. No model uses these layouts, and no score depends on them.

Data provenance

Every result on this page is computed from one data file, original_data/train.csv (23,859,780 bytes). Each row of the table quotes a statement the student notebook makes about the data, then shows what the file itself shows. The verdict says whether the two agree.

Property The notebook says The file shows Verdict

How the file reached this page: UCI's published file → the PC5251 course submission → an identical copy, original_data/train.csv → the analysis script tools/precompute.py → this page. File checksum (sha256): 4dfb6e3a1f6ffd969e5a5e42f093c4800d1e2a6c8b1e309f8fcd9f23d86952f3.

What the data file shows

Five facts measured directly in the data file. Each gives the numbers behind it and what it means for the analysis on this page.

No rows are removed: the table analysed is the whole file

The file has no missing values, no row is removed as a duplicate and no value is filled in, so the design matrix (see the Design matrix section) has exactly the rows and columns of the file.

21,263 × 82 read · 21,263 × 82 kept · 0 row(s) carrying a missing value · 0 removed as duplicates · 0 cleaning step(s)

Every count on this page is a count of the whole file.

The file is identical to the one UCI publishes

Its checksum (a fingerprint of the exact bytes) matches the checksum recorded for the file in UCI's published release, and it is checked again every time the analysis runs.

sha256 4dfb6e3a1f6ffd969e5a5e42… · 23,859,780 bytes · record matches

So the licence and the required attribution for UCI's dataset apply to this file.

The target is one column, in K, and it is heavily skewed

The value to predict, the measured critical temperature, is kept in its own column (the target y), apart from the 81 features (the matrix X). Its distribution is lopsided: the mean (34.4 K) sits well above the median (20.0 K), because most materials superconduct only at low temperatures and a few reach much higher ones.

column critical_temp · unit K · min 0.00021 · median 20.0 · mean 34.4 · max 185.0

An average error over all materials is dominated by the many cold ones, so the Evaluation section also scores the models separately in bands of measured temperature.

One random split, shared by every branch

Before anything is fitted, the rows are split once at random into training rows and held-out rows (kept aside for testing). All five branches use exactly the same split, so their predictions can be compared material by material.

14,884 training rows · 6,379 held out · measured held-out fraction 30.00 %

No fitting step uses the held-out rows; every score on this page is measured on them.

17 components keep 95.5 % of the variation in the features

Principal component analysis (PCA) replaces the standardized features with combinations of them, ordered by how much of the variation each carries. It is fitted on the training rows only and then applied to the held-out rows; the share kept is measured on the training rows.

explained variance in 17 components: 95.54 % · first component 39.0 % · last kept component 0.72 %

Whatever the 17 components leave out is lost to every model that uses them; the branches that keep all 81 features measure what that costs (see Transformation and modelling).

What a row and a column are here

Size of the feature table (design matrix) used by every branch: materials × features

—

One row per material, one column per feature computed from its chemical formula. The measured critical temperature is kept apart as the target y: the value the models learn to predict.

21,263
rows · material records
81
columns · engineered features
14,884 / 6,379
training / held-out rows
0.00021–185
K · range of measured critical temperature

How a row is built

  • A row is one material. Row X[i,:] holds that material's 81 feature values. Chemical formulas contain different numbers of elements, so the features summarise the properties of a material's elements (atomic mass, radius, valence and so on) to give every material the same 81 inputs. The Dataset page rebuilds this recipe step by step.
  • A column is one feature. Column X[:,j] is the same summary computed for all 21,263 materials. This page includes 8 of the 81 columns, chosen to cover the element properties the features summarise.
  • A cell x_ij is one number in that feature's own unit — a mass, an energy, a radius, a count. Units differ column to column, which is why “Across one row” plots percentiles and “Down one column” plots original units.
  • Nothing is dropped and the split comes first. All 21,263 rows become the matrix, and a single row split (14,884 / 6,379, measured held-out fraction 30.00 %) is drawn before any scaler, any rotation and any regressor is fitted.

The matrix itself

Row X[i,:] is one material read across its features; column X[:,j] is one feature read down every material; their intersection x_ij is one feature value. Choose another feature column, click a point in “Across one row”, or open another held-out material in a later section, and all three panels follow the same selection.

The whole matrix: materials × features

A schematic: each square stands for about 1,933 rows and 7 columns of the real matrix. The coloured row and column mark the current selection.

X[i,:] → one material X[:,j] → one feature x_ij

Selected cell x_3560,2 = 11.36 u, where the selected row and column cross. This material's measured critical temperature, 60.0 K, is stored outside X as the target.

X[i,:] this material profile

Across one row → one material

A row is one material described by many features. The eight columns included on this page are drawn on a common percentile scale, so features with different units can share one axis. Click a point to show that column in “Down one column”.

Held-out material 3560 (file row 20,572): Weighted mean atomic mass = 11.36 u, at the 0th percentile of the 14,884 training rows.

X[:,j] this feature distribution

Down one column → one feature

A column follows the same measurement across every material, in its original units.

All 21,263 rows contribute to this column. The display is clipped to the 1st–99th percentile (15.31 u to 190.2 u), which leaves 0 row(s) outside the plotted bins. This material's value, 11.36 u, lies outside that window, so its marker is dashed and pinned to the nearest edge.

Two rescalings. “Across one row” plots percentiles rather than values, because eight columns in eight different units cannot share one axis; each percentile is the material's position among the 14,884 training rows of that column. “Down one column” is drawn in original units but clipped to the 1st–99th percentile of the column, computed over all 21,263 rows, so a few extreme values cannot flatten the histogram. A selected value outside that range is drawn at the nearest edge with a dashed marker.

The selected row and column as numbers

Row X[i,:] — the eight included columns

column jfeaturevalueunittraining percentile
1Number of elements2count17
2Weighted mean atomic mass11.36u0
3Weighted mean first ionization energy1207kJ mol⁻¹100
4Weighted mean atomic radius64.33pm0
5Weighted mean density653.4kg m⁻³0
6Weighted mean electron affinity116.7kJ mol⁻¹89
7Weighted mean thermal conductivity0.19W m⁻¹ K⁻¹0
8Weighted mean valence2.67—51

Column X[:,j] — the plotted bins

binfromtomaterialsshare
115.3121.146162.90 %
221.1426.97890.42 %
326.9732.801460.69 %
432.8038.633441.62 %
538.6344.465952.80 %
644.4650.291,5947.50 %
750.2956.124,02518.93 %
856.1261.953,54016.65 %
961.9567.789864.64 %
1067.7873.621,3616.40 %
1173.6279.451,1785.54 %
1279.4585.281,3746.46 %
1385.2891.111,0034.72 %
1491.1196.946813.20 %
1596.94102.86833.21 %
16102.8108.62961.39 %
17108.6114.44482.11 %
18114.4120.33861.82 %
19120.3126.13461.63 %
20126.1131.91810.85 %
21131.9137.81640.77 %
22137.8143.62161.02 %
23143.6149.4940.44 %
24149.4155.21030.48 %
25155.2161.11100.52 %
26161.1166.9780.37 %
27166.9172.7770.36 %
28172.7178.6680.32 %
29178.6184.41070.50 %
30184.4190.23741.76 %

Linear regressionPolynomial regressionRandom forestfilled = 17 components · hollow = all 81 features

Two representations of the same features

What this stage tests. Branch A gives the models all 81 features. Branch B first standardizes them and compresses them with principal component analysis (PCA) into 17 components: new axes, each a weighted mix of all 81 features, ordered by how much of the variation they carry. The split, the models and their settings are the same in both, so any difference in accuracy comes from the representation. The measured temperature is not used to build either representation.

Branch A · keep all 81 featuresLinear regression on the 81 standardized features; random forest on the 81 raw features (trees need no scaling).Linear R² 0.738, MAE 13.42 K · forest R² 0.923, MAE 5.40 KNo polynomial branch here: a degree-2 expansion of 81 features is far larger than one of 17 components, so polynomial regression runs in Branch B only.
same rows · same models
Branch B · reduce to 17 componentsStandardize, then project onto 17 components (both fitted on the training rows only), then fit linear regression, polynomial regression and random forest.Linear R² 0.592, MAE 17.56 K · forest R² 0.908, MAE 5.93 KPolynomial runs here · R² 0.756, MAE 12.58 K · explained variance 95.54 %

Selected: the 17 components. Linear regression MAE 17.56 K (higher than with all 81 features); random forest MAE 5.93 K (higher).

Held-out materials in the first two components

0.0010 K measured143.0 K

Each dot is one of the 6,379 held-out materials, placed by its first two component scores and coloured by its measured critical temperature, from the coldest (0.0010 K) to the warmest (143.0 K). These are the components every 17-component branch uses; the temperature played no part in computing them. Hover over a dot to read it; click it to open that material in the Evaluation section.

What the reduction keeps

Fitted on the 14,884 training rows only, then applied to the held-out rows. The first component alone carries 39.0 % of the training variance; all 17 together carry 95.54 %.

  • 1 component: 39.0 % cumulative variance
  • 2 components: 49.5 % cumulative variance
  • 5 components: 72.7 % cumulative variance
  • 10 components: 87.6 % cumulative variance
  • 17 components: 95.5 % cumulative variance
How to read the axes. Each component is a weighted mix of all 81 standardized features, so its axis has no physical unit and its sign is arbitrary. Distances within this picture can be compared with each other.
The scatter as numbers, by measured-temperature band
measured bandheld-out materialssharemean component 1mean component 2mean measured (K)
< 10 K2,30636.1 %-5.11-0.104.1
10–30 K1,40822.1 %0.36-0.8218.5
30–60 K97215.2 %3.39-0.2041.8
60–90 K1,04416.4 %4.750.9176.9
≥ 90 K64910.2 %4.641.02102.0

The same held-out materials in three unsupervised layouts

The projection above feeds the 17-component models. This panel asks a different question of the same 6,379 held-out materials: if a 2D layout is built from the features alone, without the measured temperatures, do hot and cold materials still end up apart? Choose PCA, t-SNE or UMAP (for t-SNE or UMAP, also a perplexity or n_neighbors value) and set k with the slider. k-means then splits the points on screen into k groups, and the table under the layouts lists each group's measured temperatures.

Predicted against measured temperature, one panel per model

Each panel shows one model on the representation chosen above (polynomial regression always uses the 17 components). Each dot is a held-out material: measured temperature across, prediction up. The dashed diagonal marks a perfect prediction, and a dot's vertical distance from it is that prediction's error. Hover over a dot to read it; click it to open that material in the Evaluation section. Click a panel outside its plot to highlight that model.

Linear · 17 components

R² 0.592 · MAE 17.6 K

Polynomial · 17 components

R² 0.756 · MAE 12.6 K

Random forest · 17 components

R² 0.908 · MAE 5.9 K

All three panels show the same 6,379 held-out materials on the same axes, so a material sits at the same horizontal position in each. Filled dots: 17 components; hollow rings: all 81 features. Colour always identifies the model.

What the representation control changes. All five branches were trained in advance, and their predictions for the held-out materials are stored in this page. Switching the representation swaps the linear-regression and random-forest panels between their 17-component and all-feature versions. Polynomial regression has only the 17-component version, so its panel stays the same. The k-means grouping in the layouts above is the only calculation done in your browser, and no score on this page depends on it.

Where the errors are: by temperature band, and for one material

One overall score averages over very different materials. The bar chart splits the held-out materials into five bands of measured temperature and shows each model's mean absolute error (MAE, the average size of a miss in K) in each band; hover over a bar for its numbers. Further down, one material is opened so you can compare every model's prediction with its measurement.

Linear · 17 componentsPolynomial · 17 componentsRandom forest · 17 componentsfilled = 17 components · hollow = all 81 features

Bands are set by measured temperature, so every branch is scored on the same materials. 649 of the 6,379 held-out materials measure ≥ 90 K. In that band even the best branch shown (Random forest · 17 components) misses by 10.9 K on average, with a mean signed error of −9.2 K: negative means it predicts too low.

Aggregate performance, all five branches

branchtrain R²held-out R²MAERMSE
Linear · 17 components0.6030.59217.5622.19
Linear · all 81 features0.7360.73813.4217.78
Polynomial · 17 components0.7580.75612.5817.15
Random forest · 17 components0.9760.9085.9310.52
Random forest · all 81 features0.9780.9235.409.65

Highlighted rows are the three branches shown in the bar chart. R² is the share of the held-out variation a branch reproduces; MAE and RMSE are in K, and RMSE is always the larger of the two because it weights the big misses more heavily. The train column is scored on the 14,884 rows the branch was fitted on — the gap between it and the held-out column is what overfitting looks like as a number.

The bars as numbers: MAE / mean signed error (K), every band and branch
branch< 10 K10–30 K30–60 K60–90 K≥ 90 K
Linear · 17 components12.54 / +6.118.74 / +11.815.44 / +7.416.62 / −15.837.53 / −37.5
Linear · all 81 features9.50 / +4.313.28 / +7.115.24 / +5.013.48 / −11.324.90 / −24.6
Polynomial · 17 components8.57 / +3.712.05 / +6.915.21 / +5.912.94 / −10.123.50 / −23.2
Random forest · 17 components2.22 / +1.65.72 / +2.38.88 / +1.58.57 / −3.910.92 / −9.2
Random forest · all 81 features2.01 / +1.45.15 / +2.18.29 / +1.27.98 / −3.59.54 / −7.9
held-out materials in the band2,3061,4089721,044649

Held-out material 3560 of 6,379

File row 20,572 · measured critical temperature 60.00 K · band 60–90 K. Choose another material under “Open a held-out material”, or click a dot in one of the scatter charts above.

Measured60.0 K
Linear · reduced-25.5 K
Polynomial · reduced50.9 K
Forest · reduced107.7 K

One material: every branch against the measurement

branchpredictionsigned errorabsolute error
Linear · 17 components-25.5−85.585.5
Linear · all 81 features13.4−46.646.6
Polynomial · 17 components50.9−9.19.1
Random forest · 17 components107.7+47.747.7
Random forest · all 81 features118.5+58.558.5

Back to the input features

This material's values in the eight included columns, and where each value falls among the training materials (its percentile in that column).

featureobservedunittraining percentile
Number of elements2count
17thof 14,884 training rows
Weighted mean atomic mass11.36u
0thof 14,884 training rows
Weighted mean first ionization energy1207kJ mol⁻¹
100thof 14,884 training rows
Weighted mean atomic radius64.33pm
0thof 14,884 training rows
Weighted mean density653.4kg m⁻³
0thof 14,884 training rows
Weighted mean electron affinity116.7kJ mol⁻¹
89thof 14,884 training rows
Weighted mean thermal conductivity0.19W m⁻¹ K⁻¹
0thof 14,884 training rows
Weighted mean valence2.67—
51stof 14,884 training rows

What this analysis establishes

Four findings, the most consequential first. The numbers under each come from the same results as the charts above.

Reducing to 17 components costs accuracy, and it costs the linear branch most.

The comparison keeps the rows, the split and the models fixed and changes only the representation, so the difference below is the cost of the reduction itself. A linear model cannot use information the 17 components leave out; a random forest, which builds its own splits, loses far less. Use the reduction for speed or for a picture, not for accuracy.

held-out R² · linear 0.592 reduced against 0.738 on all 81, a cost of +0.146 · forest 0.908 against 0.923, a cost of +0.014 · the 17 components carry 95.54 % of the training variance

The choice of model matters more than the representation.

Whichever representation is used, the forest beats the linear model by far more than either one gains from changing representation, so the model family is the first thing to choose and the representation the second.

on the reduced representation, forest − linear = +0.316 R², against a representation gap of +0.146 for linear and +0.014 for the forest · held-out R², best to worst: Random forest · all 81 features 0.923 · Random forest · 17 components 0.908 · Polynomial · 17 components 0.756 · Linear · all 81 features 0.738 · Linear · 17 components 0.592

Every branch predicts the hottest materials too low.

Errors are not spread evenly across the target. In the coldest band every branch is close; in the hottest band the errors are several times larger and the mean signed error is negative for every branch, which means the predictions sit below the measurements. Those are exactly the materials a search for a high-temperature superconductor would care about.

≥ 90 K band, 649 held-out materials · Linear · reduced mean signed error −37.5 · Linear · all 81 mean signed error −24.6 · Polynomial · reduced mean signed error −23.2 · Forest · reduced mean signed error −9.2 · Forest · all 81 mean signed error −7.9 K

The forests' training scores are partly memorisation.

The gap between a branch's training score and its held-out score is what it learned about its own training rows rather than about materials. It is far wider for the forests than for the linear branches, so the forest advantage on this page is real but smaller than its training number suggests.

Linear · reduced 0.011 · Linear · all 81 -0.002 · Polynomial · reduced 0.002 · Forest · reduced 0.068 · Forest · all 81 0.055 — train R² minus held-out R²

Glossary

The terms this page uses, with what they mean here: from the material itself, to the data table, the method, and how to read the numbers and charts.

From a material to one row of X

Superconductor

A material that, below a certain temperature, carries an electric current with no measurable resistance and pushes magnetic field out of its interior. Each of the 21,263 rows in this dataset is a material for which that transition has been observed and reported.

Critical temperature (T꜀)

The temperature at which that transition happens, in K. It is the one quantity this page predicts. Across this file it runs from 0.00021 to 185.0 K, with a median of 20.0 and a mean of 34.4: most materials superconduct only at low temperatures, and a few at much higher ones. A higher critical temperature means less extreme cooling is needed, which is why the hottest materials are the interesting ones.

Meissner effect

The expulsion of magnetic field from inside a superconductor below its critical temperature. Together with zero resistance, it defines the superconducting state. The dataset records only the temperature of the transition.

Kelvin (K)

The temperature unit used throughout. It starts at absolute zero, so no value in this column can be negative, and a value near zero means the material has only ever been seen to superconduct within a whisker of absolute zero.

Chemical composition

The recipe of a material: which elements it contains and in what proportions. Compositions have different numbers of elements, so they cannot be handed to a regressor directly — which is the whole reason the engineered features below exist.

Engineered elemental features

The 81 numeric columns that stand in for the composition. Each summarises a property of the elements in the material — atomic mass, first ionization energy, atomic radius, density, electron affinity, heat of fusion, thermal conductivity, valence — through a fixed recipe such as a mean, a weighted mean, a geometric mean, an entropy, a range or a standard deviation. Every material therefore gets the same 81 numbers whatever its formula.

Weighted mean

An average in which each element counts in proportion to how much of it the material contains, rather than each element counting once. Seven of the eight columns included on this page are weighted means, which is why their names begin that way.

Row numbers instead of names

This demo, like the notebook it rebuilds, reads only the features file, so each material is identified by its row number in that file, counted from 0. The Dataset page shows the chemical formulas from the formulas file and rebuilds the features from them.

The dataset, as used here

Design matrix X

The 21,263 × 81 table of engineered features. Rows are samples (materials), columns are features. The measured temperature is not one of its columns.

Target vector y

The separate column of measured critical temperatures, one per row: the value the models learn to predict. It is not used in standardization or in the reduction.

Row, column, cell

X[i,:] is one material; X[:,j] is one feature across every material; x_ij is one number. In the Design matrix section each has its own colour, always shown next to its notation, so the meaning does not depend on seeing the colour.

Included columns

Only 8 of the 81 feature columns are included in this page, chosen to cover the element properties the features summarise. Every branch was fitted on all 81; the 8 are what the Design matrix section draws.

Repeated rows

Rows whose 81 features are identical to another row's; 6,093 of the 21,263 rows are like this. Identical rows sit on the same spot in the unsupervised layouts.

Training percentile

Where a value sits inside the distribution of the same column across the 14,884 training rows only. “Across one row” and the feature table in the Evaluation section use it so that eight columns in eight different units can share one axis.

1st–99th percentile clip

The range the “Down one column” histogram is drawn over: the middle 98 % of a column's values, computed over all 21,263 rows. Without it, a few extreme values would flatten the whole distribution into one bar. A selected value outside the range is drawn at the nearest edge with a dashed marker.

Missing data

There is none: the file has 0 rows with a missing value, and 0 rows are dropped. Nothing is filled in.

The method

Supervised regression

Learning a rule that maps inputs to a continuous number, from examples where the number is known. Here the inputs are the engineered features and the number is the measured critical temperature.

Train / test split

One random division of the rows, made before anything is fitted: 14,884 training rows and 6,379 held-out rows, a measured held-out fraction of 30.00 %. Every branch on this page reuses exactly that division, which is what lets their predictions be compared material by material.

Held-out material

A row kept aside for testing: no fitting step uses it. Every dot in the charts is one of these 6,379 materials, and every score on this page is computed on them alone.

Leakage

Letting information from the held-out rows reach a fitting step — for example by standardizing or projecting the whole table before splitting it. The source notebook did that; this demo fits the scaler and the projection on the training rows only (the first item under “Our changes” in the Source evidence section).

Standardization

Rescaling each column to a common centre and spread, so a column measured in thousands cannot dominate one measured in units. Fitted on the training rows only. Trees do not need it, which is why the all-feature forest branch skips it too.

Principal component analysis

A rotation of the standardized feature axes onto new axes ordered by how much of the variation each one carries. Keeping the first 17 of them is the reduced representation on this page; together they carry 95.54 % of the training variance.

Component

One of those new axes: a weighted mixture of every original feature. It has no physical unit and its sign is arbitrary, so component scores can be compared with each other but not with physical quantities.

Explained variance

The share of the training data's total variation that a set of components reproduces. It does not measure how useful the components are for prediction, because the target is not used to compute them.

Representation ablation

The experiment this page is built around: hold the rows, the split and the models fixed, change only how X is represented, and read the difference. The source notebook runs its models on the 17 components only; the two branches that keep all 81 features were added in this demo.

Branch

One model on one representation. The page compares five: linear regression and random forest on both representations, and polynomial regression on the 17 components. The Key Findings page calls them the five prediction models.

Control branch

A branch differing from another in exactly one respect, so a difference between them can be attributed to that respect. Here: the same model on all 81 features instead of on 17 components.

Linear regression

Fits one weight per input plus an offset and predicts their sum. It can only express a straight-line relationship between each input and the target.

Polynomial features (degree 2)

Adds every square and every pairwise product of the inputs, so a linear fit over them can bend. On 17 components that is a manageable number of terms; on all 81 features it is far larger, which is why the polynomial branch exists on the reduced representation only.

Random forest

Many decision trees, each fitted on a different random view of the training rows, whose predictions are averaged. It can express interactions and non-linear effects without being told to look for them, and it needs no scaling.

Overfitting

Learning the training rows rather than the pattern. Its signature is a training score much better than the held-out score; the Conclusions section gives that gap for every branch.

Seed

The fixed number that makes a random choice repeatable. The split, the forests, each unsupervised layout and the k-means grouping all use one; the layout seeds are listed in that panel's notes, and the k-means seed is 1337.

Precomputed results

Every branch was fitted once in advance by the analysis script tools/precompute.py, and its predictions for the held-out materials are stored in this page; the controls switch between them.

Reading the numbers and the pictures

R²

The share of the held-out variation a branch reproduces. 1 is perfect, 0 is no better than always predicting the mean, and it can go negative. It is a ratio, so it says nothing about how many K a typical miss is.

MAE

Mean absolute error, in K: the average size of a miss with its direction ignored. It answers the concrete question R² does not.

RMSE

Root mean squared error, also in K. It weights large misses more heavily than MAE, so the gap between RMSE and MAE is a rough measure of how uneven the errors are.

Signed error and mean signed error

The error (prediction minus measurement) with its sign kept, and its average over a group. Negative means the branch predicts below the measurement; the Evaluation section uses it to show every branch running low in the hottest band, which an absolute error alone would hide.

Measured band

A slice of the held-out rows by their measured temperature — < 10 K holds 2,306, 10–30 K holds 1,408, 30–60 K holds 972, 60–90 K holds 1,044, ≥ 90 K holds 649 materials. Bands are defined on the measurement and never on the prediction, so the same materials are compared across branches.

Sequential ramp

The colour scale of the component scatter in the Transformation and modelling section. The measured temperature it shows is an ordered quantity, so the colours run along one ordered scale rather than being a set of unrelated hues.

Filled dot against hollow ring

The marker shape, not the colour, shows the representation: filled for the 17 components, hollow for all 81 features. Colour always identifies the model, so the same hue is the same model in every panel.

Tables beside the charts

Every colour-coded chart comes with a table of the same numbers, beside it or in a collapsible section under it.

Tooltip

Hovering over a chart shows the material or bar under the pointer, with its numbers. In most scatter charts, clicking a dot opens that material in the Evaluation section.

Workflow diagram

The four-column diagram under the page title shows the whole analysis: inputs, representation, models and evaluation, with the steps in each.