Clear Filters
Clear Filters

Using classification learner for ensemble tree modeling, errors out

3 views (last 30 days)
I am using the Classification Learner application to run a subset of my data for troubleshooting purposes. When running a single tree, it worked fine (though it tortured my poor 64gb RAM computer) but when trying to run a Bagged Tree (random forest) model, I get an error shortly after training initialization saying that "An error occurred during function call." Does anyone know what this means or how to fix it? I do not often use the classification learner, so I am pretty green when it comes to most of its functionality.
Some googleing on the error didn't turn up any helpful information unfortunately.

Answers (1)

Aditya on 17 Apr 2024
The error message "An error occurred during function call" in MATLAB's Classification Learner app when trying to train a Bagged Trees model (Random Forest) is quite generic and can be triggered by various underlying issues. Given that you mentioned the single tree model worked but strained your system, it's possible that the error with the Bagged Trees model is related to resource limitations or specific data characteristics. Here are several steps and considerations to troubleshoot and potentially resolve this issue:
1. Resource Constraints
  • Memory Usage: Bagged Trees (Random Forests) can be significantly more memory-intensive than a single decision tree, as they involve creating multiple trees from bootstrapped samples of the dataset. With a large dataset and/or a high number of trees, it's possible to exceed your system's memory capabilities.
  • Solution: Try reducing the size of your dataset for troubleshooting purposes or decrease the number of trees in the Random Forest model to see if it alleviates the issue.
  • Parallel Processing: If you have Parallel Computing Toolbox, ensure it's enabled in the Classification Learner app to distribute the workload across multiple cores. This can be accessed under the app's settings.
2. Data Issues
  • Missing Values: Ensure your data doesn't contain missing values, or handle them appropriately before training. While some models can handle missing values, they might cause issues in others.
  • Data Preprocessing: Consider standardizing or normalizing your data, as well as removing outliers that might unduly influence the model or cause computational issues.
3. Model Complexity
  • Number of Trees: Try reducing the number of trees in the Random Forest model. Although more trees usually provide better accuracy, they also increase computational load. You can adjust this in the model's settings before training.
  • Tree Depth: Limiting the maximum depth of the trees can also reduce memory usage and computation time. Deep trees can consume a lot of memory, especially with large datasets.
4. MATLAB Preferences and Cache
  • Reset Preferences: Corrupted MATLAB preferences can sometimes cause unexpected behavior. Try resetting MATLAB's preferences by renaming or deleting the preferences directory (make sure to back it up first). Note that this will reset MATLAB to its default settings.
  • Clear Cache: Clear MATLAB's internal cache and temporary files, which might resolve unforeseen issues.




Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!