Compare commits
2 Commits
c24ebe6b81
...
e9d5f7629f
Author | SHA1 | Date | |
---|---|---|---|
e9d5f7629f | |||
78e63aaa63 |
@ -15,14 +15,14 @@ def distance(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)-1)] for kk in range(0, k)]
|
||||
|
||||
grupos = [-1 for x in range(0, len(dados))]
|
||||
|
||||
it_semmodificacao = 0
|
||||
|
||||
# para cada instância
|
||||
# для каждого экземпляра
|
||||
iteracoes = 0
|
||||
while iteracoes < 1000 and it_semmodificacao < 10:
|
||||
inst_count = 0
|
||||
@ -31,7 +31,7 @@ def c_means(k, dados, tam):
|
||||
|
||||
for instancia in dados:
|
||||
|
||||
# verifica a distância para cada centroide
|
||||
# проверяет расстояние до каждого центроида
|
||||
grupo_count = 0
|
||||
dist = 10000
|
||||
|
||||
@ -41,7 +41,7 @@ def c_means(k, dados, tam):
|
||||
tmp = distance(instancia, grupo)
|
||||
if tmp < dist:
|
||||
dist = tmp
|
||||
# associa a a centroide de menor distância à instância
|
||||
# ассоциирует центроид с наименьшим расстоянием до экземпляра
|
||||
grupos[inst_count] = grupo_count
|
||||
grupo_count = grupo_count + 1
|
||||
|
||||
@ -55,7 +55,7 @@ def c_means(k, dados, tam):
|
||||
else:
|
||||
it_semmodificacao = 0
|
||||
|
||||
# atualiza cada centroide com base nos valores médios de todas as instâncias à ela associadas
|
||||
# обновляет каждый центроид на основе средних значений всех связанных с ним экземпляров
|
||||
grupo_count = 0
|
||||
for grupo in centroides:
|
||||
total_inst = functools.reduce(operator.add, [1 for xx in grupos if xx == grupo_count], 0)
|
||||
|
@ -18,7 +18,7 @@ all_methods = [Grid.GridPartitioner, Entropy.EntropyPartitioner, FCM.FCMPartitio
|
||||
mfs = [Membership.trimf, Membership.gaussmf, Membership.trapmf]
|
||||
|
||||
|
||||
def plot_sets(data, sets: dict, titles : list, size=[12, 10], save=False, file=None, axis=None):
|
||||
def plot_sets(sets: dict, titles : list, size=[12, 10], save=False, file=None, axis=None):
|
||||
"""
|
||||
Plot all fuzzy sets in a Partitioner
|
||||
|
||||
@ -26,7 +26,7 @@ def plot_sets(data, sets: dict, titles : list, size=[12, 10], save=False, file=N
|
||||
num = len(sets)
|
||||
|
||||
if axis is None:
|
||||
fig, axes = plt.subplots(nrows=num, ncols=1,figsize=size)
|
||||
fig, axes = plt.subplots(nrows=num, ncols=1, figsize=size)
|
||||
for k in np.arange(0,num):
|
||||
ticks = []
|
||||
x = []
|
||||
@ -54,7 +54,7 @@ def plot_sets(data, sets: dict, titles : list, size=[12, 10], save=False, file=N
|
||||
Util.show_and_save_image(fig, file, save)
|
||||
|
||||
|
||||
def plot_partitioners(data, objs, tam=[12, 10], save=False, file=None, axis=None):
|
||||
def plot_partitioners(objs, tam=[12, 10], save=False, file=None, axis=None):
|
||||
sets = [k.sets for k in objs]
|
||||
titles = [k.name for k in objs]
|
||||
plot_sets(sets, titles, tam, save, file, axis)
|
||||
|
Loading…
Reference in New Issue
Block a user