Skip to content

Fixes on feature selection (incremental & smd)#441

Merged
Yagth merged 6 commits into
iCog-Labs-Dev:devfrom
K1rubel:dev
Apr 30, 2026
Merged

Fixes on feature selection (incremental & smd)#441
Yagth merged 6 commits into
iCog-Labs-Dev:devfrom
K1rubel:dev

Conversation

@K1rubel

@K1rubel K1rubel commented Apr 29, 2026

Copy link
Copy Markdown
Contributor

This PR introduces a significant refactor and optimization of the Incremental Feature Selection (IFS) module, addressing critical numerical bugs, and performance bottlenecks found in the previous implementation.

Description

Motivation and Context

Optimization and bug fix.

How Has This Been Tested?

Tested locally and awaits more tests i

Enhanced Testing & Integration

Created tests/incremental-feature-selection-test.metta with comprehensive validation across Parity, Majority, and Mux data sets.
Successfully integrated the new logic into the representation module and verified it with updated integration tests in representation-test.metta.
Utility Updates: Patched smd.metta and other helpers to resolve function name conflicts (e.g., updating first to first-from-pair).

Cache Management

LRU Policy: The cache includes a monotonic clock and automatic eviction of the oldest entries when reaching capacity (default 128).
One quirk here is for test case with different tables, cache needs to be cleared after use with a data table so that cache for that table cannot be used for the next one.

Next Steps

Use the entropy and MI calculation for other selection algorithms as well.
Find a general caching implementation to be used for other expensive procedures as well without needing to store big data table as part of the key.

Checklist:

  • My code follows the code style of this project.
  • I have added tests to cover my changes.
  • All new and existing tests passed.

@K1rubel K1rubel changed the title Fixes to feature selection to Fixes on feature selection (incremental & smd) Apr 29, 2026
@Yagth Yagth merged commit 3b98ec2 into iCog-Labs-Dev:dev Apr 30, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants