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 mithilfe der AutoML-API
Sie können einen Autopilot-Regressions- oder Klassifizierungsjob für Tabellendaten programmgesteuert erstellen, indem Sie die CreateAutoMLJobV2
API-Aktion in einer beliebigen Sprache aufrufen, die von Autopilot oder dem unterstützt wird. AWS CLI Weiter unten finden Sie eine Sammlung von obligatorischen und optionalen Eingabeanforderungsparametern für die API-Aktion CreateAutoMLJobV2
. Sie finden die alternativen Informationen für die vorangegangene Version 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 ein 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
CreateAutoMLJobV2 und DescribeAuto MLJob V2 sind neue Versionen von und bieten Abwärtskompatibilität. CreateAutoMLJobDescribeAutoMLJob
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 der Speicherorte 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 a CreateAuto MLJob auf V2 CreateAuto MLJob.
Erforderliche Parameter
Alle anderen Parameter sind optional.
Optionale Parameter
Die folgenden Abschnitte enthalten 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 Features 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 übersteigen würden, ohne dass Sie manuell eingreifen müssen. EMR Serverless ist für die Problemtypen tabellarisch und Zeitreihen verfügbar. Wir empfehlen, diese Option für tabellarische Datensätze mit mehr als 5 GB einzurichten.
Damit Ihr AutoML-Job V2 für große Datenmengen automatisch auf EMR Serverless umgestellt werden kann, müssen Sie der AutoML-Job ExecutionRoleARN
V2-Eingabeanforderung ein EmrServerlessComputeConfig
Objekt bereitstellen, das ein Feld enthält. AutoMLComputeConfig
Das ExecutionRoleARN
ist der ARN der IAM-Rolle, der dem AutoML-Job V2 die erforderlichen Berechtigungen zum Ausführen von EMR Serverless-Jobs gewährt.
Diese Rolle sollte über die folgende Vertrauensstellung verfügen:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "emr-serverless.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
Und gewähren Sie die Berechtigungen für:
-
Erstellen, Auflisten und Aktualisieren von EMR Serverless-Anwendungen.
-
Jobausführungen in einer serverlosen EMR-Anwendung starten, auflisten, abrufen oder abbrechen.
-
Taggen Sie EMR Serverless Resources.
-
Ü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 Serverless Job Execution Environments verwendet werden, um auf andere AWS Dienste und Ressourcen zuzugreifen, die während der Laufzeit benötigt werden, wie 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 a CreateAuto MLJob auf V2 CreateAuto MLJob
Wir empfehlen Benutzern von CreateAutoMLJob
nach CreateAutoMLJobV2
zu migrieren.
In diesem Abschnitt werden die Unterschiede in den Eingabeparametern zwischen CreateAutoMLJobund CreateAutoMLJobV2 erläutert, indem die Änderungen an der Position, dem Namen oder der Struktur der Objekte und Attribute der Eingabeanforderung zwischen den beiden Versionen hervorgehoben werden.
-
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.
Die folgende JSON-Datei veranschaulicht, wie Auto MLJob Config funktioniert. CandidateGenerationConfigvom Typ Auto MLCandidate GenerationConfig wurde zu Auto verschoben MLProblemTypeConfig. TabularJobConfig. CandidateGenerationConfigvom Typ CandidateGenerationConfigV2.
-
Fordern Sie Attribute an, die ihre Namen und ihre Struktur geändert haben.
Die folgende JSON-Datei veranschaulicht, wie InputDataConfig(Ein Array von Auto MLChannel) in V2 zu Auto MLJob InputDataConfig (Ein Array von Auto MLJob Channel) geändert wurde. Beachten Sie, dass die Attribute
SampleWeightAttributeName
undTargetAttributeName
ausInputDataConfig
nachAutoMLProblemTypeConfig
umziehen.