practical-nlp / practical-nlp-code

Official Repository for Code associated with 'Practical Natural Language Processing' book by O'Reilly Media
http://www.practicalnlp.ai/
MIT License
1.33k stars 606 forks source link

[BUG] for Ch4/08_LimeDemo.ipynb #109

Open mralamdari opened 2 years ago

mralamdari commented 2 years ago

Problem

in Part 2: Using Lime to interpret predictions,

mystring = list(X_test)[221]
print(c.predict_proba([mystring])

there is an extra list and it gives this error:

AttributeError: 'list' object has no attribute 'replace'

and this error refers to this line of the code in the clean function: doc = doc.replace("</br>", " ")

Solution:

this problem can easily be solved by removing the list part and changing the code to this:

mystring = X_test[221] print(c.predict_proba([mystring])

mralamdari commented 2 years ago

Attention!!!

if you don't change mystring = list(X_test)[221]

to this code:

mystring = X_test[221]

while running these part:

exp = explainer.explain_instance(mystring, c.predict_proba, num_features=6)

it will raise this Error:

TypeError: expected string or bytes-like object

Ethan0456 commented 1 year ago

This issue is resolved in this PR #133