tribuo icon indicating copy to clipboard operation
tribuo copied to clipboard

Wrapper FS based on Cuckoo Search algorithm

Open Mohammed-Ryiad-Eiadeh opened this issue 3 years ago • 11 comments

Description

< Adding a wrapper FS approach based on binary Cuckoo Search algorithm to Tribuo engine>

Motivation

< Recently Evolutionary Computation have shown alot of good results in a wide range of technologies especially in engineering problems. Moreover, many published research papers include the utilizing of EO algorithms for FS and inform good results. Therefore, adding a wrapper FS model to Tribuo engine would be great >

< Please link any relevant issues or PRs >

Paper reference

< Rodrigues, D. et al. BCS: A Binary Cuckoo Search algorithm for feature selection. Proc. - IEEE Int. Symp. Circuits Syst. 465–468 (2013) doi:10.1109/ISCAS.2013.6571881. >

Mohammed-Ryiad-Eiadeh avatar Apr 21 '23 20:04 Mohammed-Ryiad-Eiadeh

Thank you for your pull request and welcome to our community! To contribute, please sign the Oracle Contributor Agreement (OCA). The following contributors of this PR have not signed the OCA:

To sign the OCA, please create an Oracle account and sign the OCA in Oracle's Contributor Agreement Application.

When signing the OCA, please provide your GitHub username. After signing the OCA and getting an OCA approval from Oracle, this PR will be automatically updated.

If you are an Oracle employee, please make sure that you are a member of the main Oracle GitHub organization, and your membership in this organization is public.

Thanks for the contribution. Once you've sorted out the OCA I can go through and review this, but I'm not allowed to review it until the OCA check passes.

Craigacp avatar Apr 24 '23 15:04 Craigacp

I signed the OCA form 4 days ago. And now I am waiting for the confirmation.

Mohammed-Ryiad-Eiadeh avatar Apr 24 '23 23:04 Mohammed-Ryiad-Eiadeh

I signed the OCA form 4 days ago. And now I am waiting for the confirmation.

Ok, thanks. Once it's gone through the system we can get going with this. It shouldn't take too long.

Craigacp avatar Apr 25 '23 01:04 Craigacp

Thank you.

Mohammed-Ryiad-Eiadeh avatar Apr 25 '23 01:04 Mohammed-Ryiad-Eiadeh

It looks like there were some issues with the OCA you submitted, could you check the status of it and fix the issues it describes?

Craigacp avatar Apr 28 '23 15:04 Craigacp

The problem was that in the first OCA form, I forgot to write down my GitHub username. But few moments ago, I signed the OCA, and I provided my GitHub username.

Mohammed-Ryiad-Eiadeh avatar Apr 29 '23 04:04 Mohammed-Ryiad-Eiadeh

Dear Adam,

Is there anyway to get a list or an array of the feature values from the 'selectedFeatureDataset' ?, such as getting the array of values of a certain feature based on the index.

That this I need in order to compute functions like Pearson Correlation Coefficient between two features for some purposes

Mohammed-Ryiad-Eiadeh avatar May 05 '23 18:05 Mohammed-Ryiad-Eiadeh

Not easily from the selected feature dataset as it's stored row wise. The current information theoretic feature selection dataset converts the data into a columnar storage format before running the feature selection procedure.

Depending on what you want to do it might be more efficient to do that, like if you need to compute the correlations between all features. Otherwise you pay a log(d) lookup cost for each feature, which makes the whole Pearson's correlation coefficient 2n*log(d) just to get the data in a columnar format to compute the correlation. If you want to do it the other way around you can make a n*d matrix and then write all the feature values into it, which is much more efficient if you're computing all of them, and not worth it if it's only for a few values.

Craigacp avatar May 05 '23 19:05 Craigacp

I want to compute the correlation between the entire features in the selected feature dataset and how can I construct the d*n matrix using tribuo engine

Mohammed-Ryiad-Eiadeh avatar May 05 '23 20:05 Mohammed-Ryiad-Eiadeh

Thank you for your suggestions, all of them are great and I will do them, but currently I am working on my PhD proposal and I have meetings with my advisor during the current month, so I will make these suggestions during the next one.

Mohammed-Ryiad-Eiadeh avatar May 19 '23 14:05 Mohammed-Ryiad-Eiadeh