4. 教師ラベルのセット
前回は学習用データの入力データのセットについて説明しました。ここでは各入力データのサンプルに対応する教師ラベルのセット方法について解説します。
以下に実装例を示します。
int handle;
void make_label_data(double profit)
{
IZEL_close_x_train(handle);
if( profit > 0 ) {
IZEL_set_y_train(handle, 1);
} else {
IZEL_set_y_train(handle, 2);
}
}
IZEL_close_x_train()
前回の入力データのセット時に説明したように、本実装例ではここでIZEL_close_x_train()を呼んでいます。入力データのサンプル数とセットする教師ラベルの回数は一致していないと学習時にエラーとなります。前にmake_input_data()で
IZEL_close_x_train()を呼ばなかったのはこのためです。make_input_data()とmake_label_data()が呼び出される回数は一致するとは限らないので、学習時にエラーになってしまう可能性があります。この両者の数を確実に一致させるために、教師ラベルのセットをする直前でIZEL_close_x_train()を呼び出すようにしておきます。
IZEL_set_y_label()
教師ラベルを設定します。教師ラベルは1から始まる整数を指定します。IZEL_set_output_layerで教師ラベル数は2としているので、1か2かをセットする必要があります。この実装例では、利益が出た場合は1を、損失(0も含む)が出た場合は2をセットしています。

教師ラベルのセット方法は以上です。
次は学習の実装方法について説明します。