Gremlin node regression queries in Neptune ML
Node regression is similar to node classification, except that the value inferred from the regression model for each node is numeric. You can use the same Gremlin queries for node regression as for node classification except for the following differences:
Again, in Neptune ML, nodes refer to vertices.
The
properties()
step takes the form,properties().with("Neptune#ml.regression")
instead ofproperties().with("Neptune#ml.classification")
.The
"Neptune#ml.limit
" and"Neptune#ml.threshold"
predicates are not applicable.When you filter on the value, you have to specify a numeric value.
Here is a sample vertex classification query:
g.with("Neptune#ml.endpoint","node-regression-movie-lens-endpoint") .with("Neptune#ml.iamRoleArn", "arn:aws:iam::0123456789:role/sagemaker-role") .V("movie_1","movie_2","movie_3") .properties("revenue").with("Neptune#ml.regression")
You can filter on the value inferred using a regression model, as illustrated in the following examples:
g.with("Neptune#ml.endpoint","node-regression-movie-lens-endpoint") .with("Neptune#ml.iamRoleArn","arn:aws:iam::0123456789:role/sagemaker-role") .V("movie_1","movie_2","movie_3") .properties("revenue").with("Neptune#ml.regression") .value().is(P.gte(1600000)) g.with("Neptune#ml.endpoint","node-regression-movie-lens-endpoint") .with("Neptune#ml.iamRoleArn","arn:aws:iam::0123456789:role/sagemaker-role") .V("movie_1","movie_2","movie_3") .properties("revenue").with("Neptune#ml.regression") .hasValue(P.lte(1600000D))