应用association_rules时如何检查字符串是否包含单词?

时间:2019-03-02 19:34:36

标签: python string pandas data-mining apriori

我正在应用关联规则并仅选择具有以下参数的规则,但是无论它们的值是“ 0”还是“ 1”,我都只选择没有这些项目集的规则“ AL”,“ DIAB” ,“ y”或“ n”。我怎么说:当结果包含“ AL”,“ DIAB”时,不要选择规则。这是我的代码,但仅在确切的字符串上精确,而不在子字符串上

Selected_rules = rules[ (rules['antecedent_len'] <= 3) &
           (rules['confidence'] > 0.6) &
           (rules['lift'] > 1) & ( rules['consequents'] != {'AL = 1'} ) & (rules['consequents'] != {'DIAB = n'})  ]

例如,我不希望选择此规则,因为它同时具有“ AL”和“ DIAB”

frozenset(['SEX = F', 'Age = 70'])              frozenset(['AL = 0', 'DIAB = y'])                    0.25                 0.25                 0.25      1         4            0.1875         inf                   2

1 个答案:

答案 0 :(得分:0)

您为什么不只使用in运算符,而不是与相等性进行比较?

'AL = 1' in rule['consequents']

当然,只首先生成感兴趣的规则而不是事后进行过滤会更有意义,并且使用比字符串集更有效的数据结构...