LimeTabularExplainer function from lime.lime_tabular doesn't work: ValueError: Domain error in arguments
LimeTabularExplainer function from lime.lime_tabular doesn't work: ValueError: Domain error in arguments
我正在尝试创建 LimeTabularExplainer,我记得它以前工作过但现在没有。我下面的试验认为会起作用但没有起作用。请帮助,提前致谢!
我试过检查 feature_names 是否在列表中,确实如此。尝试删除 training_labels 参数,因为在 LIME 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
在 github 项目中提出了一个类似的问题:https://github.com/marcotcr/lime/issues/352
lime 版本 0.1.1.35 存在一个错误,可能会导致此问题。如果您有此版本,请更新并查看是否可以解决问题
我正在尝试创建 LimeTabularExplainer,我记得它以前工作过但现在没有。我下面的试验认为会起作用但没有起作用。请帮助,提前致谢!
我试过检查 feature_names 是否在列表中,确实如此。尝试删除 training_labels 参数,因为在 LIME 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
在 github 项目中提出了一个类似的问题:https://github.com/marcotcr/lime/issues/352
lime 版本 0.1.1.35 存在一个错误,可能会导致此问题。如果您有此版本,请更新并查看是否可以解决问题