Lab: A network against the trees, and ADR-002
Module 4 · Lab · About 60 minutes · Needs: lessons 1 to 4 of this module, and the Module 3 lab (or nothing: Step 1 rebuilds Modules 1 to 3)
What you are building
Adaeze's question for ADR-002 is plain: "Would a neural network beat the trees?" The lessons each trained a network their own way, with three different feature makers and three different loops, so their numbers cannot answer it. This lab builds one tabular network from the lessons' parts, trains it on exactly v1's weeks with five seeds, and puts it beside model v1 on the same holdout.
The lab keeps the lessons' nine files unchanged and adds kestrel/nn/tabular_net.py (the network behind Kestrel's interface, plus saving a model with what it needs), tests/test_nn.py, the intent classifier saved as artifacts/intent_classifier.pt for Module 12, and docs/adr/ADR-002-trees-or-network.md. No cell calls a hosted model.
Open a new Colab notebook, call it module-04-lab.ipynb, and run each cell in order. The CPU is enough; the whole lab took about half a minute on the course laptop.