[Lane 5 · docs] Precision/Recall/F1 — doc partials (math / intuition / examples / references)
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 3/5
- Estimated time
- Half a day
- Newbie friendliness
- 72/100
- Issue type
- Documentation
- Clarity
- Clearly specified
- Activity status
- Quiet
- Tech stack
- kotlin, latex
- Domain
- documentation
Research direction
Start by reading docs/modules/ROOT/partials/ops/tensorops/matmul.adoc for the tag structure and the metrics how-to page for its existing example pattern. Create the three specified partials and include their tagged content in docs/modules/ROOT/pages/how-to/metrics-and-perf-testing.adoc; the examples tag depends on #1229. Build the site using the contributing guide or docs.yml workflow, and verify the math renders, the example compiles, and the reference links resolve.
Written by the indexing model from the issue text.
Description
Sub-issue of #1222 (Precision, Recall and F1Score metrics).
Lane: 5 · Docs / DARC
Skill needed: AsciiDoc and technical writing; enough ML background to explain precision vs. recall. No Kotlin beyond reading a 30-line class.
Size: s (~2–3 h for all three)
Blocked by: nothing for the math / intuition / references tags (start now); the examples tag needs #1229 so the example actually runs.
What to do
- Write three partials, one per metric, following the tag structure of
docs/modules/ROOT/partials/ops/tensorops/matmul.adoc:docs/modules/ROOT/partials/ops/metrics/precision.adocdocs/modules/ROOT/partials/ops/metrics/recall.adocdocs/modules/ROOT/partials/ops/metrics/f1score.adoc
Each with non-placeholder// tag::math[],// tag::intuition[],// tag::examples[],
// tag::references[]blocks. Usestem:[…]/[stem](LaTeX; the playbook sets
stem: latexmath) for the formulas. Themathblock must state the per-class
definition, what macro vs. micro averaging does, and the zero-division convention
adopted in #1224.
- Metrics are not
TensorOpsfunctions, so the operator-doc generator will not pick
these partials up automatically. Surface them by adding a "Precision, recall and F1"
subsection todocs/modules/ROOT/pages/how-to/metrics-and-perf-testing.adocthat
include::partial$ops/metrics/f1score.adoc[tag=intuition](and the others by tag). - The
examplesblock must be real code that compiles againstdevelopafter #1229 —
ideally a tagged snippet inskainet-docs-samplesincluded viainclude::example$…,
like the existingTrainingDemo.ktaccuracy example on that page; a plain
[source,kotlin]block is acceptable if you say why. - Build the site locally (see Contributing → Build from source / the
docs.yml
workflow) and check the math renders.
Acceptance
- Three partials, all four tags non-empty, math renders
- Metrics how-to page shows the new section with the intuition text and a runnable example
- Every reference link resolves and supports the claim next to it (the reviewer in
#1235 will click each one)
Notes
Intuition to convey: precision answers "of what I predicted positive, how much was right";
recall answers "of what was actually positive, how much did I catch"; F1 is their harmonic
mean, so it punishes a classifier that is high on one only because the other is near zero —
which is exactly where raw accuracy stays silent (predict the majority class everywhere:
high accuracy, near-zero minority recall). Also spell out that macro F1 is the mean of
per-class F1s, not the F1 of the macro means.
References to start from: sklearn precision_recall_fscore_support, torchmetrics
F1Score, and https://en.wikipedia.org/wiki/F-score .
- Dominant language
- Kotlin
- Stars
- 52
- Forks
- 15
- Avg merge
- 1d 4h
- Merged PRs (30d)
- 37
Getting set up
- No Dockerfile or Docker Compose file
- No pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from SKaiNET-developers/SKaiNET
-
coding good first issue platform size:xs skill:js sub-issue
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
SKaiNET-developers/SKaiNET#1232 ·
Maintainers usually reply within 1 day
-
compute-backend dsl/api enhancement size:m skill:kotlin-core skill:numerics
Difficulty 5/5 Over a week Newbie friendliness 18/100
SKaiNET-developers/SKaiNET#1343 ·
Maintainers usually reply within 1 day
-
skeep tracking
Difficulty 5/5 Over a week Newbie friendliness 15/100
SKaiNET-developers/SKaiNET#1331 · 1 comment ·
Maintainers usually reply within 1 day
-
assessment size:s skill:review sub-issue
Difficulty 4/5 1-2 days Newbie friendliness 18/100
SKaiNET-developers/SKaiNET#1330 ·
Maintainers usually reply within 1 day
-
documentation good first issue size:s skill:docs sub-issue
Difficulty 3/5 1-2 days Newbie friendliness 78/100
SKaiNET-developers/SKaiNET#1329 ·
Maintainers usually reply within 1 day
All issues in SKaiNET-developers/SKaiNET
Similar issues
-
Difficulty 1/5 Under an hour Newbie friendliness 88/100
-
Difficulty 1/5 Under an hour Newbie friendliness 90/100
-
Difficulty 1/5 Under an hour Newbie friendliness 88/100
SLNE-Development/surf-chat#134 ·
-
Difficulty 1/5 Under an hour Newbie friendliness 88/100
-
Difficulty 1/5 Under an hour Newbie friendliness 90/100