Я хочу использовать apriori для анализа результатов голосования в 84 домах. Всего есть 17 столбцов, первый из которых - «партия», это две категориальные данные. Остальные столбцы являются двоичным набором данных. Как применить apriori в python? Minsup = 0,3 и minconfidence = 0,9
[введите описание изображения здесь] [1]
Это мой код: вывод выглядит некрасиво и не разумно.
import matplotlib.pyplot as plt
from sklearn import datasets
import pandas as pd
import numpy as np
import sys
import os
from apyori import apriori
from mlxtend.frequent_patterns import apriori
from efficient_apriori import apriori
from mlxtend.frequent_patterns import association_rules
from mlxtend.preprocessing import TransactionEncoder
df = pd.read_table("house-votes-84.data", sep=",", header=None,
na_values="?")
col_names = ['party', 'infants', 'water', 'budget', 'physician',
'salvador','religious', 'satellite', 'aid', 'missile', 'immigration',
'synfuels','education', 'superfund', 'crime', 'duty_free_exports',
'eaa_rsa']
df = df.fillna(0)
df.columns = col_names
df.shape
print(df.head())
df = df.replace({'y': 1, 'n': -1, '?': 0})
print(df.head())
records = []
for i in range(0, 435):
records.append([str(df.values[i,j]) for j in range(0, 16)])
association_rules = apriori(records, min_support=0.3, min_confidence=0.9)
association_results = list(association_rules)
print(len(association_rules))
print(association_rules[0]) `enter code here
ВЫВОД:
{1: {('-1',): 433, ('0',): 154, ('1',): 434, ('демократ'): 267, ('республиканец',) : 168}, 2: {('-1', '0'): 152, ('-1', '1'): 433, ('-1', 'демократ'): 266, ('-1 ',' республиканец '): 167, (' 0 ',' 1 '): 153, (' 1 ',' демократ '): 267, (' 1 ',' республиканец '): 167}, 3: {( «-1», «0», «1»): 152, («-1», «1», «демократ»): 266, («-1», «1», «республиканец»): 167} } * +1010 *