PyGad K-vecinos
Enviado por PELIS HD • 8 de Diciembre de 2023 • Documentos de Investigación • 285 Palabras (2 Páginas) • 113 Visitas
import pygad
import numpy as np
class Punto:
def __init__(self, x, y, z):
self.x = x
self.y = y
self.z = z
def distancia(a, b):
return np.sqrt((a.x - b.x)**2 + (a.y - b.y)**2 + (a.z - b.z)**2)
def fitness_func(ga_instance, solution, solution_idx):
busqueda = Punto(2.0, 3.0, 4.0)
puntos = [Punto(1, 5, 3), Punto(4, 5, 6), Punto(7, 8, 9)]
fitness = 0
for i in range(len(puntos)):
punto = puntos[i]
d = distancia(busqueda, punto)
fitness += d
return fitness
fitness_function = fitness_func
num_generations = 50
num_parents_mating = 10
gene_space = [[-4, 4] for _ in range(3)]
initial_population = np.random.uniform(low=-4, high=4, size=(20, 3))
ga_instance = pygad.GA(num_generations=num_generations,
num_parents_mating=num_parents_mating,
initial_population=initial_population,
fitness_func=fitness_function,
gene_space=gene_space)
ga_instance.run()
solucion, aptitud_solucion, indice_solucion = ga_instance.best_solution()
print("Parámetros de la mejor solución: {solucion}".format(solucion=solucion))
print("Valor de aptitud de la mejor solución: {aptitud_solucion}".format(aptitud_solucion=aptitud_solucion))
#Christopher Castaño 2-18-0436
...