Machine Learning
Overview
The Machine Learning tool in Genesis is mainly used for automatic binary classification of blocks or composites:
- 1 = positive class
- 0 = negative class
- -1 = unknown / unclassified
Learning is done from examples in a block model or a composites set. After learning, you can test model quality and predict classes on unknown data.
You can also use this workspace for:
- Phylogenetics (tree-based mineralization relationships)
- PCA (principal component creation and back-transformation)
- Mahalanobis classification (distance-based domain classes)
Open the Learner Window
From the Ribbon, open the learner list from the Home / Set area.
Learner Window Commands
File
- New from BM… - Create a learner from a block model schema
- New from Compos… - Create a learner from a composites schema
- Import… - Import learners
- Export… - Export learners
Edit
- Delete - Remove selected learner(s)
- Copy - Duplicate selected learner(s)
- Properties… - Configure algorithm parameters
Learn
- Learn from BM… - Train using a block model
- Learn from Compos… - Train using a composites set
- Learn domain from BM… - Run domain-learning workflow on a block model
- Learn domain from Compos… - Run domain-learning workflow on a composites set
Test
- Test from BM… - Test a learned model on a block model
- Test from Compos… - Test a learned model on a composites set
Learn-and-Test
- Learn-and-Test from BM… - Run repeated learn/test cycles on block model partitions
- Learn-and-Test from Compos… - Run repeated learn/test cycles on composites partitions
Predict
- Predict from BM… - Write prediction outputs to a block model
- Predict from Compos… - Write prediction outputs to a composites set
Log
- View log - Open operation history and results
- Clear log - Remove log entries for selected learner(s)
Tag
- Tag Compos from Tree… - Tag composites from a tree text copied to clipboard
Create a Learner
- Use File / New from BM… or File / New from Compos….
- Select feature fields for the learner schema.
- Do not include the classification target in the feature list.
- Save and rename the learner if needed.
- Choose the algorithm in the learner list.
A learner schema cannot be edited after creation. If the schema is wrong, create a new learner.
Available algorithms:
- Simple Stumps Boosting
- Gradient Boosting Decision Tree
- Phylogenetics
- Mahalanobis Class
- PCA
Common Property: Missing Strategy
All algorithms use a missing-value strategy:
- Fill with mean - missing values are replaced during processing
- Reject vector - samples with missing values are rejected
Rejected samples affect the retained sample count and can prevent successful learning if too many are removed.
Binary Learning Setup
For binary learning/testing workflows, choose an objective variable that uses:
- 1 for true/positive examples
- 0 for false/negative examples
- -1 for unknown examples
You can also classify from a continuous variable using cutoffs:
- Define true range (Minimal for True, Maximal for True)
- Define false range (Minimal for False, Maximal for False)
- Values outside both ranges are treated as unknown
Use the same cutoff ranges during both learning and testing.
Minimum sample requirement
For binary learning algorithms, at least 10 positives and 10 negatives are required.
Data Selection Options
Learning, testing, and prediction all support the same selection concepts:
- Selection Variable
1= use sample0= ignore sample2can be used as centroid marker in Mahalanobis workflows
- Envelope selection
- process only samples inside selected envelopes
- Zone selection (X/Y/Z low/high)
- split space by halves on each selected axis
- results in 2, 4, or 8 spatial partitions
- Inside / Outside zone
- choose whether the selected region is included or excluded
Because spatial correlation is often strong, testing should be done on a different area than training.
Learn, Test, and Learn-and-Test
Learn
Use the Learn menu to train on a block model or composites set.
At the end of training, the learner entry is marked as learned and can be used for prediction (except workflows that do not support prediction).
Test
Use the Test menu to evaluate a learned binary model on independent data.
Testing results include:
- confusion matrix (TN, FP, FN, TP)
- standard scores such as:
- Accuracy (ACC)
- True Positive Rate (TPR)
- True Negative Rate (TNR)
- Balanced Accuracy (BA)
- Positive Predictive Value (PPV)
- Negative Predictive Value (NPV)
Algorithms not testable
- Phylogenetics
- Mahalanobis Class
- PCA
Learn-and-Test
This mode automates repeated validation cycles:
- With envelope selection: each envelope is used as test area while others are used for learning
- With zone selection: each generated zone can be held out for testing while learning on the rest
This is useful for checking generalization over multiple spatial splits.
Prediction
Use Predict from BM… or Predict from Compos….
Prediction options:
- choose destination variable
- optionally create a new destination field (default name: Predicted)
- optionally create a reliability field (default name: Reliability)
Reliability output
Reliability is in the [0, 1] range.
For binary outputs:
- reliability above 0.5 tends toward class 1
- reliability below 0.5 tends toward class 0
- values farther from 0.5 indicate stronger confidence
Algorithms not usable for prediction
- Phylogenetics
Algorithm Details
Simple Stumps Boosting
Uses stumps as weak learners, combined by boosting.
Available boosting variants:
- AdaBoost
- LogitBoost
Main properties:
- Number of rounds (500 is a common practical value; very high values may overfit)
- Positive Weight
- Negative Weight
- Reject Factor
Reject Factor limits retained negatives:
1keeps at most the same count as positives2keeps at most twice the positives- larger values keep more negatives
Useful when classes are imbalanced.
Gradient Boosting Decision Tree
Tree-based boosting family with selectable mode:
- GBDT
- RF
- DART
- GOSS
Main properties:
- Number of trees
- Number of leaves
- Number in leaf
- Sum hessian
- Number of bins
In general, stronger model complexity can improve fit but can also increase overfitting risk.
Phylogenetics
Applies evolutionary-tree logic to mineralization classes.
Typical objective variable is a zone/class tag (for example, Zone).
Properties:
- Algorithm: Neighbour joining or UPGMA
- Dimension: Not spatial, 1D, 2D, 3D
- Spatial Weight
- Output: Parenthesed tree, Drawed tree, or All
Behavior:
- Available through Learn
- Not available through Test
- Not available through Predict
- Tree output is written to the learner log
- Very large class diversity may prevent learning (practical limit around 1000 distinct classes)
PCA
Principal Component Analysis is used to decorrelate variables and reduce dimensionality.
Properties:
- Number of Components
0means component count is controlled by variance target
- Variance of Components
- cumulative variance target (example:
0.7for 70%)
- cumulative variance target (example:
Workflow:
- Learn PCA model on a composites set or block model
- Predict with destination mode:
- PCA: create component fields (
pca_01,pca_02, …) - VAR: back-transform from PCA space to original variables
- PCA: create component fields (
Notes:
- PCA is not available in Test
- At least two features are needed for PCA learning
Mahalanobis Class
Distance-based classification from a centroid, optionally split into domain classes.
Properties:
- Number of Domains
0returns raw distance behavior
- Dimension: Not spatial, 1D, 2D, 3D
- Spatial Weight
Workflow:
- Used through Predict workflows
- Not available in standard Learn/Test modes
- Destination variable receives class or distance result
Tag Composites from Tree
Use Tag / Tag Compos from Tree… to assign a tag value based on names found in tree text copied to the clipboard.
Options include:
- target variable to write
- tag value
- optional clear-before behavior (reset non-matching samples)
This is typically used after reviewing tree output from phylogenetic runs.
Logs and Result Review
The learner log stores operation history with user, date, and time, plus run details such as:
- source dataset
- algorithm used
- feature importance values
- missing feature counts
- retained sample quantities
- confusion matrix and test metrics (for test runs)
Use logs to compare runs, parameter choices, and data selections across iterations.