

Non aggiorniamo più il servizio Amazon Machine Learning né accettiamo nuovi utenti. Questa documentazione è disponibile per gli utenti esistenti, ma non la aggiorniamo più. Per ulteriori informazioni, consulta [Cos'è Amazon Machine Learning](https://docs.aws.amazon.com/machine-learning/latest/dg/what-is-amazon-machine-learning.html).

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

# Riferimenti relativi al formato delle composizioni
<a name="recipe-format-reference"></a>

Le ricette di Amazon ML contengono istruzioni per trasformare i dati come parte del processo di apprendimento automatico. Le composizioni vengono definite utilizzando una sintassi simile a JSON, ma hanno restrizioni aggiuntive rispetto a quelle normalmente presenti in JSON. Le composizioni hanno le seguenti sezioni, che devono essere visualizzate nell'ordine mostrato qui:
+  **Groups (Gruppi)** abilita il raggruppamento di più variabili, per facilitare l'applicazione di trasformazioni. Ad esempio, è possibile creare un gruppo di tutte le variabili che hanno a che fare con le parti di testo libero di una pagina Web (titolo, corpo) e quindi eseguire una trasformazione su tutte le parti contemporaneamente. 
+  **Assignments (Assegnazioni)** abilita la creazione di variabili intermedie denominate che possono essere riutilizzate in fase di elaborazione. 
+  **Outputs (Risultati)** definisce quali variabili saranno utilizzate nel processo di apprendimento e quali trasformazioni (se presenti) si applicano a tali variabili. 

## Gruppi
<a name="groups"></a>

 È possibile definire gruppi di variabili per trasformare collettivamente tutte le variabili all'interno dei gruppi o utilizzare queste variabili per il machine learning senza trasformarle. Per impostazione predefinita, Amazon ML crea per te i seguenti gruppi:

 **ALL\$1TEXT, ALL\$1NUMERIC, ALL\$1CATEGORICAL, ALL\$1BINARY:** gruppi specifici per tipo, basati su variabili definite nello schema dell'origine dati. 

**Nota**  
Non è possibile creare un gruppo con `ALL_INPUTS`.

 Queste variabili possono essere utilizzate nella sezione degli output della composizione senza essere definite. È inoltre possibile creare gruppi personalizzati aggiungendo o togliendo variabili da gruppi esistenti, oppure direttamente da una raccolta di variabili. In questo esempio dimostriamo tutti e tre gli approcci e la sintassi per l'assegnazione dei gruppi: 

```
"groups": {

"Custom_Group": "group(var1, var2)",
"All_Categorical_plus_one_other": "group(ALL_CATEGORICAL, var2)"

}
```

 I nomi dei gruppi devono iniziare con un carattere alfabetico e possono essere costituiti da 1 a 64 caratteri. Se il nome del gruppo non inizia con un carattere alfabetico o se contiene caratteri speciali (, ' "\$1t\$1r\$1n ( ) \$1), il nome deve essere racchiuso tra virgolette per essere incluso nella composizione. 

## Assegnazioni
<a name="assignments"></a>

 È possibile assegnare una o più trasformazioni a una variabile intermedia, per comodità e leggibilità. Ad esempio, se si dispone di una variabile di testo denominata email\$1subject e si applica la trasformazione minuscola, è possibile denominare la variabile risultante email\$1subject\$1lowercase, consentendo di tenerne traccia facilmente altrove nella composizione. Le assegnazioni possono anche essere concatenate, per consentire di applicare più trasformazioni in un ordine specificato. L'esempio seguente mostra assegnazioni singole e concatenate nella sintassi della composizione: 

```
"assignments": {

"email_subject_lowercase": "lowercase(email_subject)",

"email_subject_lowercase_ngram":"ngram(lowercase(email_subject), 2)"

}
```

 I nomi delle variabili intermedie devono iniziare con un carattere alfabetico e possono essere costituiti da 1 a 64 caratteri. Se il nome non inizia con un carattere alfabetico o se contiene caratteri speciali (, ' "\$1t\$1r\$1n ( ) \$1), il nome deve essere racchiuso tra virgolette per essere incluso nella composizione. 

## Output
<a name="outputs"></a>

 La sezione risultati (output) controlla quali variabili di input saranno usate per il processo di apprendimento, e quali trasformazioni sono applicate. Una sezione di output vuota o inesistente è un errore, perché significa che nessuno dato sarà passato al processo di apprendimento. 

 La sezione di output più semplice include solo il gruppo predefinito **ALL\$1INPUTS**, indicando ad Amazon ML di utilizzare tutte le variabili definite nell'origine dati per l'apprendimento: 

```
"outputs": [

"ALL_INPUTS"

]
```

 La sezione di output può anche fare riferimento agli altri gruppi predefiniti, indicando ad Amazon ML di utilizzare tutte le variabili di questi gruppi: 

```
"outputs": [

"ALL_NUMERIC",

"ALL_CATEGORICAL"

]
```

 La sezione di output può anche fare riferimento a gruppi personalizzati. In questo esempio, solo uno dei gruppi personalizzati definiti nella sezione assegnazioni dei raggruppamenti nell'esempio precedente verrà utilizzato per il machine learning. Tutte le altre variabili saranno rimosse: 

```
"outputs": [

"All_Categorical_plus_one_other"

]
```

La sezione output può anche fare riferimento ad assegnazioni di variabili definite nella sezione assegnazioni:

```
"outputs": [

"email_subject_lowercase"

]
```

 Inoltre le variabili di input o le trasformazioni possono essere definite direttamente nella sezione di output: 

```
"outputs": [

"var1",

"lowercase(var2)"

]
```

 L'output deve specificare in modo esplicito tutte le variabili e le variabili trasformate che si prevede saranno disponibili per il processo di apprendimento. Supponiamo, ad esempio, di includere nell'output un prodotto cartesiano di var1 e var2. Se si desidera includere anche entrambe le variabili non elaborate var1 e var2, è necessario aggiungere le variabili non elaborate alla sezione di output: 

```
"outputs": [

"cartesian(var1,var2)",

"var1",

"var2"

]
```

 Gli output possono includere commenti per migliorare la leggibilità, con l'aggiunta del testo del commento insieme alla variabile: 

```
"outputs": [

"quantile_bin(age, 10) //quantile bin age",

"age // explicitly include the original numeric variable along with the
binned version"

]
```

 È possibile combinare tutti questi approcci all'interno della sezione di output. 

**Nota**  
I commenti non sono consentiti nella console Amazon ML quando si aggiunge una ricetta.

## Esempio completo di composizione
<a name="complete-recipe-example"></a>

 L'esempio seguente si riferisce a diversi processori di dati integrati che sono stati introdotti negli esempi precedenti: 

```
{

"groups": {

"LONGTEXT": "group_remove(ALL_TEXT, title, subject)",

"SPECIALTEXT": "group(title, subject)",

"BINCAT": "group(ALL_CATEGORICAL, ALL_BINARY)"

},

"assignments": {

"binned_age" : "quantile_bin(age,30)",

"country_gender_interaction" : "cartesian(country, gender)"

},

"outputs": [

"lowercase(no_punct(LONGTEXT))",

"ngram(lowercase(no_punct(SPECIALTEXT)),3)",

"quantile_bin(hours-per-week, 10)",

"hours-per-week // explicitly include the original numeric variable
along with the binned version",

"cartesian(binned_age, quantile_bin(hours-per-week,10)) // this one is
critical",

"country_gender_interaction",

"BINCAT"

]

}
```