Description
Build a weighted multiclass confusion table from aligned actual/predicted observations and nonnegative supplied weights; zero weights retained as evidence, no probability inference.
A confusion table uses actual labels as rows and predicted labels as columns. Cells can contain occurrence counts or supplied nonnegative weights; the axis label order must stay with the matrix. Row, column and joint normalization have different denominators, and a zero denominator needs an explicit undefined result.
Build a weighted multiclass confusion table from aligned actual/predicted observations and nonnegative supplied weights; zero weights retained as evidence, no probability inference.
When to use this tool
Use this tool to build a weighted multiclass confusion table from aligned actual/predicted observations and nonnegative supplied weights; zero weights retained as evidence, no probability inference.
How to use the tool and how it works
- Enter actual, predicted, labels, weights using the input definitions below.
- Run the operation. Resolve malformed-input errors before interpreting the result.
- Read result.labels, result.matrix. Interpret signs, units, ordering and null values using the rules below.
Require aligned actual, predicted and nonnegative weight lists plus distinct labels containing every observation. Accumulate each weight at matrix[actualIndex][predictedIndex] in the supplied label order.1
| Input field | Meaning and units | Accepted input |
|---|---|---|
| actual | Actual label strings, aligned with predicted and optional weights. | Dense list of at most 128 strings, each at most 8,192 UTF-16 code units. |
| predicted | Predicted label strings, aligned with actual. | Dense list of at most 128 strings, each at most 8,192 UTF-16 code units. |
| labels | Distinct label strings defining actual row and predicted column order; score tools require at least one label. | Dense list of at most 128 strings, each at most 8,192 UTF-16 code units. |
| weights | Nonnegative observation weights aligned with actual and predicted. | Dense list of at most 128 finite numbers, subject to the stated integer/shape rules. |
| Output field | Interpretation |
|---|---|
| result | Object containing the fields below. |
| result.labels | Label order for both axes of the returned matrix. |
| result.matrix | Returned nonnegative actual-row/predicted-column table. |
{
"input": {
"actual": [
"a",
"a",
"b"
],
"predicted": [
"a",
"b",
"b"
],
"labels": [
"a",
"b"
],
"weights": [
2,
1,
1
]
},
"output": {
"result": {
"labels": [
"a",
"b"
],
"matrix": [
[
2,
1
],
[
0,
1
]
]
}
}
} Limitations and assumptions
- Weights are observed support, not automatically probabilities; zero-weight observations still require known actual and predicted labels.
- Label strings are compared exactly. Confusion values may be nonnegative fractional weights; a count interpretation requires count data. Probability-like score rows use [0,1] entries with sum tolerance 10⁻⁸, without establishing calibration.
- Every declared top-level input is required and unknown fields are rejected. Ordinary strings are limited to 8,192 UTF-16 code units and lists to 128 entries, with tighter operation-specific bounds where stated. JSON text has bounded nesting and node counts.
- Numeric outputs must be finite and within the absolute safe-integer magnitude; exact larger integers use decimal text. Source positions are zero-based UTF-16 offsets and span ends are exclusive unless a different convention is explicitly stated.
Alternative or Complementary methods
Check label coverage and axis order before comparing tables. Use a separate evaluation design for uncertainty, calibration, operating thresholds and the consequences of real-world decisions.
References
Similar or alternative tools
- Label Pair Confusion Table
Build an occurrence-count multiclass confusion table over explicit actual/predicted label observations with a caller-ordered complete label universe; unknown labels reject, no identity coercion.
- Confusion Label Axis Reorder
Reorder both axes by a complete explicit label permutation without changing counts or label identity.