gnu-octave / gnu-octave/statistics

Difference in `iforest` results.

Open
#500 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
MATLAB
Stars
42
Forks
43
Avg merge
2d 5h
Merged PRs (30d)
31

Description

1

In MATLAB:

>> iforest ([])

ans = 

  IsolationForest

        CategoricalPredictors: []
        ContaminationFraction: 0
               ScoreThreshold: NaN
                  NumLearners: 100
    NumObservationsPerLearner: 0


  Properties, Methods

In Octave:

octave:5> iforest ([]);
error: iforest: X must be a nonempty real numeric matrix.
error: called from
    IsolationForest at line 102 column 9
    iforest at line 77 column 3
2

In MATLAB:

>> iforest([1])

ans = 

  IsolationForest

        CategoricalPredictors: []
        ContaminationFraction: 0
               ScoreThreshold: NaN
                  NumLearners: 100
    NumObservationsPerLearner: 1


  Properties, Methods

In Octave:

octave:6> iforest([1]);
error: iforest: NUMOBSERVATIONSPERLEARNER must be an integer in [3, N].
error: called from
    IsolationForest at line 141 column 9
    iforest at line 77 column 3

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the iforest entry point and the IsolationForest validation paths reported at lines 77, 102, and 141. Compare handling of empty input and a single observation with MATLAB's behavior, then inspect existing tests for iforest if available. Done means these inputs no longer produce the reported Octave errors while preserving validation for genuinely invalid data.

Written by the indexing model from the issue text.

Assessment

Tech stack
matlab
Domain
machine-learning
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
57/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.