我的数据帧:
number  assignment_group    short_description   Issue Labels
Req123  Support             TP issue         Battery Failure我的代码:
将数据框转换为列表
observations = []
for i in range(len(df1)):
    observations.append([str(df1.values[i,j]) for j in range(0,10)])将数据与算法进行拟合
from apyori import apriori
associations = apriori(observations, min_length = 2, min_support = 0.2, min_confidence = 0.2, min_lift = 3)将关联转换为列表
associations = list(associations)
print(associations)返回此函数时未获得任何输出。
发布于 2021-01-21 00:44:25
我不知道你的df1.values到底是什么,但是,
df1 = [
    'Aa', 'Aa', 'Aa', 'Aa', 'Aa',
    'Bb', 'Cc', 'Dd', 'Ee', 'Ff',
]
observations = []
for i in range(len(df1)):
    observations.append([str(df1[i][j]) for j in range(0, 2)])下面的代码可以工作。
from apyori import apriori
associations = apriori(
    observations,
    min_length = 2,
    min_support = 0.2,
    min_confidence = 0.2,
    min_lift = 2
)
associations = list(associations)
print(associations)输出为:
[
    RelationRecord(
        items=frozenset({'a', 'b'}), 
        support=0.5, 
        ordered_statistics=[
            OrderedStatistic(
                items_base=frozenset({'a'}),       
                items_add=frozenset({'b'}),
                confidence=1.0,
                lift=2.0
            ), 
            OrderedStatistic(
                items_base=frozenset({'b'}),
                items_add=frozenset({'a'}),
                confidence=1.0,
                lift=2.0
            )
        ]
    )
]我只将min_lift从3改为2。当它是3时,输出为空。
Apriori算法是寻找频繁项目集作为每个集合之间的关联规则。项目集的频率和长度由超参数调整。因此,尝试不同的超参数,看看你会得到什么。
https://stackoverflow.com/questions/65813510
复制相似问题