Как использовать python apriori для определения набора данных для голосования дома? - PullRequest
0 голосов
/ 23 апреля 2019

Я хочу использовать 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 *

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