評価関数 (バイナリ入力/出力を使用する遺伝的プログラミング記号回帰問題の場合) で、異なる数のパラメーターを持つ関数をプログラムで処理できるようにしたいと考えています。(残りのコードは、サンプル データの列数に応じてすべてが自動調整されるように設定されています。入力は numpy.ndarray (行列) です)。いくつかのifステートメントを作成せずに、以下のコードでこれを行うにはどうすればよいですか? (以下のコードでは、 func は 3 つの入力を取り、4 番目の列が答えですが、他の実行では入力の数が異なる場合があります。これを自動的に処理したいと考えています。)
# EVALUATOR
def evalSymbReg(individual):
# Transform the tree expression in a callable function
numOfNodes = len(individual)
func = toolbox.compile(expr=individual)
# diff = the number wrong / the total number of questions
diff = (numpy.sum((func(inputDataTransposed[0], inputDataTransposed[1], inputDataTransposed[2]) - inputDataTransposed[3])**2).astype(numpy.float64) / len(inputDataTransposed[0]))
return diff,