Как получить уравнения, связывающие элементы из правил с алгоритмом априори? - PullRequest
0 голосов
/ 23 января 2019

У меня есть база данных из файла Excel, включающая 75 элементов, я хочу получить уравнение, которое вычисляет 75-й элемент в зависимости от значения 74 элементов.

Я использую Anaconda и python для извлечения данных и полученияПравило по алгоритму Apriori, я получаю правило, но оно бесполезно, потому что оно находится в непонятной формуле, и у меня есть один вопрос: * Как преобразовать правило в уравнение, которое вычисляет 75-й элемент в зависимости от значения 74 элементов?

#Import libraries & dataset
import pandas as pd

from apyori import apriori

number_of_raws = 4000
number_of_columns = 75

store_data = pd.read_excel('C:\\Users\\smaol\\Aro\\1.xlsx',header=1)

#convert to list
transactions  = []

for i in range(0, number_of_raws):
    for j in range(0, number_of_columns):
        transactions.append(str(store_data.values[i,j]))

#found Rule
association_rules = apriori(transactions, min_support=0.025, min_confidence=0.5, min_lift=3, min_length=2)  
association_results = list(association_rules)  

Результат:

[RelationRecord(items=frozenset({'a', 'n'}), support=0.043116666666666664, ordered_statistics=[OrderedStatistic(items_base=frozenset({'a'}), items_add=frozenset({'n'}), confidence=1.0, lift=23.192887514495556), OrderedStatistic(items_base=frozenset({'n'}), items_add=frozenset({'a'}), confidence=1.0, lift=23.192887514495556)])]
[RelationRecord(items=frozenset({'a', 'n'}), support=0.043116666666666664, ordered_statistics=[OrderedStatistic(items_base=frozenset({'a'}), items_add=frozenset({'n'}), confidence=1.0, lift=23.192887514495556), OrderedStatistic(items_base=frozenset({'n'}), items_add=frozenset({'a'}), confidence=1.0, lift=23.192887514495556)])]
[RelationRecord(items=frozenset({'a', 'n'}), support=0.043116666666666664, ordered_statistics=[OrderedStatistic(items_base=frozenset({'a'}), items_add=frozenset({'n'}), confidence=1.0, lift=23.192887514495556), OrderedStatistic(items_base=frozenset({'n'}), items_add=frozenset({'a'}), confidence=1.0, lift=23.192887514495556)])]
[RelationRecord(items=frozenset({'a', 'n'}), support=0.043116666666666664, ordered_statistics=[OrderedStatistic(items_base=frozenset({'a'}), items_add=frozenset({'n'}), confidence=1.0, lift=23.192887514495556), OrderedStatistic(items_base=frozenset({'n'}), items_add=frozenset({'a'}), confidence=1.0, lift=23.192887514495556)])]

enter image description here

enter image description here

1 Ответ

0 голосов
/ 25 января 2019

Если у вас всегда одинаковое количество строк, это, скорее всего, не данные «корзины».Вероятно, есть значение для информации о положении, которое потеряно при преобразовании этого в наборы элементов.

Как насчет использования стандартного алгоритма прогнозирования.Например, деревья решений и случайные леса?

Не используйте «apyrori».Это неверная реализация.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...