Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Erstellen Sie Regressions- oder Klassifizierungsjobs für Tabellendaten mit AutoML API
Sie können einen Autopilot-Regressions- oder Klassifizierungsjob für Tabellendaten programmgesteuert erstellen, indem Sie die CreateAutoMLJobV2
APIAktion in einer beliebigen Sprache aufrufen, die von Autopilot oder dem unterstützt wird. AWS CLI Im Folgenden finden Sie eine Sammlung von obligatorischen und optionalen Eingabeanforderungsparametern für die Aktion. CreateAutoMLJobV2
API Sie finden die alternativen Informationen für die Vorgängerversion dieser Aktion, CreateAutoMLJob
. Wir empfehlen jedoch, CreateAutoMLJobV2
zu verwenden.
Informationen darüber, wie diese API Aktion in eine Funktion in der Sprache Ihrer Wahl übersetzt wird, finden Sie im Abschnitt „Siehe auch“ von CreateAutoMLJobV2
und wählen Sie eine SDK aus. Als Beispiel für Python-Benutzer finden Sie die vollständige Anforderungssyntax von create_auto_ml_job_v2
in AWS SDK for Python (Boto3).
Anmerkung
CreateAutoMLJobV2und DescribeAutoMLJobV2sind neue Versionen von CreateAutoMLJobund DescribeAutoMLJob, die Abwärtskompatibilität bieten.
Wir empfehlen die Verwendung des CreateAutoMLJobV2
. CreateAutoMLJobV2
kann tabellarische Aufgabentypen bearbeiten, die mit denen der Vorgängerversion CreateAutoMLJob
identisch sind, sowie nicht-tabellarische Aufgabentypen wie Bild- oder Textklassifizierung oder Zeitreihenprognosen.
Alle Experimente mit tabellarischen Daten erfordern mindestens die Angabe des Versuchsnamens, die Angabe von Speicherorten für die Eingabe- und Ausgabedaten und die Angabe, welche Zieldaten vorhergesagt werden sollen. Optional können Sie auch die Art des Problems angeben, das Sie lösen möchten (Regression, Klassifikation, Mehrklassenklassifikation), Ihre Modellierungsstrategie (gestapelte Ensembles oder Hyperparameter-Optimierung) wählen, die Liste der Algorithmen auswählen, die vom Autopilot-Job zum Trainieren der Daten verwendet werden, und vieles mehr.
Nach der Durchführung des Experiments können Sie Versuche vergleichen und sich mit den Einzelheiten der Vorverarbeitungsschritte, Algorithmen und Hyperparameterbereiche der einzelnen Modelle befassen. Sie haben auch die Möglichkeit, die Erklärbarkeits- und Leistungsberichte dazu herunterzuladen. Verwenden Sie die mitgelieferten Notebooks, um sich die Ergebnisse der automatisierten Datenexploration oder die Definitionen der Kandidatenmodelle anzusehen.
Hier finden Sie Richtlinien zur Migration eines CreateAutoMLJob
nach CreateAutoMLJobV2
in Migrieren Sie ein CreateAuto MLJob zu CreateAuto MLJobV2.
Erforderliche Parameter
Alle anderen Parameter sind optional.
Optionale Parameter
In den folgenden Abschnitten finden Sie Einzelheiten zu einigen optionalen Parametern, die Sie an Ihre CreateAutoMLJobV2
API Aktion übergeben können, wenn Sie Tabellendaten verwenden. Sie finden die alternativen Informationen für die Vorgängerversion dieser Aktion, CreateAutoMLJob
. Wir empfehlen jedoch, CreateAutoMLJobV2
zu verwenden.
Bei tabellarischen Daten hängt es von Ihrer Modellierungsstrategie (ENSEMBLING
oder HYPERPARAMETER_TUNING
) ab, welche Algorithmen anhand Ihrer Daten ausgeführt werden, um Ihre Modellkandidaten zu trainieren. Im Folgenden wird beschrieben, wie diese Trainingsweise eingestellt wird.
Wenn Sie das Feld leer lassen (odernull
), wird das Mode
aus der Größe Ihres Datensatzes abgeleitet.
Informationen zu den Trainingsmethoden für gestapelte Ensembles und Hyperparameter-Optimierung von Autopilot finden Sie unter Trainingsweisen und Unterstützung von Algorithmen
Auswahl der Features
Autopilot bietet automatische Schritte zur Datenvorverarbeitung, einschließlich der Auswahl und Extraktion der Features. Sie können die Features, die im Training verwendet werden sollen, mit dem Attribut FeatureSpecificatioS3Uri
aber auch manuell angeben.
Ausgewählte Funktionen sollten in einer JSON Datei im folgenden Format enthalten sein:
{ "FeatureAttributeNames":["col1", "col2", ...] }
Bei den Werten in ["col1", "col2", ...]
wird die Groß-/Kleinschreibung berücksichtigt. Es sollte sich dabei um eine Liste von Zeichenfolgen handeln, die eindeutige Werte enthalten, bei denen es sich um Teilmengen der Spaltennamen in den Eingabedaten handelt.
Anmerkung
Die Liste der als Features bereitgestellten Spalten darf die Zielspalte nicht enthalten.
Auswahl der Algorithmen
Ihr Autopilot-Job führt standardmäßig eine vordefinierte Liste von Algorithmen an Ihrem Datensatz aus, um Modellkandidaten zu trainieren. Die Liste der Algorithmen hängt von der Trainingsweise (ENSEMBLING
oder HYPERPARAMETER_TUNING
) ab, die vom Job verwendet wird.
Sie können eine Teilmenge der Standardauswahl an Algorithmen angeben.
Eine Liste der verfügbaren Algorithmen je Training Mode
finden Sie unter AutoMLAlgorithms
. Einzelheiten zu den einzelnen Algorithmen finden Sie unter Trainingsweisen und Unterstützung von Algorithmen.
Sie können Ihren eigenen Validierungsdatensatz und ein benutzerdefiniertes Datenteilungsverhältnis angeben oder den Datensatz automatisch von Autopilot teilen lassen.
Informationen zur Aufteilung und Quervalidierung in Autopilot finden Sie unter Kreuzvalidierung im Autopilot.
Anmerkung
In manchen Fällen kann Autopilot ProblemType
nicht mit ausreichender Sicherheit ableiten. In diesem Fall müssen Sie den Wert angeben, damit der Auftrag erfolgreich ist.
Sie können zu Ihrem tabellarischen Datensatz eine Spalte mit Stichprobengewichtungen hinzufügen und sie dann an Ihren AutoML-Job übergeben, um anzufordern, dass Datensatzzeilen während des Trainings und der Auswertung gewichtet werden.
Der Support für Stichprobengewichtungen steht nur im Ensembling-Modus zur Verfügung. Ihre Gewichtungen sollten numerisch und dürfen nicht negativ sein. Datenpunkte mit ungültigem oder keinem Gewichtungswert sind ausgeschlossen. Weitere Informationen zu den verfügbaren Kennzahlen finden Sie unter Gewichtete Metriken mit Autopilot.
Sie können Ihren AutoML-Job V2 so konfigurieren, dass er automatisch einen Remote-Job auf Amazon EMR Serverless initiiert, wenn zusätzliche Rechenressourcen für die Verarbeitung großer Datensätze benötigt werden. Durch die nahtlose Umstellung auf EMR Serverless bei Bedarf kann der AutoML-Job Datensätze verarbeiten, die andernfalls die ursprünglich bereitgestellten Ressourcen überschreiten würden, ohne dass Sie manuell eingreifen müssen. EMRServerless ist für die Problemtypen tabellarisch und zeitreihenförmig verfügbar. Wir empfehlen, diese Option für tabellarische Datensätze einzurichten, die größer als 5 GB sind.
Damit Ihr AutoML-Job V2 für große Datenmengen automatisch auf EMR Serverless umgestellt werden kann, müssen Sie ein EmrServerlessComputeConfig
Objekt, das ein ExecutionRoleARN
Feld enthält, für die AutoMLComputeConfig
AutoML-Job V2-Eingabeanforderung bereitstellen.
Dies ExecutionRoleARN
ist die ARN IAM Rolle, die dem AutoML-Job V2 die erforderlichen Berechtigungen zum Ausführen EMR serverloser Jobs gewährt.
Diese Rolle sollte die folgende Vertrauensstellung haben:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "emr-serverless.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
Und gewähren Sie die Berechtigungen für:
-
EMRServerlose Anwendungen erstellen, auflisten und aktualisieren.
-
Auftragsausführungen in einer EMR serverlosen Anwendung starten, auflisten, abrufen oder abbrechen
-
Taggen Sie EMR serverlose Ressourcen.
-
Übergeben Sie eine IAM Rolle zur Ausführung an den EMR Serverless-Dienst.
Durch Erteilung der
iam:PassRole
Berechtigung kann der AutoML-Job V2 vorübergehend dieEMRServerlessRuntimeRole-*
Rolle übernehmen und sie an den EMR Serverless-Dienst übergeben. Dies sind die IAM Rollen, die von den EMR serverlosen Jobausführungsumgebungen für den Zugriff auf andere AWS Dienste und Ressourcen verwendet werden, die während der Laufzeit benötigt werden, z. B. Amazon S3 für den Datenzugriff, CloudWatch für die Protokollierung, den Zugriff auf den AWS Glue Datenkatalog oder andere Dienste, die Ihren Workload-Anforderungen entsprechen.Einzelheiten zu diesen Rollenberechtigungen finden Sie unter Job Runtime Roles for Amazon EMR Serverless.
Die im bereitgestellten JSON Dokument definierte IAM Richtlinie gewährt diese Berechtigungen:
{ "Version": "2012-10-17", "Statement": [{ + "Sid": "EMRServerlessCreateApplicationOperation", + "Effect": "Allow", + "Action": "emr-serverless:CreateApplication", + "Resource": "arn:aws:emr-serverless:*:*:/*", + "Condition": { + "StringEquals": { + "aws:RequestTag/sagemaker:is-canvas-resource": "True", + "aws:ResourceAccount": "${aws:PrincipalAccount}" + } + } + }, + { + "Sid": "EMRServerlessListApplicationOperation", + "Effect": "Allow", + "Action": "emr-serverless:ListApplications", + "Resource": "arn:aws:emr-serverless:*:*:/*", + "Condition": { + "StringEquals": { + "aws:ResourceAccount": "${aws:PrincipalAccount}" + } + } + }, + { + "Sid": "EMRServerlessApplicationOperations", + "Effect": "Allow", + "Action": [ + "emr-serverless:UpdateApplication", + "emr-serverless:GetApplication" + ], + "Resource": "arn:aws:emr-serverless:*:*:/applications/*", + "Condition": { + "StringEquals": { + "aws:ResourceTag/sagemaker:is-canvas-resource": "True", + "aws:ResourceAccount": "${aws:PrincipalAccount}" + } + } + }, + { + "Sid": "EMRServerlessStartJobRunOperation", + "Effect": "Allow", + "Action": "emr-serverless:StartJobRun", + "Resource": "arn:aws:emr-serverless:*:*:/applications/*", + "Condition": { + "StringEquals": { + "aws:RequestTag/sagemaker:is-canvas-resource": "True", + "aws:ResourceAccount": "${aws:PrincipalAccount}" + } + } + }, + { + "Sid": "EMRServerlessListJobRunOperation", + "Effect": "Allow", + "Action": "emr-serverless:ListJobRuns", + "Resource": "arn:aws:emr-serverless:*:*:/applications/*", + "Condition": { + "StringEquals": { + "aws:ResourceTag/sagemaker:is-canvas-resource": "True", + "aws:ResourceAccount": "${aws:PrincipalAccount}" + } + } + }, + { + "Sid": "EMRServerlessJobRunOperations", + "Effect": "Allow", + "Action": [ + "emr-serverless:GetJobRun", + "emr-serverless:CancelJobRun" + ], + "Resource": "arn:aws:emr-serverless:*:*:/applications/*/jobruns/*", + "Condition": { + "StringEquals": { + "aws:ResourceTag/sagemaker:is-canvas-resource": "True", + "aws:ResourceAccount": "${aws:PrincipalAccount}" + } + } + }, + { + "Sid": "EMRServerlessTagResourceOperation", + "Effect": "Allow", + "Action": "emr-serverless:TagResource", + "Resource": "arn:aws:emr-serverless:*:*:/*", + "Condition": { + "StringEquals": { + "aws:RequestTag/sagemaker:is-canvas-resource": "True", + "aws:ResourceAccount": "${aws:PrincipalAccount}" + } + } + }, + { + "Sid": "IAMPassOperationForEMRServerless", + "Effect": "Allow", + "Action": "iam:PassRole", + "Resource": "arn:aws:iam::*:role/EMRServerlessRuntimeRole-*", + "Condition": { + "StringEquals": { + "iam:PassedToService": "emr-serverless.amazonaws.com", + "aws:ResourceAccount": "${aws:PrincipalAccount}" + } + } } ] }
Migrieren Sie ein CreateAuto MLJob zu CreateAuto MLJobV2
Wir empfehlen Benutzern von CreateAutoMLJob
nach CreateAutoMLJobV2
zu migrieren.
In diesem Abschnitt werden die Unterschiede in den Eingabeparametern zwischen CreateAutoMLJobund CreateAutoMLJobV2durch Hervorheben der Änderungen an der Position, dem Namen oder der Struktur der Objekte und Attribute der Eingabeanforderung zwischen den beiden Versionen erläutert.
-
Fordern Sie Attribute an, die sich von einer Version zur nächsten nicht geändert haben.
{ "AutoMLJobName": "string", "AutoMLJobObjective": { "MetricName": "string" }, "ModelDeployConfig": { "AutoGenerateEndpointName": boolean, "EndpointName": "string" }, "OutputDataConfig": { "KmsKeyId": "string", "S3OutputPath": "string" }, "RoleArn": "string", "Tags": [ { "Key": "string", "Value": "string" } ] }
-
Fordern Sie Attribute an, die von einer Version zur nächsten Position und Struktur geändert haben.
Die folgenden Attribute haben ihre Position geändert:
DataSplitConfig
,Security Config
,CompletionCriteria
,Mode
,FeatureSpecificationS3Uri
,SampleWeightAttributeName
,TargetAttributeName
. -
Die folgenden Attribute haben von einer Versionen zur nächsten Position und Struktur geändert.
Im Folgenden JSON wird veranschaulicht, wie A utoMLJob Config funktioniert. CandidateGenerationConfigvom Typ A utoMLCandidate GenerationConfig wurde zu A verschoben utoMLProblemTypeConfig. TabularJobConfig. CandidateGenerationConfigvom Typ CandidateGenerationConfigV2.
-
Fordern Sie Attribute an, die ihre Namen und ihre Struktur geändert haben.
Im Folgenden JSON wird veranschaulicht, wie InputDataConfig(Ein Array von A utoMLChannel) in V2 zu A utoMLJob InputDataConfig (Ein Array von utoMLJobA-Kanal) geändert wurde. Beachten Sie, dass die Attribute
SampleWeightAttributeName
undTargetAttributeName
ausInputDataConfig
nachAutoMLProblemTypeConfig
umziehen.