17.4.6 Unsupervised GraphWiseモデルのトレーニング
次のように、グラフでUnsupervised 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(100). // set the evaluation frequency (default: 1)
setEvaluationFrequencyScale(EvaluationFrequencyScale.STEP). // available options: EPOCH, STEP (default: EPOCH)
build()
opg4j> var model = analyst.unsupervisedGraphWiseModelBuilder().
setVertexInputPropertyNames("vertex_features").
setValidationConfig(validationConfig). // configuring the validation to be executed every 100 steps
build()
import oracle.pgx.config.mllib.GraphWiseValidationConfig;
import oracle.pgx.config.mllib.EvaluationFrequencyScale;
GraphWiseValidationConfig validationConfig = analyst.graphWiseValidationConfigBuilder()
.setEvaluationFrequency(100) // set the evaluation frequency (default: 1)
.setEvaluationFrequencyScale(EvaluationFrequencyScale.STEP) // available options: EPOCH, STEP (default: EPOCH)
.build();
UnsupervisedGraphWiseModel model = analyst.unsupervisedGraphWiseModelBuilder()
.setVertexInputPropertyNames("vertex_features")
.setValidationConfig(validationConfig) // configuring the validation to be executed every 100 steps
.build();
validation_config = analyst.graphwise_validation_config(
evaluation_frequency=100, # set the evaluation frequency (default: 1)
evaluation_frequency_scale="step", # available options: "epoch", "step" (default: "epoch")
)
params = dict(vertex_input_property_names=["vertex_features"],
validation_config=validation_config, # configuring the validation to be executed every 100 steps
seed=17)
model = analyst.unsupervised_graphwise_builder(**params)
検証ステップを構成した後、検証用のグラフをトレーニング用のグラフとともにfit
メソッドに渡すことができます:
opg4j> model.fit(trainGraph, valGraph)
model.fit(trainGraph,valGraph);
model.fit(train_graph,valGraph)