awsm-research / PyExplainer

PyExplainer: A Local Rule-Based Model-Agnostic Technique (Explainable AI)
MIT License
29 stars 9 forks source link

Not getting an expected output #21

Open ShraddhaDevaiya opened 2 years ago

ShraddhaDevaiya commented 2 years ago

Hello, I am using the pyexplainer to explain the data regarding the bug report. following is my input data :

image

and the feature data is like this:

image

and for this pyexplainer is giving output like this:

image

which doesn't seem like an explanation. can you please suggest, am I missing anything?

MichaelFu1998-create commented 2 years ago

Hi @ShraddhaDevaiya, I just tested the current version of the package and found no issues with the front-end components. There could be a case where the "RuleFit" local model (it is used to generate rules which will be presented in the UI as explanations) used by pyexplainer could not generate rules for your input. May I ask a few questions (1) what kind of model did you try to explain? (2) did you use default parameters when calling the "explain" function?

ShraddhaDevaiya commented 2 years ago

Hello,

the random forest model you are asking, that only I tried to explain, and the explain function I am using like this :

rules = py_explainer.explain(X_explain=X_explain, y_explain=y_explain, search_function='crossoverinterpolation')

Did you ask this?

MichaelFu1998-create commented 2 years ago

Hi @ShraddhaDevaiya, It looks alright to me.

Did you train your own RF model? What is the approximate size of your training data?

ShraddhaDevaiya commented 2 years ago

yes, I trained the RF model. and the training data size is only 10 items. so that could be the issue, means very less data to train the model?

MichaelFu1998-create commented 2 years ago

Hi @ShraddhaDevaiya , Yes, I think that could be the case. We trained the RF model using around 9k data points in our original experiments. However, I'm not sure how much data should be to train the model. You may grab more data and try if it works.

Also, I find that the current version of pyexplainer can be improved, the UI should tell the user in the case that the rules can't be generated, otherwise, it would be confusing like what you've just encountered. Thanks for opening this issue, I'll improve the UI accordingly.

ShraddhaDevaiya commented 2 years ago

Thanks for helping. Let me check with the more number of training data.

MichaelFu1998-create commented 2 years ago

Okay, I'll leave this open for a while then If you still have any concerns, feel free to comment here.

ShraddhaDevaiya commented 2 years ago

sure, thanks !

ShraddhaDevaiya commented 2 years ago

Hello @MichaelFu1998-create , I have tried with 2k data inputs for training, but still it is giving the same kind of output. It is not showing any explanation.