PYGAD如何调试内置的父代选择方法

我在使用PYGAD的GA模块编写遗传编程,我想使用锦标赛选择方法来匹配父代,但我不知道如何使用print()来调试父代选择方法,以下是我的代码:

import numpy as np
import pygad
def fitness_func(ga_instance, solution, solution_idx):
    return sum(solution)
population = np.array([[9, 9, 9], [6, 6, 6], [7, 7, 7], [8, 8, 8],[1,1,1],[2,2,2],[3,3,3],[0,0,0],[4,4,4],[5,5,5]])
ga_instance = pygad.GA(initial_population=population,
                       parent_selection_type="tournament",
                       K_tournament = 3)
# 计算初始种群的适应度
fitness = ga_instance.cal_pop_fitness()

我想查看下一代选择的父代,如何打印它们来调试内置的父代选择方法,非常感谢


回答:

有两种方法:

  1. 使用on_parents()参数。它被分配一个回调函数/方法,该函数/方法接收选定的父代。
def on_parents(ga_instance, selected_parents):
    print("on_parents()")
ga_instance = pygad.GA(...,
                       on_parents=on_parents,
                       ...)
  1. 使用last_generation_parents实例属性。你可以从任何地方使用pygad.GA类的实例来获取这个属性的值。

Related Posts

L1-L2正则化的不同系数

我想对网络的权重同时应用L1和L2正则化。然而,我找不…

使用scikit-learn的无监督方法将列表分类成不同组别,有没有办法?

我有一系列实例,每个实例都有一份列表,代表它所遵循的不…

f1_score metric in lightgbm

我想使用自定义指标f1_score来训练一个lgb模型…

通过相关系数矩阵进行特征选择

我在测试不同的算法时,如逻辑回归、高斯朴素贝叶斯、随机…

可以将机器学习库用于流式输入和输出吗?

已关闭。此问题需要更加聚焦。目前不接受回答。 想要改进…

在TensorFlow中,queue.dequeue_up_to()方法的用途是什么?

我对这个方法感到非常困惑,特别是当我发现这个令人费解的…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注