Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement variable of importance for projections and selectioc raito #58

Open
2 tasks
paucablop opened this issue Nov 17, 2023 · 7 comments
Open
2 tasks
Assignees
Labels
💪 enhancement New feature or request
Milestone

Comments

@paucablop
Copy link
Owner

  • Include variables of importance for projections (only works with PLS like models)
  • Include selectivity ratio (only works for PLS like models)
@paucablop paucablop added the 💪 enhancement New feature or request label Nov 17, 2023
@paucablop paucablop added this to the v0.2.0 milestone Nov 17, 2023
@paucablop paucablop self-assigned this Nov 17, 2023
@paucablop paucablop moved this to To be done in CHEMOTOOLS Nov 17, 2023
@mdarmstr
Copy link
Collaborator

mdarmstr commented Dec 7, 2023

Hi Pau,

It looks like you have this taken care of, but if you are interested in using my code you can take a look here:

https://github.com/mdarmstr/selrpy

https://github.com/mdarmstr/vipy

Not the cleanest code, but I can incorporate if you want something taken off of your todo list.

@paucablop
Copy link
Owner Author

Hi Michael!

Very cool that you have made some implementations of both functions 🤩 it will be very useful. So far, I have only started implementing the scikit-learn interface for the selector.

Since these two variable selection methods need the PLS model, I imagine a selector where the model is passed in as an attribute when the object is instantiated, something similar to 1.13.4. Feature selection using SelectFromModel. Then I think we should add a check that the estimator is of PLS type, and raise a exception otherwise.

I will publish my Selector branch, and maybe once I have figured out the sklearn interfaces, would you be interested in collaborating implementing the mathematics of both selectors, and maybe write some unit testing for them?

@mdarmstr
Copy link
Collaborator

mdarmstr commented Dec 9, 2023

We can definitely pass the variable selection apparatus as an attribute for the Selector branch. I can see how that would work in a pipeline using external validation data. Do you think we should work towards getting it to talk with the cross validation module as well? https://scikit-learn.org/stable/modules/cross_validation.html

@paucablop
Copy link
Owner Author

Yes! absolutely, when we implement the API correctly we will be able to integrate with the CV module too 🤩. There is an example where I used a grid search and CV to find the number of components in the PLS model: https://paucablop.github.io/chemotools/get-started/brewing_regressor.html#training-a-pls-model

@paucablop
Copy link
Owner Author

@mdarmstr I have created a branch, we can start implementing there 🤓

@paucablop paucablop moved this from To be done to Implementation in CHEMOTOOLS Dec 10, 2023
@mdarmstr
Copy link
Collaborator

Hi Pau,

Sorry I'm just getting around to this, there were some unexpected tasks that arose. I'll try and begin work sometime this week!

@paucablop
Copy link
Owner Author

Hi Michael,
No worries at all 😄, there is not rush, I am also busy with other tasks at the moment! Most important is to make sure you have fun coding and enjoy the development experience 😄 😄

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
💪 enhancement New feature or request
Projects
Status: Implementation
Development

When branches are created from issues, their pull requests are automatically linked.

2 participants