Correção de bugs; Função para visualização do particionamento
This commit is contained in:
parent
2bf512134c
commit
756d0d2c1c
@ -15,7 +15,7 @@ def distancia(x, y):
|
|||||||
|
|
||||||
def c_means(k, dados, tam):
|
def c_means(k, dados, tam):
|
||||||
# Inicializa as centróides escolhendo elementos aleatórios dos conjuntos
|
# 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))]
|
grupos = [-1 for x in range(0, len(dados))]
|
||||||
|
|
||||||
|
@ -29,7 +29,7 @@ def fuzzy_cmeans(k, dados, tam, m, deltadist=0.001):
|
|||||||
tam_dados = len(dados)
|
tam_dados = len(dados)
|
||||||
|
|
||||||
# Inicializa as centróides escolhendo elementos aleatórios dos conjuntos
|
# 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
|
# Tabela de pertinência das instâncias aos grupos
|
||||||
grupos = [[0 for kk in range(0, k)] for xx in range(0, tam_dados)]
|
grupos = [[0 for kk in range(0, k)] for xx in range(0, tam_dados)]
|
||||||
|
21
partitioners/Util.py
Normal file
21
partitioners/Util.py
Normal 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])
|
Loading…
Reference in New Issue
Block a user