17.2.8 Supervised GraphWiseモデルのトレーニング
次のコードに示すように、グラフのSupervised GraphWiseモデルをトレーニングできます。
opg4j> model.fit(trainGraph)
model.fit(trainGraph);
model.fit(train_graph)
トレーニングに検証ステップを追加することもできます。モデルをトレーニングするときに、最適なトレーニング・エポック数は事前に知ることはできません。これはモデルの品質を決定する主要なパラメータの1つです。トレーニングおよび検証の損失を監視できるようになることは、モデル・パラメータの適切な値の見極めと、トレーニング・プロセスの可視化に役立ちます。エポックまたはステップの評価頻度を指定できます。検証ステップを構成するには、次のようにGraphWiseValidationConfig
を作成し、モデル・ビルダーに渡します:
opg4j> import oracle.pgx.config.mllib.EvaluationFrequencyScale;
opg4j> var validationConfig = analyst.graphWiseValidationConfigBuilder().
setEvaluationFrequency(2). // set the evaluation frequency (default: 1)
setEvaluationFrequencyScale(EvaluationFrequencyScale.EPOCH). // available options: EPOCH, STEP (default: EPOCH)
build()
opg4j> var model = analyst.supervisedGraphWiseModelBuilder().
setVertexInputPropertyNames("features").
setVertexTargetPropertyName("labels").
setValidationConfig(validationConfig). // configuring the validation to be executed every 2 epochs
build()
import oracle.pgx.config.mllib.GraphWiseValidationConfig;
import oracle.pgx.config.mllib.EvaluationFrequencyScale;
GraphWiseValidationConfig validationConfig = analyst.graphWiseValidationConfigBuilder()
.setEvaluationFrequency(2) // set the evaluation frequency (default: 1)
.setEvaluationFrequencyScale(EvaluationFrequencyScale.EPOCH) // available options: EPOCH, STEP (default: EPOCH)
.build();
SupervisedGraphWiseModel model = analyst.supervisedGraphWiseModelBuilder()
.setVertexInputPropertyNames("features")
.setVertexTargetPropertyName("labels")
.setValidationConfig(validationConfig) // configuring the validation to be executed every 2 epochs
.build();
validation_config = analyst.graphwise_validation_config(
evaluation_frequency=2, # set the evaluation frequency (default: 1)
evaluation_frequency_scale="epoch", # available options: "epoch", "step" (default: "epoch")
)
params = dict(vertex_target_property_name="labels"
vertex_input_property_names=["features"],
validation_config=validation_config, # configuring the validation to be executed every 2 epochs
seed=17)
model = analyst.supervised_graphwise_builder(**params)
検証ステップを構成した後、検証用のグラフをトレーニング用のグラフとともにfit
メソッドに渡すことができます:
opg4j> model.fit(trainGraph, valGraph)
model.fit(trainGraph,valGraph);
model.fit(train_graph,valGraph)