salesforce / OmniXAI

OmniXAI: A Library for eXplainable AI
BSD 3-Clause "New" or "Revised" License
880 stars 95 forks source link

None object return #108

Open kontogiorgos opened 4 months ago

kontogiorgos commented 4 months ago

Just today, I noticed that the explanation dict for counterfactuals sometimes returns None. It does include the query object, but the counterfactual object is None. Any idea why may that happen? Thank you.

yangwenz commented 4 months ago

The lib wasn't changed recently. Is it because the input params were different?

kontogiorgos commented 4 months ago

Thanks for the quick response. I am not sure where the problem comes from I have the two example inputs of same size (17). It works on the first one but not the second one.

[1] 0.17068946 0 0.733116195 0 0 0.109212438 0.845610604 0 0 0.766995499 1.049617662 0.240121093 0.007876287 0 0 0 1.678424503

[2] 0.428164316 0.322897315 0.847202692 0 0 0 0.865536872 0.005060287 0 0.065755479 2.294708587 0.244758731 0.605453063 0 0 0 1.496855159

yangwenz commented 4 months ago

One possible reason is that for the second one, the algorithm cannot find proper couterfactual examples by the default parameters. You may change the setups for the counterfactual algorithms, e.g., https://github.com/salesforce/OmniXAI/blob/main/omnixai/explainers/tabular/counterfactual/mace/retrieval.py