How to use gamultiobj for binary decision variables for features selection?

조회 수: 7 (최근 30일)
Nainsi Gupta
Nainsi Gupta 2025년 6월 19일
답변: Deepak 2025년 6월 23일
I want to use nsga2 for feature selection, where 1 represent feature is selcted while 0 represent that feature is not selected.
How can i use gamultiobj function for this?
  댓글 수: 7
Sam Chak
Sam Chak 2025년 6월 20일
@Nainsi Gupta, In that case, if you provide a small sample of data and describe how you would like a certain feature to be selected, experts in the fields of optimization and operations research can likely recommend appropriate built-in functions to address this problem.
Torsten
Torsten 2025년 6월 20일
편집: Torsten 2025년 6월 20일
Here are the MATLAB tools for multiobjective optimization. You will have to check by the mathematical description of the problems that can be solved whether the respective solver is suitable for your purpose or not.
Maybe we can help if you include the mathematical formulation of your optimization problem.

댓글을 달려면 로그인하십시오.

답변 (1개)

Deepak
Deepak 2025년 6월 23일
I understand that you are looking to use NSGA-II via "gamultiobj" function in MATLAB for binary feature selection, where each feature is represented by a 1 (selected) or 0 (not selected). To do this, you can set the option "PopulationType","bitstring" in optimoptions, which tells the solver to treat each individual as a binary vector. In your objective function, use this binary vector as a mask on your dataset to train a classifier (e.g., SVM), and return two objectives — typically classification error and number of selected features.
This approach allows "gamultiobj" to evolve a Pareto front of solutions that balance feature reduction and predictive performance. You can visualize the trade-off using "gaplotpareto", and select the best solution based on your preference. This method is recommended for binary feature selection tasks.
Please find attached the relevant documentations for reference:
I hope this helps.

카테고리

Help CenterFile Exchange에서 Multiobjective Optimization에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by