Skip to content

Model Training and Review

AI Bot edited this page Nov 3, 2026 · 1 revision

Model training and review

1. Prepare and import data

Use an SDF file containing structures, a unique source identifier, and categorical labels. On an intake-enabled deployment, upload the file, wait for analysis, confirm the proposed identifier, choose properties to import, and start import. The Java worker records per-record outcomes and progress. Inspect failed and unprocessed records; partial datasets require explicit acknowledgement for training.

The current analyzer defaults to a 2 GiB file limit and 16 MiB per-record limit. Reverse-proxy and deployment settings can impose smaller limits. The historical wiki's universal 20,000-molecule limit is not the current import contract. The analyzer proposes identifiers and types; analysis does not itself authorize import.

2. Select an eligible target

The current API exposes selected WIDE properties with 2–100 distinct nonblank values from model-eligible datasets. A new model needs at least 30 labeled records and at least five records per class. Choose an observed positive-class label. Eligibility is a technical minimum, not evidence that a small or imbalanced dataset will generalize well.

3. Select chemical features

CDK generates stored descriptors and fingerprints. The live server currently advertises ALL, CDK, EXT, EXTGO, JUMBO, KR, MACCS, MCAT, and PubChem, all as READY_WITH_EXCLUSIONS in the 3 November snapshot. Review exclusions rather than assuming every molecule has every feature.

The current source contains sealed, revisioned feature contracts: definitions select an exact profile revision and builds preserve its evidence. The live options endpoint still exposes older profile metadata. Use the actual deployment's options and build manifests; do not infer deployed vector lengths from a profile name or a local default.

Fingerprint implementations include MACCS, PubChem, Extended, Substructure, Klekota–Roth, graph-only, EState, and ECFP4. Exact component ordering and descriptor availability belong to the profile contract.

4. Choose an algorithm and evaluation policy

API code Classifier
RandomForest Random Forest
J48 C4.5 decision tree
NaiveBayes Naive Bayes
SMO Support vector classifier
KNN K-nearest neighbours
LibSVM Kernel SVM
LMT Logistic model tree
LogitBoost Additive logistic boosting
Ensemble Stacked ensemble
Bagging Bagged J48
AdaBoostM1 AdaBoost.M1 with J48

Feature selection: CfsSubsetEval, ReliefFAttributeEval, or None.

Current source defines Ensemble using Random Forest, tuned KNN, and Naive Bayes with a linear-regression meta-classifier. The live options description still refers to legacy J48/KNN stacking. Inspect the actual published build evidence instead of treating the shared algorithm name as an identical implementation across versions.

Cross-validation can be automatic or explicitly 2–10 folds. The creation API defaults the build timeout to two hours and accepts 60 seconds through 24 hours; administrative worker overrides may change execution limits. Builds record split membership, class support, exclusions, metrics, feature contracts, and artifact checksums. Current source supports hash- and scaffold-based split strategies; consult the build's recorded strategy rather than assuming every model used the same split.

The training pipeline includes class-balancing machinery such as SMOTE. The old wiki's blanket promise that all imbalance beyond 1:10 is downsampled is not a current contract. Evaluate each build's preprocessing and evidence.

5. Review before publication

Successful builds stop at AWAITING_APPROVAL. Review dataset/target identity, class balance, feature exclusions, split/CV evidence, holdout metrics, warnings, and artifact metadata. A human approval publishes the immutable build; rejection records an immutable decision without publication. Retraining does not auto-approve a model.

Where the administrative bridge is configured, the review page requires reviewer identity, a review token, rationale, and confirmation. Approval uses the canonical Java transaction with separate approval credentials. The ordinary prediction path does not grant approval rights.

6. Configure the approval path

The stock Compose API image has no JDK, Gradle wrapper, or source tree, so it cannot run the host approval bridge. Web decision controls remain disabled there. Use the documented host administrative setup or technical approval CLI against the intended database; do not assume docker compose up completes model publication setup.

See approval CLI, review and credentials, feature contracts, and current model-creation implementation.

Clone this wiki locally