我正在尝试创建LimeTabularExplainer,我记得它以前工作过,但现在不行了。我在下面的试验认为会起作用,但没有起作用。请帮帮忙,提前谢谢!
我试着检查feature_names是否是list,它确实是。尝试删除LIME中不需要的training_labels参数Docs尝试使用分类级别为'YES‘和'NO’的原始目标变量,并将其分别转换为1和0。
explainer = LimeTabularExplainer(training_data= final_tr.values,training_labels=yTrain,feature_names=final_tr.columns,mode='classification')```
File "D:\Anaconda\lib\site-packages\scipy\stats\_distn_infrastructure.py", line 938, in rvs
raise ValueError("Domain error in arguments.")
ValueError: Domain error in arguments.
## Structure of my data: ##
> final_tr.columns : output (list):
> Index(['W_LAST_NAME_COMMONALITY_RANK', 'W_FIRST_NAME_COMMONALITY_RANK',
'C_NM_FAMILYNAME_COMMONALITY_RANK', 'C_NM_GIVENNAME_COMMONALITY_RANK',
'C_DA_BIRTH_DAY', 'C_AGE', 'F_AGE_BELOW_18', 'GNM_NameScore',
'GNM_DoBScore', 'F_EXACT_FULLNAME_MATCH', 'MF_FUZZY_FULLNAME_MATCH',
'MF_EXACT_LN_MATCH', 'MF_EXACT_FN_MATCH', 'MF_MATCH_DOB',
'MF_MATCH_YOB', 'MF_MATCH_RESIDENCE', 'MF_MATCH_CITY',
'MF_MATCH_NATIONALITY', 'W_CATEGORY_POLITICAL INDIVIDUAL',
'C_CO_GENDER_M', 'C_CO_GENDER_Unknown'],
dtype='object')
> yTrain.head()
6167 NO
7035 NO
1531 NO
4315 NO
723 NO
4329 NO
8994 NO
2498 NO
9065 NO
4735 NO
2259 YES
9808 YES
7102 NO
7274 NO
> final_tr.values
array([[ 3., 25., 3., ..., 0., 0., 1.],
[295., 594., 293., ..., 0., 1., 0.],
[150., 101., 59., ..., 0., 1., 0.],
...,
[ 23., 594., 293., ..., 0., 1., 0.],
[ 39., 15., 71., ..., 0., 0., 1.],
[483., 4., 487., ..., 1., 0., 1.]])
Expected: explainer object to be able to apply on new instance of test发布于 2019-08-16 04:13:54
在github项目中也提出了一个类似的问题:https://github.com/marcotcr/lime/issues/352
lime版本0.1.1.35中存在可导致此问题的错误。如果您有此版本,请更新并查看此版本是否解决了问题
https://stackoverflow.com/questions/57113361
复制相似问题