

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à.

# Interfaccia di input e output per l'algoritmo -Tabular AutoGluon
<a name="InputOutput-AutoGluon-Tabular"></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 SageMaker AI di AutoGluon -Tabular 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**

Fai attenzione a come formattare i dati di allenamento per l'immissione nel modello -Tabular. AutoGluon 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 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. 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 tuo 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 rimandare a una directory con una sottodirectory denominata `training/` che contiene un file CSV. Facoltativamente, puoi includere nella stessa posizione un’altra sottodirectory denominata `validation/`, anch’essa contenente un 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 AI AutoGluon -Tabular utilizza il `autogluon.tabular.TabularPredictor` modulo per serializzare o deserializzare il modello, che può essere utilizzato per salvare o caricare il modello.

**Per utilizzare un modello addestrato con AI -Tabular con il framework SageMaker AutoGluon AutoGluon**
+ Utilizza il seguente codice Python:

  ```
  import tarfile
  from autogluon.tabular import TabularPredictor
  
  t = tarfile.open('model.tar.gz', 'r:gz')
  t.extractall()
  
  model = TabularPredictor.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)
  ```