我正在使用gplearn的SymbolicTransformer生成一些自动化功能。问题是,当我在拟合后通过查看_best_programs来检查特征的表达时,我发现大多数特征具有相同的表达。我想知道是否有一种方法可以确保我们在拟合后使用SymbolicTransformer输出不同的特征?
我不知道是否有一种方法可以明确地强制执行此操作,但是您可能可以尝试强制每一代强制执行更多不同的种群,以希望这会导致产生更多不同的_best_programs。我认为您可以研究以下几个参数:
如果增加交叉或突变的机会,则会增加预期的多样性,但绝对不能逾期。多样化的人口与准确的人口之间存在平衡。交叉或变异越高,您越有可能选择强壮的个人候选人并将其改变为毫无意义的事物。