予測データの単一インスタンスに関するオンライン予測を取得します。
もっと見る
このコードサンプルを含む詳細なドキュメントについては、以下をご覧ください。
コードサンプル
Java
AutoML Tables に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
import com.google.cloud.automl.v1beta1.AnnotationPayload;
import com.google.cloud.automl.v1beta1.ExamplePayload;
import com.google.cloud.automl.v1beta1.ModelName;
import com.google.cloud.automl.v1beta1.PredictRequest;
import com.google.cloud.automl.v1beta1.PredictResponse;
import com.google.cloud.automl.v1beta1.PredictionServiceClient;
import com.google.cloud.automl.v1beta1.Row;
import com.google.cloud.automl.v1beta1.TablesAnnotation;
import com.google.protobuf.Value;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
class TablesPredict {
public static void main(String[] args) throws IOException {
// TODO(developer): Replace these variables before running the sample.
String projectId = "YOUR_PROJECT_ID";
String modelId = "YOUR_MODEL_ID";
// Values should match the input expected by your model.
List<Value> values = new ArrayList<>();
// values.add(Value.newBuilder().setBoolValue(true).build());
// values.add(Value.newBuilder().setNumberValue(10).build());
// values.add(Value.newBuilder().setStringValue("YOUR_STRING").build());
predict(projectId, modelId, values);
}
static void predict(String projectId, String modelId, List<Value> values) throws IOException {
// Initialize client that will be used to send requests. This client only needs to be created
// once, and can be reused for multiple requests. After completing all of your requests, call
// the "close" method on the client to safely clean up any remaining background resources.
try (PredictionServiceClient client = PredictionServiceClient.create()) {
// Get the full path of the model.
ModelName name = ModelName.of(projectId, "us-central1", modelId);
Row row = Row.newBuilder().addAllValues(values).build();
ExamplePayload payload = ExamplePayload.newBuilder().setRow(row).build();
// Feature importance gives you visibility into how the features in a specific prediction
// request informed the resulting prediction. For more info, see:
// https://cloud.google.com/automl-tables/docs/features#local
PredictRequest request =
PredictRequest.newBuilder()
.setName(name.toString())
.setPayload(payload)
.putParams("feature_importance", "true")
.build();
PredictResponse response = client.predict(request);
System.out.println("Prediction results:");
for (AnnotationPayload annotationPayload : response.getPayloadList()) {
TablesAnnotation tablesAnnotation = annotationPayload.getTables();
System.out.format(
"Classification label: %s%n", tablesAnnotation.getValue().getStringValue());
System.out.format("Classification score: %.3f%n", tablesAnnotation.getScore());
// Get features of top importance
tablesAnnotation
.getTablesModelColumnInfoList()
.forEach(
info ->
System.out.format(
"\tColumn: %s - Importance: %.2f%n",
info.getColumnDisplayName(), info.getFeatureImportance()));
}
}
}
}
Node.js
AutoML Tables に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
/**
* Demonstrates using the AutoML client to request prediction from
* automl tables using csv.
* TODO(developer): Uncomment the following lines before running the sample.
*/
// const projectId = '[PROJECT_ID]' e.g., "my-gcloud-project";
// const computeRegion = '[REGION_NAME]' e.g., "us-central1";
// const modelId = '[MODEL_ID]' e.g., "TBL000000000000";
// const inputs = [{ numberValue: 1 }, { stringValue: 'value' }, { stringValue: 'value2' } ...]
const automl = require('@google-cloud/automl');
// Create client for prediction service.
const automlClient = new automl.v1beta1.PredictionServiceClient();
// Get the full path of the model.
const modelFullId = automlClient.modelPath(projectId, computeRegion, modelId);
async function predict() {
// Set the payload by giving the row values.
const payload = {
row: {
values: inputs,
},
};
// Params is additional domain-specific parameters.
// Currently there is no additional parameters supported.
const [response] = await automlClient.predict({
name: modelFullId,
payload: payload,
params: {feature_importance: true},
});
console.log('Prediction results:');
for (const result of response.payload) {
console.log(`Predicted class name: ${result.displayName}`);
console.log(`Predicted class score: ${result.tables.score}`);
// Get features of top importance
const featureList = result.tables.tablesModelColumnInfo.map(
columnInfo => {
return {
importance: columnInfo.featureImportance,
displayName: columnInfo.columnDisplayName,
};
}
);
// Sort features by their importance, highest importance first
featureList.sort((a, b) => {
return b.importance - a.importance;
});
// Print top 10 important features
console.log('Features of top importance');
console.log(featureList.slice(0, 10));
}
}
predict();
Python
AutoML Tables に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
# TODO(developer): Uncomment and set the following variables
# project_id = 'PROJECT_ID_HERE'
# compute_region = 'COMPUTE_REGION_HERE'
# model_display_name = 'MODEL_DISPLAY_NAME_HERE'
# inputs = {'value': 3, ...}
from google.cloud import automl_v1beta1 as automl
client = automl.TablesClient(project=project_id, region=compute_region)
if feature_importance:
response = client.predict(
model_display_name=model_display_name,
inputs=inputs,
feature_importance=True,
)
else:
response = client.predict(model_display_name=model_display_name, inputs=inputs)
print("Prediction results:")
for result in response.payload:
print(f"Predicted class name: {result.tables.value}")
print(f"Predicted class score: {result.tables.score}")
if feature_importance:
# get features of top importance
feat_list = [
(column.feature_importance, column.column_display_name)
for column in result.tables.tables_model_column_info
]
feat_list.sort(reverse=True)
if len(feat_list) < 10:
feat_to_show = len(feat_list)
else:
feat_to_show = 10
print("Features of top importance:")
for feat in feat_list[:feat_to_show]:
print(feat)
次のステップ
他の Google Cloud プロダクトに関連するコードサンプルの検索およびフィルタ検索を行うには、Google Cloud のサンプルをご覧ください。