Алгоритм поиска правил ассоциации - PullRequest
0 голосов
/ 20 января 2020

У меня есть такой набор данных:

id|kurs|grade
1|c1|a
1|c2|b
2|c3|a

Я хочу выработать правила ассоциации таким образом. Если кто-то получит оценку «a» в «c1», он получит «b» в c2.Это всего лишь пример, но я хочу разработать правила ассоциации таким образом. Я пробовал следующий код:

dataset=list(df.values)
te = TransactionEncoder()
te_ary = te.fit(dataset).transform(dataset)
df_encoded = pd.DataFrame(te_ary, columns=te.columns_)
df_encoded
from mlxtend.frequent_patterns import apriori

apriori(df_encoded, min_support=0.1,use_colnames=True)

Я не получил ожидаемый результат. Не могли бы вы пролить свет на это?

1 Ответ

0 голосов
/ 22 января 2020

Вам следует предварительно обработать данные, чтобы они соответствовали ожидаемому формату. Попробуйте

#create example dataframe
import pandas as pd
ids = [1,1,2,2,3]
kurs= [1,2,3,1,1]
grade=[1,1,2,2,1]
df=pd.DataFrame.from_dict({'id':ids, 'kurs':kurs, 'grade':grade})
# make it in into the expected format 
df_properly = pd.crosstab(df['id'],[df['kurs'],df['grade']])
...