

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

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

[CatBoost](https://catboost.ai/)è un'implementazione open source popolare e ad alte prestazioni dell'algoritmo Gradient Boosting Decision Tree (GBDT). Il GBDT è un'algoritmo di apprendimento supervisionato che tenta di prevedere con precisione una variabile di destinazione combinando un insieme di stime da un set di modelli più semplici e deboli.

CatBoost introduce due progressi algoritmici fondamentali per GBDT:

1. L'implementazione del boosting ordinato, un'alternativa basata sulla permutazione all'algoritmo classico

1. Un algoritmo innovativo per l'elaborazione di funzionalità categoriali

Entrambe le tecniche sono state create per contrastare un cambiamento di previsione causato da uno speciale tipo di perdita di dati di destinazione presente in tutte le implementazioni attualmente esistenti degli algoritmi di gradient boosting. Questa pagina include informazioni sui consigli sulle istanze di Amazon EC2 e sui notebook di esempio per. CatBoost

# Come usare l'IA SageMaker CatBoost
<a name="catboost-modes"></a>

Puoi utilizzarlo CatBoost come algoritmo integrato di Amazon SageMaker AI. La sezione seguente descrive come utilizzare CatBoost con SageMaker Python SDK. Per informazioni su come utilizzare CatBoost dall'interfaccia utente di Amazon SageMaker Studio Classic, consulta[SageMaker JumpStart modelli preaddestrati](studio-jumpstart.md).
+ **Utilizza CatBoost come algoritmo integrato**

  Utilizzate l'algoritmo CatBoost integrato per creare un contenitore di CatBoost addestramento, come mostrato nel seguente esempio di codice. Puoi individuare automaticamente l'URI dell'immagine dell'algoritmo CatBoost integrato utilizzando l'`image_uris.retrieve`API SageMaker AI (o l'`get_image_uri`API se utilizzi [Amazon SageMaker Python SDK](https://sagemaker.readthedocs.io/en/stable) versione 2). 

  Dopo aver specificato l'URI CatBoost dell'immagine, puoi utilizzare il CatBoost contenitore per creare uno stimatore utilizzando l'API SageMaker AI Estimator e avviare un processo di formazione. L'algoritmo CatBoost integrato viene eseguito in modalità script, ma lo script di addestramento viene fornito automaticamente e non è necessario sostituirlo. Se hai una vasta esperienza nell'uso della modalità script per creare un lavoro di SageMaker formazione, puoi incorporare i tuoi script di CatBoost formazione.

  ```
  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
  )
  ```

  Per ulteriori informazioni su come configurarlo CatBoost come algoritmo integrato, consultate i seguenti esempi di notebook.
  + [Classificazione tabulare con Amazon SageMaker AI LightGBM e algoritmo CatBoost ](https://github.com/aws/amazon-sagemaker-examples/blob/main/introduction_to_amazon_algorithms/lightgbm_catboost_tabular/Amazon_Tabular_Classification_LightGBM_CatBoost.ipynb)
  + [Regressione tabulare con Amazon SageMaker AI LightGBM e algoritmo CatBoost ](https://github.com/aws/amazon-sagemaker-examples/blob/main/introduction_to_amazon_algorithms/lightgbm_catboost_tabular/Amazon_Tabular_Regression_LightGBM_CatBoost.ipynb)

# Interfaccia di input e output per l'algoritmo CatBoost
<a name="InputOutput-CatBoost"></a>

Il gradient boosting agisce sui dati tabulari, con le righe che rappresentano le osservazioni, una colonna che rappresenta la variabile o l'etichetta di destinazione e le colonne rimanenti che rappresentano le caratteristiche. 

L'implementazione dell' SageMaker IA CatBoost supporta il formato CSV per l'addestramento e l'inferenza:
+ *Per **Training ContentType**, gli input validi devono essere text/csv.*
+ *Per **Inference ContentType**, gli input validi devono essere text/csv.*

**Nota**  
Per l’addestramento CSV, l'algoritmo presume che la variabile di destinazione si trovi nella prima colonna e che CSV non disponga di un record di intestazione.   
Per l'inferenza CSV, l'algoritmo presuppone che l'input CSV non disponga della colonna di etichette. 

**Formato di input per dati di addestramento, dati di convalida e caratteristiche categoriali**

Prestate attenzione a come formattare i dati di allenamento per l'immissione nel modello. CatBoost Devi fornire il percorso di un bucket Amazon S3 contenente i dati di addestramento e convalida. Puoi includere anche un elenco di funzionalità categoriali. Utilizza entrambi i canali `training` e `validation` per fornire i dati di input. In alternativa, puoi utilizzare solo il canale `training`.

**Usa entrambi i canali `training` e `validation`**

È possibile fornire i dati di input tramite due percorsi S3, uno per il canale `training` e uno per il canale `validation`. Ogni percorso S3 può essere un prefisso S3 che punta a uno o più file CSV o un percorso S3 completo che punta a un file CSV specifico. Le variabili di destinazione devono trovarsi nella prima colonna del file CSV. Le variabili predittive (funzionalità) dovrebbero trovarsi nelle colonne rimanenti. Se vengono forniti più file CSV per i `validation` canali `training` or, l' CatBoost algoritmo concatena i file. I dati di convalida vengono utilizzati per calcolare un punteggio di convalida alla fine di ogni iterazione di potenziamento. L'arresto anticipato viene applicato quando il punteggio di convalida smette di migliorare.

Se i tuoi predittori includono funzionalità categoriche, puoi fornire un file JSON denominato `categorical_index.json` nella stessa posizione del file o dei file di dati di addestramento. Se fornisci un file JSON per le funzionalità categoriali, il tuo canale `training` deve puntare a un prefisso S3 e non a un file CSV specifico. Questo file dovrebbe contenere un dizionario Python in cui la chiave è la stringa `"cat_index_list"` e il valore è un elenco di numeri interi univoci. Ogni numero intero nella lista dei valori deve indicare l'indice delle colonne delle funzionalità categoriali corrispondenti nel file CSV dei dati di addestramento. Ogni valore deve essere un numero intero positivo (maggiore di zero perché zero rappresenta il valore di destinazione), minore di `Int32.MaxValue` (2147483647) e minore del numero totale di colonne. Dovrebbe esserci un solo file JSON di indice categorico.

**Usa solo il canale `training`**:

In alternativa, puoi fornire i dati di input tramite un singolo percorso S3 per il canale `training`. Questo percorso S3 deve puntare a una directory con una sottodirectory denominata `training/` che contiene uno o più file CSV. Facoltativamente, puoi includere un'altra sottodirectory nella stessa posizione denominata `validation/` che contiene anche uno o più file CSV. Se i dati di convalida non vengono forniti, il 20% dei dati di addestramento viene campionato casualmente per fungere da dati di convalida. Se i tuoi predittori includono funzionalità categoriali, puoi fornire un file JSON denominato `categorical_index.json` nella stessa posizione delle sottodirectory dei dati.

**Nota**  
Per la modalità di input dell’addestramento CSV, la memoria totale disponibile per l'algoritmo (calcolo dell'istanza moltiplicata per la memoria disponibile nel `InstanceType`) deve essere in grado di gestire il set di dati di addestramento.

SageMaker L'intelligenza artificiale CatBoost utilizza i `catboost.CatBoostRegressor` moduli `catboost.CatBoostClassifier` and per serializzare o deserializzare il modello, che può essere utilizzato per salvare o caricare il modello.

**Utilizzare un modello addestrato con l'intelligenza artificiale con SageMaker CatBoost `catboost`**
+ Utilizza il seguente codice Python:

  ```
  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)
  ```

## Raccomandazione dell'istanza Amazon EC2 per l'algoritmo CatBoost
<a name="Instance-CatBoost"></a>

SageMaker L'intelligenza artificiale CatBoost attualmente si allena solo utilizzando CPUs. CatBoost è un algoritmo legato alla memoria (anziché legato al calcolo). Pertanto, un'istanza di calcolo a scopo generico (ad esempio, M5) rappresenta una scelta migliore rispetto a un'istanza ottimizzata per il calcolo (ad esempio, C5). Inoltre, consigliamo di disporre di memoria sufficiente nelle istanze selezionate per conservare i dati di addestramento. 

## CatBoost quaderni di esempio
<a name="catboost-sample-notebooks"></a>

 La tabella seguente illustra una serie di notebook di esempio che affrontano diversi casi d'uso dell'algoritmo Amazon AI. SageMaker CatBoost 


****  

| **Titolo del notebook** | **Descrizione** | 
| --- | --- | 
|  [Classificazione tabulare con Amazon SageMaker AI LightGBM e algoritmo CatBoost ](https://github.com/aws/amazon-sagemaker-examples/blob/main/introduction_to_amazon_algorithms/lightgbm_catboost_tabular/Amazon_Tabular_Classification_LightGBM_CatBoost.ipynb)  |  Questo notebook dimostra l'uso dell' CatBoostalgoritmo Amazon SageMaker AI per addestrare e ospitare un modello di classificazione tabulare.   | 
|  [Regressione tabulare con Amazon SageMaker AI LightGBM e algoritmo CatBoost ](https://github.com/aws/amazon-sagemaker-examples/blob/main/introduction_to_amazon_algorithms/lightgbm_catboost_tabular/Amazon_Tabular_Regression_LightGBM_CatBoost.ipynb)  |  Questo notebook dimostra l'uso dell' CatBoostalgoritmo Amazon SageMaker AI per addestrare e ospitare un modello di regressione tabulare.   | 

Per istruzioni su come creare e accedere alle istanze di notebook Jupyter da utilizzare per eseguire l'esempio in AI, consulta. SageMaker [Istanze SageMaker per notebook Amazon](nbi.md) Dopo aver creato un'istanza di notebook e averla aperta, scegli la scheda **Esempi SageMaker AI** per visualizzare un elenco di tutti gli esempi di IA. SageMaker Per aprire un notebook, seleziona la relativa scheda **Utilizza** e scegli **Crea copia**.

# Come CatBoost funziona
<a name="catboost-HowItWorks"></a>

CatBoost implementa un algoritmo Gradient Boosting Decision Tree (GBDT) convenzionale con l'aggiunta di due progressi algoritmici critici:

1. L'implementazione del boosting ordinato, un'alternativa basata sulla permutazione all'algoritmo classico

1. Un algoritmo innovativo per l'elaborazione di funzionalità categoriali

Entrambe le tecniche sono state create per contrastare un cambiamento di previsione causato da uno speciale tipo di perdita di dati di destinazione presente in tutte le implementazioni attualmente esistenti degli algoritmi di gradient boosting.

L' CatBoost algoritmo si comporta bene nelle competizioni di machine learning grazie alla sua solida gestione di una varietà di tipi di dati, relazioni, distribuzioni e alla varietà di iperparametri che è possibile ottimizzare. È possibile utilizzarlo CatBoost per problemi di regressione, classificazione (binaria e multiclasse) e classificazione.

Per ulteriori informazioni sul gradient boosting, consulta [Come funziona l' XGBoost algoritmo SageMaker AI](xgboost-HowItWorks.md). *[Per dettagli approfonditi sulle tecniche GOSS ed EFB aggiuntive utilizzate nel CatBoost metodo, vedereCatBoost: miglioramento imparziale con caratteristiche categoriche.](https://arxiv.org/pdf/1706.09516.pdf)*

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

La tabella seguente contiene il sottoinsieme di iperparametri richiesti o più comunemente utilizzati per l'algoritmo Amazon SageMaker AI CatBoost . Gli utenti impostano questi parametri per agevolare la stima dei parametri del modello dai dati. L' CatBoost algoritmo SageMaker AI è un'implementazione del pacchetto open source [CatBoost](https://github.com/catboost/catboost).

**Nota**  
Gli iperparametri predefiniti si basano su set di dati di esempio in [CatBoost quaderni di esempio](catboost.md#catboost-sample-notebooks).

Per impostazione predefinita, l' CatBoost algoritmo SageMaker AI sceglie automaticamente una metrica di valutazione e una funzione di perdita in base al tipo di problema di classificazione. L' CatBoost algoritmo rileva il tipo di problema di classificazione in base al numero di etichette nei dati. Per i problemi di regressione, il parametro di valutazione e le funzioni di perdita sono entrambi un errore quadratico medio. Per problemi di classificazione binaria, il parametro di valutazione è AUC (Area Under the Curve) e la funzione di perdita è la perdita di log. Per i problemi di classificazione multiclasse, il parametro di valutazione e le funzioni di perdita sono un'entropia incrociata multiclasse. È possibile utilizzare l'iperparametro `eval_metric` per modificare il parametro di valutazione predefinito. Fai riferimento alla tabella seguente per ulteriori informazioni sugli iperparametri LightGBM, incluse descrizioni, valori validi e valori predefiniti.


| Nome parametro | Description | 
| --- | --- | 
| iterations |  Il numero massimo di alberi che possono essere costruiti. Valori validi: numero intero, intervallo: numero intero positivo. Valore predefinito: `500`.  | 
| early\$1stopping\$1rounds |  L'addestramento si interromperà se un parametro di un dato di convalida non migliora nell'ultimo round `early_stopping_rounds`. Se `early_stopping_rounds` è minore o uguale a zero, questo iperparametro viene ignorato. Valori validi: numero intero. Valore predefinito: `5`.  | 
| eval\$1metric |  Parametro di valutazione per i dati di convalida. Se `eval_metric` è impostato sul valore predefinito `"auto"`, l'algoritmo sceglie automaticamente un parametro di valutazione in base al tipo di problema di classificazione: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/sagemaker/latest/dg/catboost-hyperparameters.html) Valori validi: stringa, consulta la [CatBoost documentazione](https://catboost.ai/en/docs/references/eval-metric__supported-metrics) per i valori validi. Valore predefinito: `"auto"`.  | 
| learning\$1rate |  La velocità con cui i pesi del modello vengono aggiornati dopo aver esaminato ogni batch di esempi di addestramento. Valori validi: float, intervallo: (`0.0`, `1.0`). Valore predefinito: `0.009`.  | 
| depth |  Profondità dell'albero. Valori validi: intero, intervallo: (`1`,`16`). Valore predefinito: `6`.  | 
| l2\$1leaf\$1reg |  Coefficiente per il termine di regolarizzazione L2 della funzione di costo. Valori validi: numero intero, intervallo: numero intero positivo. Valore predefinito: `3`.  | 
| random\$1strength |  La quantità di randomizzazione da utilizzare per le suddivisioni del punteggio quando viene selezionata la struttura ad albero. Utilizza questo parametro per l’overfitting del modello. Valori validi: float, intervallo: numero a virgola mobile positivo. Valore predefinito: `1.0`.  | 
| max\$1leaves |  Il numero massimo di foglie nell’albero risultante. Può essere utilizzato solo con la policy di crescita `"Lossguide"`. Valori validi: intero, intervallo: [`2`, `64`]. Valore predefinito: `31`.  | 
| rsm |  Metodo subspaziale casuale. La percentuale di funzionalità da utilizzare in ogni selezione suddivisa, quando le funzionalità vengono nuovamente selezionate casualmente. Valori validi: float, intervallo: (`0.0`, `1.0`). Valore predefinito: `1.0`.  | 
| sampling\$1frequency |  Frequenza di campionamento di pesi e oggetti durante la costruzione di alberi. Valori validi: stringa: (`"PerTreeLevel"` o `"PerTree"`). Valore predefinito: `"PerTreeLevel"`.  | 
| min\$1data\$1in\$1leaf |  Il numero minimo di campioni di addestramento in una foglia. CatBoost non cerca nuove spaccature nelle foglie con un numero di campioni inferiore al valore specificato. Può essere utilizzato solo con le policy di crescita `"Lossguide"` e `"Depthwise"`. Valori validi: intero, intervallo: (`1` o `∞`). Valore predefinito: `1`.  | 
| bagging\$1temperature |  Definisce le impostazioni del bootstrap bayesiano. Utilizza il bootstrap bayesiano per assegnare pesi casuali agli oggetti. Se `bagging_temperature` è impostato su `1.0`, i pesi vengono campionati da una distribuzione esponenziale. Se `bagging_temperature` è impostato su `0.0`, tutti i pesi sono 1,0. Valori validi: float, intervallo: float non negativi. Valore predefinito: `1.0`.  | 
| boosting\$1type |  Lo schema di boosting. “Auto” significa che `boosting_type` viene selezionato in base al tipo di unità di elaborazione, al numero di oggetti nel set di dati di addestramento e alla modalità di apprendimento selezionata. Valori validi: stringa, uno dei seguenti valori: (`"Auto"`, `"Ordered"`, `"Plain"`). Valore predefinito: `"Auto"`.  | 
| scale\$1pos\$1weight |  Il peso della classe positiva nella classificazione binaria. Il valore viene utilizzato come moltiplicatore per i pesi degli oggetti della classe positiva. Valori validi: float, intervallo: float positivi. Valore predefinito: `1.0`.  | 
| max\$1bin |  Il numero di suddivisioni per le funzionalità numeriche. `"Auto"` significa che `max_bin` viene selezionato in base al tipo di unità di elaborazione e ad altri parametri. Per i dettagli, consulta la CatBoost documentazione. Valori validi: stringa: (`"Auto"` o stringa di numeri interi da `"1"` a `"65535"` compresi). Valore predefinito: `"Auto"`.  | 
| grow\$1policy |  La policy di crescita degli alberi. Definisce come eseguire costruzioni di alberi greedy. Valori validi: stringa, uno dei seguenti valori: (`"SymmetricTree"`, `"Depthwise"` o `"Lossguide"`). Valore predefinito: `"SymmetricTree"`.  | 
| random\$1seed |  Il seed casuale usato per l’addestramento. Valori validi: numeri interi, intervallo: numeri interi non negativi. Valore predefinito: `1.0`. | 
| thread\$1count |  Il numero di thread da utilizzare durante l'addestramento. Se `thread_count` è `-1`, il numero di thread è uguale al numero di core del processore. `thread_count` non può essere `0`. Valori validi: un numero intero: (`-1` o un numero intero positivo). Valore predefinito: `-1`.  | 
| verbose |  La verbosità dei messaggi di stampa, con livelli più alti corrispondenti a dichiarazioni di stampa più dettagliate. Valori validi: numero intero, intervallo: numero intero positivo. Valore predefinito: `1`.  | 

# Ottimizza un CatBoost modello
<a name="catboost-tuning"></a>

L'*ottimizzazione automatica dei modelli*, nota anche come ottimizzazione degli iperparametri, trova la versione migliore di un modello eseguendo molti processi che testano un intervallo di iperparametri sul set di dati di addestramento e di convalida. L'ottimizzazione del modello si concentra sui seguenti iperparametri:

**Nota**  
La funzione di perdita di apprendimento viene assegnata automaticamente in base al tipo di attività di classificazione, che è determinata dal numero di numeri interi univoci nella colonna dell'etichetta. Per ulteriori informazioni, consulta [CatBoost iperparametri](catboost-hyperparameters.md).
+ Una funzione di perdita di apprendimento da ottimizzare durante l’addestramento dei modelli
+ Un parametro di valutazione utilizzato per valutare le prestazioni del modello durante la convalida
+ Un insieme di iperparametri e un intervallo di valori per ciascuno da utilizzare quando si ottimizza automaticamente il modello

L'ottimizzazione automatica del modello ricerca gli iperparametri scelti per trovare la combinazione di valori che restituisce il modello che ottimizza il parametro di valutazione scelto.

**Nota**  
L'ottimizzazione automatica dei modelli CatBoost è disponibile solo su Amazon SageMaker SDKs, non sulla console SageMaker AI.

Per ulteriori informazioni sull'ottimizzazione del modello, consulta [Ottimizzazione automatica dei modelli con AI SageMaker](automatic-model-tuning.md).

## Metriche di valutazione calcolate dall'algoritmo CatBoost
<a name="catboost-metrics"></a>

L' CatBoost algoritmo SageMaker AI calcola le seguenti metriche da utilizzare per la convalida del modello. Il parametro di valutazione viene assegnato automaticamente in base al tipo di attività di classificazione, che è determinata dal numero di numeri interi univoci nella colonna dell'etichetta.


| Nome parametro | Description | Direzione dell'ottimizzazione | Modello regex | 
| --- | --- | --- | --- | 
| RMSE | radice dell'errore quadratico medio | minimizza | "bestTest = ([0-9\$1\$1.]\$1)" | 
| MAE | media degli errori assoluti | minimizza | "bestTest = ([0-9\$1\$1.]\$1)" | 
| MedianAbsoluteError | media degli errori assoluti | minimizza | "bestTest = ([0-9\$1\$1.]\$1)" | 
| R2 | punteggio r2 | massimizza | "bestTest = ([0-9\$1\$1.]\$1)" | 
| Logloss | entropia binaria incrociata | massimizza | "bestTest = ([0-9\$1\$1.]\$1)" | 
| Precision | precision | massimizza | "bestTest = ([0-9\$1\$1.]\$1)" | 
| Recall | recupero | massimizza | "bestTest = ([0-9\$1\$1.]\$1)" | 
| F1 | punteggio f1 | massimizza | "bestTest = ([0-9\$1\$1.]\$1)" | 
| AUC | punteggio auc | massimizza | "bestTest = ([0-9\$1\$1.]\$1)" | 
| MultiClass | entropia incrociata multiclasse | massimizza | "bestTest = ([0-9\$1\$1.]\$1)" | 
| Accuracy | accuratezza | massimizza | "bestTest = ([0-9\$1\$1.]\$1)" | 
| BalancedAccuracy | precisione bilanciata | massimizza | "bestTest = ([0-9\$1\$1.]\$1)" | 

## CatBoost Iperparametri regolabili
<a name="catboost-tunable-hyperparameters"></a>

Ottimizza il CatBoost modello con i seguenti iperparametri. Gli iperparametri che hanno il maggiore effetto sull'ottimizzazione delle metriche di CatBoost valutazione sono:`learning_rate`,, `depth` e. `l2_leaf_reg` `random_strength` Per un elenco di tutti gli CatBoost iperparametri, vedete. [CatBoost iperparametri](catboost-hyperparameters.md)


| Nome parametro | Tipo parametro | Intervalli consigliati | 
| --- | --- | --- | 
| 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 | 