

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.

# CatBoost
<a name="catboost"></a>

[CatBoost](https://catboost.ai/)ist eine beliebte und leistungsstarke Open-Source-Implementierung des Gradient Boosting Decision Tree (GBDT) -Algorithmus. GBDT ist ein überwachter Lernalgorithmus, der versucht, eine Zielvariable genau vorherzusagen, indem Schätzungen aus einer Menge einfacherer und schwächerer Modelle kombiniert werden.

CatBoost führt zwei wichtige algorithmische Verbesserungen für GBDT ein:

1. Die Implementierung von Ordered Boosting, einer permutationsgesteuerten Alternative zum klassischen Algorithmus

1. Ein innovativer Algorithmus zur Verarbeitung kategorischer Features

Beide Techniken wurden entwickelt, um einer Verschiebung der Voraussage entgegenzuwirken, die durch eine besondere Art von Zielleckage verursacht wird, die in allen derzeit vorhandenen Implementierungen von Gradienten-Boosting-Algorithmen auftritt. Diese Seite enthält Informationen zu Amazon EC2 EC2-Instance-Empfehlungen und Beispiel-Notebooks für CatBoost.

# Wie benutzt man KI SageMaker CatBoost
<a name="catboost-modes"></a>

Sie können den integrierten Algorithmus von Amazon SageMaker AI verwenden CatBoost . Im folgenden Abschnitt wird die Verwendung CatBoost mit dem SageMaker Python-SDK beschrieben. Informationen zur Verwendung CatBoost von der Amazon SageMaker Studio Classic-Benutzeroberfläche aus finden Sie unter[SageMaker JumpStart vortrainierte Modelle](studio-jumpstart.md).
+ ** CatBoost Als integrierten Algorithmus verwenden**

  Verwenden Sie den CatBoost integrierten Algorithmus, um einen CatBoost Trainingscontainer zu erstellen, wie im folgenden Codebeispiel gezeigt. Sie können den CatBoost integrierten Algorithmus-Image-URI mithilfe der SageMaker `image_uris.retrieve` KI-API (oder der `get_image_uri` API, wenn Sie [Amazon SageMaker Python SDK](https://sagemaker.readthedocs.io/en/stable) Version 2 verwenden) automatisch erkennen. 

  Nachdem Sie die CatBoost Bild-URI angegeben haben, können Sie den CatBoost Container verwenden, um mithilfe der SageMaker AI Estimator API einen Schätzer zu erstellen und einen Trainingsjob zu starten. Der CatBoost integrierte Algorithmus wird im Skriptmodus ausgeführt, aber das Trainingsskript wird für Sie bereitgestellt und muss nicht ersetzt werden. Wenn Sie umfangreiche Erfahrung mit der Erstellung eines SageMaker Trainingsjobs im Skriptmodus haben, können Sie Ihre eigenen CatBoost Trainingsskripte integrieren.

  ```
  from sagemaker import image_uris, model_uris, script_uris
  
  train_model_id, train_model_version, train_scope = "catboost-classification-model", "*", "training"
  training_instance_type = "ml.m5.xlarge"
  
  # Retrieve the docker image
  train_image_uri = image_uris.retrieve(
      region=None,
      framework=None,
      model_id=train_model_id,
      model_version=train_model_version,
      image_scope=train_scope,
      instance_type=training_instance_type
  )
  
  # Retrieve the training script
  train_source_uri = script_uris.retrieve(
      model_id=train_model_id, model_version=train_model_version, script_scope=train_scope
  )
  
  train_model_uri = model_uris.retrieve(
      model_id=train_model_id, model_version=train_model_version, model_scope=train_scope
  )
  
  # Sample training data is available in this bucket
  training_data_bucket = f"jumpstart-cache-prod-{aws_region}"
  training_data_prefix = "training-datasets/tabular_multiclass/"
  
  training_dataset_s3_path = f"s3://{training_data_bucket}/{training_data_prefix}/train"
  validation_dataset_s3_path = f"s3://{training_data_bucket}/{training_data_prefix}/validation"
  
  output_bucket = sess.default_bucket()
  output_prefix = "jumpstart-example-tabular-training"
  
  s3_output_location = f"s3://{output_bucket}/{output_prefix}/output"
  
  from sagemaker import hyperparameters
  
  # Retrieve the default hyperparameters for training the model
  hyperparameters = hyperparameters.retrieve_default(
      model_id=train_model_id, model_version=train_model_version
  )
  
  # [Optional] Override default hyperparameters with custom values
  hyperparameters[
      "iterations"
  ] = "500"
  print(hyperparameters)
  
  from sagemaker.estimator import Estimator
  from sagemaker.utils import name_from_base
  
  training_job_name = name_from_base(f"built-in-algo-{train_model_id}-training")
  
  # Create SageMaker Estimator instance
  tabular_estimator = Estimator(
      role=aws_role,
      image_uri=train_image_uri,
      source_dir=train_source_uri,
      model_uri=train_model_uri,
      entry_point="transfer_learning.py",
      instance_count=1,
      instance_type=training_instance_type,
      max_run=360000,
      hyperparameters=hyperparameters,
      output_path=s3_output_location
  )
  
  # Launch a SageMaker Training job by passing the S3 path of the training data
  tabular_estimator.fit(
      {
          "training": training_dataset_s3_path,
          "validation": validation_dataset_s3_path,
      }, logs=True, job_name=training_job_name
  )
  ```

  Weitere Informationen zur Einrichtung CatBoost eines integrierten Algorithmus finden Sie in den folgenden Notebook-Beispielen.
  + [Tabellarische Klassifizierung mit Amazon SageMaker AI LightGBM und Algorithmus CatBoost ](https://github.com/aws/amazon-sagemaker-examples/blob/main/introduction_to_amazon_algorithms/lightgbm_catboost_tabular/Amazon_Tabular_Classification_LightGBM_CatBoost.ipynb)
  + [Tabellarische Regression mit Amazon SageMaker AI LightGBM und Algorithmus CatBoost ](https://github.com/aws/amazon-sagemaker-examples/blob/main/introduction_to_amazon_algorithms/lightgbm_catboost_tabular/Amazon_Tabular_Regression_LightGBM_CatBoost.ipynb)

# Eingabe- und Ausgabeschnittstelle für den Algorithmus CatBoost
<a name="InputOutput-CatBoost"></a>

Gradient Boosting arbeitet mit tabellarischen Daten, wobei die Zeilen die Beobachtungen repräsentieren, eine Spalte die Zielvariable oder die Kennzeichnung darstellt und die verbleibenden Spalten die Funktionen. 

Die SageMaker KI-Implementierung von CatBoost unterstützt CSV für Training und Inferenz:
+ Für **Schulungen ContentType** müssen gültige Eingaben *text/csv* sein.
+ *Für **Inference ContentType** müssen gültige Eingaben Text/CSV sein.*

**Anmerkung**  
Bei der CSV-Training geht der Algorithmus davon aus, dass die Zielvariable in der ersten Spalte zu finden ist und CSV keinen Header-Datensatz aufweist.   
Bei der CSV-Inferenz geht der Algorithmus davon aus, dass die CSV-Eingabe keine Kennzeichnungsspalte hat. 

**Eingabeformat für Trainingsdaten, Validierungsdaten und kategoriale Features**

Achten Sie darauf, wie Sie Ihre Trainingsdaten für die Eingabe in das Modell formatieren. CatBoost Sie müssen den Pfad zu einem Amazon-S3-Bucket angeben, der Ihre Trainings- und Validierungsdaten enthält. Sie können auch eine Liste von kategorialen Funktionen einschließen. Verwenden Sie sowohl `training` als auch den `validation` Kanal, um Ihre Eingabedaten bereitzustellen. Alternativ können Sie aber auch nur den `training` Kanal verwenden.

**Verwenden Sie sowohl den `training` als auch den `validation` Kanal**

Sie können Ihre Eingabedaten über zwei S3-Pfade bereitstellen, einen für den `training` Kanal und einen für den `validation` Kanal. Jeder S3-Pfad kann entweder ein S3-Präfix sein, das auf eine oder mehrere CSV-Dateien verweist, oder ein vollständiger S3-Pfad, der auf eine bestimmte CSV-Datei verweist. Die Zielvariablen sollten sich in der ersten Spalte Ihrer CSV-Datei befinden. Die Prädiktorvariablen (Features) sollten sich in den verbleibenden Spalten befinden. Wenn mehrere CSV-Dateien für die `validation` Kanäle `training` oder bereitgestellt werden, verkettet der CatBoost Algorithmus die Dateien. Die Validierungsdaten werden verwendet, um am Ende jeder Boosting-Iteration eine Validierungspunktzahl zu berechnen. Early-Stopping wird angewendet, wenn sich der Validierungsscore nicht mehr verbessert.

Wenn Ihre Predictors kategorische Features enthalten, können Sie eine JSON-Datei bereitstellen, die `categorical_index.json` an derselben Stelle benannt ist wie Ihre Trainingsdatendatei (en). Wenn Sie eine JSON-Datei für kategorische Features bereitstellen, muss Ihr `training`-Kanal auf ein S3-Präfix verweisen und nicht auf eine spezifische CSV-Datei. Diese Datei sollte ein Python-Wörterbuch enthalten, in dem der Schlüssel die Zeichenfolge `"cat_index_list"` und der Wert eine Liste eindeutiger Ganzzahlen ist. Jede Ganzzahl in der Werteliste sollte den Spaltenindex der entsprechenden kategorischen Features in Ihrer CSV-Datei mit Trainingsdaten angeben. Jeder Wert sollte eine positive Ganzzahl (größer als Null, weil Null den Zielwert darstellt), kleiner als `Int32.MaxValue` (2147483647) und kleiner als die Gesamtzahl der Spalten sein. Es sollte nur eine JSON-Datei mit dem kategorischen Index geben.

**Benutze nur den `training` Kanal**:

Sie können Ihre Eingabedaten alternativ über einen einzigen S3-Pfad für den `training` Kanal bereitstellen. Dieser S3-Pfad sollte auf ein Verzeichnis mit einem Unterverzeichnis mit dem Namen `training/` verweisen, das eine oder mehrere CSV-Dateien enthält. Sie können optional ein weiteres Unterverzeichnis am selben Speicherort namens `validation/` einschließen, das auch eine oder mehrere CSV-Dateien enthält. Wenn die Validierungsdaten nicht angegeben werden, werden 20% Ihrer Trainingsdaten nach dem Zufallsprinzip als Validierungsdaten ausgewählt. Wenn Ihre Predictors kategorische Features enthalten, können Sie eine JSON-Datei bereitstellen, die `categorical_index.json` an derselben Stelle benannt ist wie Ihre Datenunterverzeichnisse.

**Anmerkung**  
Beim CSV-Trainingseingangsmodus muss der für den Algorithmus verfügbare Gesamtarbeitsspeicher (Instance-Zählung verfügbarer Arbeitsspeicher im `InstanceType`) in der Lage sein, den Trainingsdatensatz aufzunehmen.

SageMaker KI CatBoost verwendet die `catboost.CatBoostRegressor` Module `catboost.CatBoostClassifier` und, um das Modell zu serialisieren oder zu deserialisieren, was zum Speichern oder Laden des Modells verwendet werden kann.

**Um ein mit KI trainiertes Modell zu verwenden mit SageMaker CatBoost `catboost`**
+ Verwenden Sie den folgenden Python-Code:

  ```
  import tarfile
  from catboost import CatBoostClassifier
  
  t = tarfile.open('model.tar.gz', 'r:gz')
  t.extractall()
  
  file_path = os.path.join(model_file_path, "model")
  model = CatBoostClassifier()
  model.load_model(file_path)
  
  # prediction with test data
  # dtest should be a pandas DataFrame with column names feature_0, feature_1, ..., feature_d
  pred = model.predict(dtest)
  ```

## Amazon EC2 EC2-Instance-Empfehlung für den Algorithmus CatBoost
<a name="Instance-CatBoost"></a>

SageMaker KI trainiert CatBoost derzeit nur mit CPUs. CatBoost ist ein speichergebundener (im Gegensatz zu rechengebundener) Algorithmus. Daher ist eine Allzweck-Datenverarbeitungs-Instance (z. B. M5) die bessere Wahl gegenüber einer für Datenverarbeitung optimierten Instance (z. B. C5). Des Weiteren empfehlen wir, dass Sie in ausgewählten Instances genügend Gesamtspeicher zur Verfügung haben, um das Trainingsdaten aufzunehmen. 

## CatBoost Beispiel-Notizbücher
<a name="catboost-sample-notebooks"></a>

 In der folgenden Tabelle sind verschiedene Beispielnotizbücher aufgeführt, die sich mit verschiedenen Anwendungsfällen des Amazon SageMaker CatBoost AI-Algorithmus befassen.


****  

| **Titel des Notebooks** | **Beschreibung** | 
| --- | --- | 
|  [Tabellarische Klassifizierung mit Amazon SageMaker AI LightGBM und Algorithmus CatBoost ](https://github.com/aws/amazon-sagemaker-examples/blob/main/introduction_to_amazon_algorithms/lightgbm_catboost_tabular/Amazon_Tabular_Classification_LightGBM_CatBoost.ipynb)  |  Dieses Notizbuch demonstriert die Verwendung des Amazon SageMaker CatBoost AI-Algorithmus zum Trainieren und Hosten eines tabellarischen Klassifikationsmodells.   | 
|  [Tabellarische Regression mit Amazon SageMaker AI LightGBM und Algorithmus CatBoost ](https://github.com/aws/amazon-sagemaker-examples/blob/main/introduction_to_amazon_algorithms/lightgbm_catboost_tabular/Amazon_Tabular_Regression_LightGBM_CatBoost.ipynb)  |  Dieses Notizbuch demonstriert die Verwendung des Amazon SageMaker CatBoost AI-Algorithmus zum Trainieren und Hosten eines tabellarischen Regressionsmodells.   | 

Anweisungen zum Erstellen und Zugreifen auf Jupyter-Notebook-Instances, mit denen Sie das Beispiel in KI ausführen können, finden Sie unter. SageMaker [SageMaker Amazon-Notebook-Instanzen](nbi.md) Nachdem Sie eine Notebook-Instanz erstellt und geöffnet haben, wählen Sie die Registerkarte **SageMaker KI-Beispiele**, um eine Liste aller KI-Beispiele anzuzeigen. SageMaker Zum Öffnen eines Notebooks wählen Sie die Registerkarte **Verwenden** und dann **Kopie erstellen** aus.

# Wie CatBoost funktioniert
<a name="catboost-HowItWorks"></a>

CatBoost implementiert einen konventionellen GBDT-Algorithmus (Gradient Boosting Decision Tree) und fügt zwei wichtige algorithmische Verbesserungen hinzu:

1. Die Implementierung von Ordered Boosting, einer permutationsgesteuerten Alternative zum klassischen Algorithmus

1. Ein innovativer Algorithmus zur Verarbeitung kategorischer Features

Beide Techniken wurden entwickelt, um einer Verschiebung der Voraussage entgegenzuwirken, die durch eine besondere Art von Zielleckage verursacht wird, die in allen derzeit vorhandenen Implementierungen von Gradienten-Boosting-Algorithmen auftritt.

Der CatBoost Algorithmus schneidet bei Wettbewerben im Bereich maschinelles Lernen aufgrund seiner robusten Verarbeitung einer Vielzahl von Datentypen, Beziehungen und Verteilungen sowie der Vielzahl von Hyperparametern, die Sie feinabstimmen können, gut ab. Sie können ihn CatBoost für Regressions-, Klassifizierungs- (binär- und Mehrklassenprobleme) und Ranking-Probleme verwenden.

Weitere Informationen zur Gradientenverstärkung finden Sie unter [Wie funktioniert der SageMaker XGBoost KI-Algorithmus](xgboost-HowItWorks.md). Ausführliche Informationen zu den zusätzlichen in der CatBoost Methode verwendeten GOSS- und EFB-Techniken finden Sie unter *[CatBoost: Unvoreingenommenes](https://arxiv.org/pdf/1706.09516.pdf)* Boosting mit kategorialen Merkmalen.

# CatBoost Hyperparameter
<a name="catboost-hyperparameters"></a>

Die folgende Tabelle enthält die Teilmenge der Hyperparameter, die für den Amazon SageMaker CatBoost AI-Algorithmus erforderlich sind oder am häufigsten verwendet werden. Dies sind Parameter, die von Benutzern festgelegt werden, um die Schätzung der Modellparameter aus Daten zu erleichtern. Der SageMaker CatBoost KI-Algorithmus ist eine Implementierung des [CatBoost](https://github.com/catboost/catboost)Open-Source-Pakets.

**Anmerkung**  
Die Standard-Hyperparameter basieren auf Beispieldatensätzen in der [CatBoost Beispiel-Notizbücher](catboost.md#catboost-sample-notebooks).

Standardmäßig wählt der SageMaker CatBoost KI-Algorithmus automatisch eine Bewertungsmetrik und eine Verlustfunktion aus, die auf der Art des Klassifizierungsproblems basieren. Der CatBoost Algorithmus erkennt die Art des Klassifizierungsproblems anhand der Anzahl der Labels in Ihren Daten. Bei Regressionsproblemen entsprechen die Bewertungsmetrik und die Verlustfunktionen beide dem quadratischen Mittelwert des Fehlers. Bei binären Klassifikationsproblemen lautet die Bewertungsmetrik Area Under the Curve (AUC) und die Verlustfunktion ist logarithmischer Verlust. Bei Mehrklassen-Klassifizierungsproblemen mit mehreren Klassen entsprechen die Bewertungsmetrik und die Verlustfunktionen der Kreuzentropie mehrerer Klassen. Sie können den `eval_metric` Hyperparameter verwenden, um die Standard-Bewertungsmetrik zu ändern. In der folgenden Tabelle finden Sie weitere Informationen zu LightGBM-Hyperparametern, einschließlich Beschreibungen, gültiger Werte und Standardwerte.


| Name des Parameters | Description | 
| --- | --- | 
| iterations |  Die maximale Anzahl von Bäumen, die gebaut werden können. Gültige Werte: Ganzzahl, Bereich: Positive Ganzzahl. Standardwert: `500`.  | 
| early\$1stopping\$1rounds |  Das Training wird beendet, wenn sich eine Metrik eines Validierungsdatenpunkts in der letzten `early_stopping_rounds` Runde nicht verbessert hat. Wenn `early_stopping_rounds` kleiner als oder gleich Null ist, wird dieser Hyperparameter ignoriert. Gültige Werte: Ganzzahl. Standardwert: `5`.  | 
| eval\$1metric |  Evaluationsmetriken für die Datenvalidierung. Wenn `eval_metric` auf den Standardwert `"auto"` gesetzt ist, wählt der Algorithmus automatisch eine Bewertungsmetrik aus, die auf der Art des Klassifizierungsproblems basiert: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/catboost-hyperparameters.html) Gültige Werte: Zeichenfolge. Gültige Werte finden Sie in der [CatBoost Dokumentation](https://catboost.ai/en/docs/references/eval-metric__supported-metrics). Standardwert: `"auto"`.  | 
| learning\$1rate |  Die Geschwindigkeit, mit der die Modellgewichte aktualisiert werden, nachdem die einzelnen Trainingssbeispiele durchgearbeitet wurden. Gültige Werte: Float, Bereich: (`0.0`, `1.0`). Standardwert: `0.009`.  | 
| depth |  Tiefe des Baumes. Gültige Werte: Ganzzahl, Bereich: (`1`, `16`). Standardwert: `6`.  | 
| l2\$1leaf\$1reg |  Koeffizient für den L2-Regularisierungsterm der Kostenfunktion. Gültige Werte: Ganzzahl, Bereich: Positive Ganzzahl. Standardwert: `3`.  | 
| random\$1strength |  Das Maß an Zufälligkeit, das für die Bewertung von Splits verwendet werden soll, wenn die Baumstruktur ausgewählt ist. Verwenden Sie diesen Parameter, um eine Überanpassung des Modells zu vermeiden. Gültige Werte: Float, Bereich: Positive Gleitkommazahl. Standardwert: `1.0`.  | 
| max\$1leaves |  Die maximale Anzahl von Blättern im resultierenden Baum. Kann nur zusammen mit der `"Lossguide"` Wachstumspolitik verwendet werden. Gültige Werte: Ganzzahl, Bereich: [`2`, `64`]. Standardwert: `31`.  | 
| rsm |  Zufällige Subraummethode. Der Prozentsatz der Features, die bei jeder geteilten Auswahl verwendet werden sollen, wenn Features erneut nach dem Zufallsprinzip ausgewählt werden. Gültige Werte: Float, Bereich: (`0.0`, `1.0`]. Standardwert: `1.0`.  | 
| sampling\$1frequency |  Häufigkeit der Stichprobenerhebung von Gewichten und Objekten beim Bauen von Bäumen. Gültige Werte: String, entweder: (`"PerTreeLevel"` oder `"PerTree"`). Standardwert: `"PerTreeLevel"`.  | 
| min\$1data\$1in\$1leaf |  Die Mindestanzahl von Trainingsproben in einem Blatt. CatBoost sucht nicht nach neuen Splits in Blättern mit einer Stichprobenzahl, die unter dem angegebenen Wert liegt. Kann nur zusammen mit den `"Lossguide"` und `"Depthwise"` wachsenden Richtlinien verwendet werden. Gültige Werte: Ganzzahl, Bereich: (`1` oder `∞`). Standardwert: `1`.  | 
| bagging\$1temperature |  Definiert die Einstellungen des Bayes-Bootstrapping. Verwenden Sie den Bayes-Bootstrap, um Objekten zufällige Gewichtungen zuzuweisen. Wenn `bagging_temperature` auf `1.0` festgelegt ist, werden die Gewichtungen anhand einer Exponentialverteilung ausgewählt. Wenn `bagging_temperature` auf `0.0` festgelegt ist, dann haben alle Gewichtungen den Wert 1,0. Gültige Werte: Float, Bereich: Nicht-negativer Float. Standardwert: `1.0`.  | 
| boosting\$1type |  Das Boosting-Programm. „Automatisch“ bedeutet, dass `boosting_type` auf der Grundlage des Typs der Verarbeitungseinheit, der Anzahl der Objekte im Trainingsdatensatz und des ausgewählten Learn-Modus ausgewählt wird. Gültige Werte: String, einer der folgenden Werte: (`"Auto"`, `"Ordered"`, `"Plain"`). Standardwert: `"Auto"`.  | 
| scale\$1pos\$1weight |  Die Gewichtung der positiven Klasse in der binären Klassifikation. Der Wert wird als Multiplikator für die Gewichte von Objekten der positiven Klasse verwendet. Gültige Werte: Float, Bereich: Positiver Float. Standardwert: `1.0`.  | 
| max\$1bin |  Die Anzahl von Aufteilungen für numerische Features. `"Auto"` bedeutet, dass `max_bin` auf der Grundlage des Typs der Verarbeitungseinheit und anderer Parameter ausgewählt wird. Einzelheiten finden Sie in der CatBoost Dokumentation. Gültige Werte: String, entweder: (`"Auto"` oder String einer Ganzzahl von `"1"` bis `"65535"` einschließlich). Standardwert: `"Auto"`.  | 
| grow\$1policy |  Die Politik des Baumwachstums. Definiert, wie man gierige Bäume baut. Gültige Werte: String, einer der folgenden Werte: (`"SymmetricTree"`, `"Depthwise"`, oder `"Lossguide"`). Standardwert: `"SymmetricTree"`.  | 
| random\$1seed |  Der zufällige Startwert, der für das Training benutzt wird. Gültige Werte: Ganzzahl, Bereich: Nicht-negative Ganzzahl. Standardwert: `1.0`. | 
| thread\$1count |  Die Anzahl von Threads, die während des Trainings verwendet werden sollen. Wenn `thread_count` gleich `-1` ist, entspricht die Anzahl der Threads der Anzahl der Prozessorkerne. `thread_count` kann nicht `0` sein. Gültige Werte: Ganzzahl, entweder: (`-1` oder positive Ganzzahl). Standardwert: `-1`.  | 
| verbose |  Die Ausführlichkeit von Drucknachrichten, wobei höhere Stufen detaillierteren Druckanweisungen entsprechen. Gültige Werte: Ganzzahl, Bereich: Positive Ganzzahl. Standardwert: `1`.  | 

# Tunen Sie ein CatBoost Modell
<a name="catboost-tuning"></a>

Die *automatische Modelloptimierung*, auch bekannt als Hyperparameteroptimierung, sucht die beste Version eines Modells, indem viele Aufträge ausgeführt werden, die einen Bereich von Hyperparametern in Ihrem Datensatz testen. Die Modelloptimierung konzentriert sich auf die folgenden Hyperparameter:

**Anmerkung**  
Die Lernverlust-Funktion wird automatisch auf der Grundlage der Art der Klassifikationsaufgabe zugewiesen, die durch die Anzahl der eindeutigen Ganzzahlen in der Beschriftungsspalte bestimmt wird. Weitere Informationen finden Sie unter [CatBoost Hyperparameter](catboost-hyperparameters.md).
+ Eine Lernverlust-Funktion zur Optimierung beim Modelltraining
+ Eine Bewertungsmetrik, die verwendet wird, um die Modellleistung während der Validierung zu bewerten
+ Ein Satz von Hyperparametern und ein Wertebereich für jeden, der bei der automatischen Abstimmung des Modells verwendet werden kann

Die automatische Modelloptimierung durchsucht die ausgewählten Hyperparameter nach der Kombination von Werten, die das Modell ergeben, das die objektive Metrik optimiert.

**Anmerkung**  
Die automatische Modelloptimierung für CatBoost ist nur bei Amazon verfügbar SageMaker SDKs, nicht über die SageMaker KI-Konsole.

Mehr Informationen über die Modelloptimierung finden Sie unter [Automatische Modelloptimierung mit KI SageMaker](automatic-model-tuning.md).

## Vom Algorithmus berechnete Bewertungsmetriken CatBoost
<a name="catboost-metrics"></a>

Der SageMaker CatBoost KI-Algorithmus berechnet die folgenden Metriken, die für die Modellvalidierung verwendet werden sollen. Die Bewertungsmetrik wird automatisch auf der Grundlage der Art der Klassifizierungsaufgabe zugewiesen, die durch die Anzahl der eindeutigen Ganzzahlen in der Beschriftungspalte bestimmt wird.


| Metrikname | Description | Optimierungsrichtung | Regex-Muster | 
| --- | --- | --- | --- | 
| RMSE | Wurzel des mittleren quadratischen Fehlers | Minimieren | "bestTest = ([0-9\$1\$1.]\$1)" | 
| MAE | Mittlerer absoluter Fehler. | Minimieren | "bestTest = ([0-9\$1\$1.]\$1)" | 
| MedianAbsoluteError | Mittlerer absoluter Fehler. | Minimieren | "bestTest = ([0-9\$1\$1.]\$1)" | 
| R2 | R2-Wert | Maximieren | "bestTest = ([0-9\$1\$1.]\$1)" | 
| Logloss | Binärkreuzentropie | Maximieren | "bestTest = ([0-9\$1\$1.]\$1)" | 
| Precision | precision | Maximieren | "bestTest = ([0-9\$1\$1.]\$1)" | 
| Recall | Rückruf | Maximieren | "bestTest = ([0-9\$1\$1.]\$1)" | 
| F1 | F1-Ergebnis | Maximieren | "bestTest = ([0-9\$1\$1.]\$1)" | 
| AUC | AUC-Wert | Maximieren | "bestTest = ([0-9\$1\$1.]\$1)" | 
| MultiClass | Kreuzentropie mit mehreren Klassen | Maximieren | "bestTest = ([0-9\$1\$1.]\$1)" | 
| Accuracy | Richtigkeit | Maximieren | "bestTest = ([0-9\$1\$1.]\$1)" | 
| BalancedAccuracy | ausgewogene Genauigkeit | Maximieren | "bestTest = ([0-9\$1\$1.]\$1)" | 

## Einstellbare Hyperparameter CatBoost
<a name="catboost-tunable-hyperparameters"></a>

Optimieren Sie das CatBoost Modell mit den folgenden Hyperparametern. Die Hyperparameter, die den größten Einfluss auf die Optimierung der CatBoost Bewertungsmetriken haben, sind:`learning_rate`, `depth``l2_leaf_reg`, und. `random_strength` Eine Liste aller CatBoost Hyperparameter finden Sie unter. [CatBoost Hyperparameter](catboost-hyperparameters.md)


| Name des Parameters | Parametertyp | Empfohlene Bereiche | 
| --- | --- | --- | 
| learning\$1rate | ContinuousParameterRanges | MinValue: 0,001, MaxValue: 0,01 | 
| depth | IntegerParameterRanges | MinValue: 4, MaxValue: 10 | 
| l2\$1leaf\$1reg | IntegerParameterRanges | MinValue: 2, MaxValue: 10 | 
| random\$1strength | ContinuousParameterRanges | MinValue: 0, MaxValue: 10 | 