我的数据帧:
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
复制相似问题