0

我正在尝试创建我记得之前工作但现在没有的 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

4

1 回答 1

2

在 github 项目中提出了一个类似的问题:https ://github.com/marcotcr/lime/issues/352

石灰版本 0.1.1.35 存在一个可能导致此问题的错误。如果您有此版本,请更新并查看是否可以解决问题

于 2019-08-15T20:13:53.777 回答