Apriori 算法 - 没有在 python 中获取规则

问题描述 投票:0回答:2

enter image description here

这是我的代码,我给出了我的数据集“Market_Basket_Optimization”的图像。我已经制作了列表交易列表以提供先验算法中的输入。但我没有得到规则。我是机器学习新手,无法找出错误。

# Importing the libraries
import numpy as np
import matplotlib.pyplot as plt
import pandas as pd

# Data Preprocessing
dataset = pd.read_csv('Market_Basket_Optimisation.csv', header = None)
transactions = []
for i in range(0, 7501):
    transactions.append([str(dataset.values[i,j]) for j in range(0, 20)])

# Training Apriori on the dataset
from apyori import apriori
rules = apriori(transactions, min_support = 0.003, min_confidence = 0.2, min_lift = 3, min_length = 2)

# Visualising the results
results = list(rules)
python python-3.x machine-learning apriori
2个回答
0
投票

从您的问题中不清楚您是否使用的是jupyter笔记本或Spyder等IDE。如果您使用的是 Spyder 等 IDE,则除非使用 print 语句,否则您不太可能看到结果。我建议添加另一行,如下所示: 打印(结果) 您应该看到规则列表。这与我遇到的问题相同,使用 print 语句解决了我的问题。您仍然需要定义一个函数来以有意义的表格格式输出结果。


0
投票

我也面临同样的问题。但后来我发现发生这种情况是因为交易列表中的“nan”值。所以我改变了下面的代码并得到了预期的结果 您可以修改代码如下:

dataset=pd.read_csv("Market_Basket_Optimisation.csv",header=None)
transactions=[]
for i in range(0,7501):
    transactions.append([str(dataset.values[i,j]) for j in range(0,20) if str(dataset.values[i,j]) !='nan'])
print(transactions)
© www.soinside.com 2019 - 2024. All rights reserved.