import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import warnings
warnings.filterwarnings('ignore')
dataset = pd.read_csv('_data/16.csv', header=None)
transactions = []
for i in range(0, len(dataset)):
transactions.append([str(dataset.values[i, j]) for j in range(0, len(dataset.columns))])Eclat
machine learning
![]()
preprocessing
Modeling
from apyori import apriori
rules = apriori(transactions=transactions, min_support=0.003, min_confidence=0.2, min_lift=3, min_length=2, max_length=2)results = list(rules)
results[RelationRecord(items=frozenset({'chicken', 'light cream'}), support=0.004532728969470737, ordered_statistics=[OrderedStatistic(items_base=frozenset({'light cream'}), items_add=frozenset({'chicken'}), confidence=0.29059829059829057, lift=4.84395061728395)]),
RelationRecord(items=frozenset({'escalope', 'mushroom cream sauce'}), support=0.005732568990801226, ordered_statistics=[OrderedStatistic(items_base=frozenset({'mushroom cream sauce'}), items_add=frozenset({'escalope'}), confidence=0.3006993006993007, lift=3.790832696715049)]),
RelationRecord(items=frozenset({'pasta', 'escalope'}), support=0.005865884548726837, ordered_statistics=[OrderedStatistic(items_base=frozenset({'pasta'}), items_add=frozenset({'escalope'}), confidence=0.3728813559322034, lift=4.700811850163794)]),
RelationRecord(items=frozenset({'honey', 'fromage blanc'}), support=0.003332888948140248, ordered_statistics=[OrderedStatistic(items_base=frozenset({'fromage blanc'}), items_add=frozenset({'honey'}), confidence=0.2450980392156863, lift=5.164270764485569)]),
RelationRecord(items=frozenset({'herb & pepper', 'ground beef'}), support=0.015997866951073192, ordered_statistics=[OrderedStatistic(items_base=frozenset({'herb & pepper'}), items_add=frozenset({'ground beef'}), confidence=0.3234501347708895, lift=3.2919938411349285)]),
RelationRecord(items=frozenset({'tomato sauce', 'ground beef'}), support=0.005332622317024397, ordered_statistics=[OrderedStatistic(items_base=frozenset({'tomato sauce'}), items_add=frozenset({'ground beef'}), confidence=0.3773584905660377, lift=3.840659481324083)]),
RelationRecord(items=frozenset({'olive oil', 'light cream'}), support=0.003199573390214638, ordered_statistics=[OrderedStatistic(items_base=frozenset({'light cream'}), items_add=frozenset({'olive oil'}), confidence=0.20512820512820515, lift=3.1147098515519573)]),
RelationRecord(items=frozenset({'olive oil', 'whole wheat pasta'}), support=0.007998933475536596, ordered_statistics=[OrderedStatistic(items_base=frozenset({'whole wheat pasta'}), items_add=frozenset({'olive oil'}), confidence=0.2714932126696833, lift=4.122410097642296)]),
RelationRecord(items=frozenset({'pasta', 'shrimp'}), support=0.005065991201173177, ordered_statistics=[OrderedStatistic(items_base=frozenset({'pasta'}), items_add=frozenset({'shrimp'}), confidence=0.3220338983050847, lift=4.506672147735896)])]
def inspect(results):
lhs = [tuple(result[2][0][0])[0] for result in results]
rhs = [tuple(result[2][0][1])[0] for result in results]
supports = [result[1] for result in results]
return list(zip(lhs, rhs, supports))
resultsinDataFrame = pd.DataFrame(inspect(results), columns = ['Product 1', 'Product 2', 'Support'])
resultsinDataFrame| Product 1 | Product 2 | Support | |
|---|---|---|---|
| 0 | light cream | chicken | 0.004533 |
| 1 | mushroom cream sauce | escalope | 0.005733 |
| 2 | pasta | escalope | 0.005866 |
| 3 | fromage blanc | honey | 0.003333 |
| 4 | herb & pepper | ground beef | 0.015998 |
| 5 | tomato sauce | ground beef | 0.005333 |
| 6 | light cream | olive oil | 0.003200 |
| 7 | whole wheat pasta | olive oil | 0.007999 |
| 8 | pasta | shrimp | 0.005066 |
resultsinDataFrame.nlargest(n=10, columns='Support')| Product 1 | Product 2 | Support | |
|---|---|---|---|
| 4 | herb & pepper | ground beef | 0.015998 |
| 7 | whole wheat pasta | olive oil | 0.007999 |
| 2 | pasta | escalope | 0.005866 |
| 1 | mushroom cream sauce | escalope | 0.005733 |
| 5 | tomato sauce | ground beef | 0.005333 |
| 8 | pasta | shrimp | 0.005066 |
| 0 | light cream | chicken | 0.004533 |
| 3 | fromage blanc | honey | 0.003333 |
| 6 | light cream | olive oil | 0.003200 |