这是我的代码,我给出了我的数据集“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)
从您的问题中不清楚您是否使用的是jupyter笔记本或Spyder等IDE。如果您使用的是 Spyder 等 IDE,则除非使用 print 语句,否则您不太可能看到结果。我建议添加另一行,如下所示: 打印(结果) 您应该看到规则列表。这与我遇到的问题相同,使用 print 语句解决了我的问题。您仍然需要定义一个函数来以有意义的表格格式输出结果。
我也面临同样的问题。但后来我发现发生这种情况是因为交易列表中的“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)