Correção de bugs; Função para visualização do particionamento

This commit is contained in:
Petrônio Cândido de Lima e Silva 2016-12-26 12:06:54 -02:00
parent 2bf512134c
commit 756d0d2c1c
3 changed files with 23 additions and 2 deletions

View File

@ -15,7 +15,7 @@ def distancia(x, y):
def c_means(k, dados, tam):
# Inicializa as centróides escolhendo elementos aleatórios dos conjuntos
centroides = [dados[rnd.randint(0, len(dados))] for kk in range(0, k)]
centroides = [dados[rnd.randint(0, len(dados)-1)] for kk in range(0, k)]
grupos = [-1 for x in range(0, len(dados))]

View File

@ -29,7 +29,7 @@ def fuzzy_cmeans(k, dados, tam, m, deltadist=0.001):
tam_dados = len(dados)
# Inicializa as centróides escolhendo elementos aleatórios dos conjuntos
centroides = [dados[rnd.randint(0, tam_dados)] for kk in range(0, k)]
centroides = [dados[rnd.randint(0, tam_dados-1)] for kk in range(0, k)]
# Tabela de pertinência das instâncias aos grupos
grupos = [[0 for kk in range(0, k)] for xx in range(0, tam_dados)]

21
partitioners/Util.py Normal file
View File

@ -0,0 +1,21 @@
import numpy as np
import pandas as pd
import matplotlib as plt
import matplotlib.colors as pltcolors
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
from pyFTS.common import Membership
def plotSets(data, sets,num):
fig = plt.figure(figsize=[20, 10])
maxx = max(data)
minx = min(data)
h = 1/num
for k in range(num):
ax0 = fig.add_axes([0, (k+1)*h, 0.65, h]) # left, bottom, width, height
ax0.set_ylim([0, 1])
ax0.set_xlim([minx, maxx])
for s in sets[k]:
if s.mf == Membership.trimf:
ax0.plot([s.parameters[0],s.parameters[1],s.parameters[2]],[0,1,0])