0

我正在使用 gplearn 的 SymbolicTransformer 来生成一些自动化特征。问题是,当我在拟合后通过查看 _best_programs 来检查特征的表达时,我发现大多数特征都有相同的表达。我想知道是否有办法确保我们在拟合后使用 SymbolicTransformer 输出不同的特征?

4

1 回答 1

0

我不知道是否有办法明确地强制执行这一点,但您可能会尝试在每一代强制执行更多样化的人口,希望这会导致更多样化的_best_programs 的集合。在我看来,您可以研究的几个参数是:

  • p_crossover
  • p_subtree_mutation
  • p_hoise_mutation
  • p_point_mutation
  • p_point_replace

如果您增加交叉或突变的机会,您将增加您的预期多样性,但您不能逾期。多样化的人口和准确的人口之间存在平衡。交叉或突变越高,你就越有可能选择一个强大的个体候选人并将其变成毫无意义的东西。

于 2020-06-02T20:34:13.160 回答