

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

# Creazione di uno schema di dati per Amazon ML
<a name="creating-a-data-schema-for-amazon-ml"></a>

 Uno *schema* è composto da tutti gli attributi dei dati di input e dai relativi tipi di dati. Consente ad Amazon ML di comprendere i dati nell'origine dati. Amazon ML utilizza le informazioni nello schema per leggere e interpretare i dati di input, calcolare statistiche, applicare le trasformazioni corrette degli attributi e perfezionare gli algoritmi di apprendimento. Se non fornisci uno schema, Amazon ML ne deduce uno dai dati. 

## Esempio di schema
<a name="schema-example"></a>

Affinché Amazon ML legga correttamente i dati di input e produca previsioni accurate, a ogni attributo deve essere assegnato il tipo di dati corretto. Prendiamo in esame un esempio per vedere come i tipi di dati sono assegnati agli attributi e in che modo gli attributi e i tipi di dati sono inclusi in uno schema. Chiameremo il nostro esempio "Customer Campaign" (Campagna clienti) perché vogliamo prevedere quali clienti risponderanno alla nostra campagna e-mail. Il file di input è un file .csv con nove colonne:

```
1,3,web developer,basic.4y,no,no,1,261,0

2,1,car repair,high.school,no,no,22,149,0

3,1,car mechanic,high.school,yes,no,65,226,1

4,2,software developer,basic.6y,no,no,1,151,0
```

Questo è lo schema per questi dati:

```
{
    "version": "1.0",
    "rowId": "customerId",
    "targetAttributeName": "willRespondToCampaign",
    "dataFormat": "CSV",
    "dataFileContainsHeader": false,
    "attributes": [
        {
            "attributeName": "customerId",
            "attributeType": "CATEGORICAL"
        },
        {
            "attributeName": "jobId",
            "attributeType": "CATEGORICAL"
        },
        {
            "attributeName": "jobDescription",
            "attributeType": "TEXT"
        },
        {
            "attributeName": "education",
            "attributeType": "CATEGORICAL"
        },
        {
            "attributeName": "housing",
            "attributeType": "CATEGORICAL"

        },
        {
            "attributeName": "loan",
            "attributeType": "CATEGORICAL"

        },
        {
            "attributeName": "campaign",
            "attributeType": "NUMERIC"
        },
        {
            "attributeName": "duration",
            "attributeType": "NUMERIC"
        },

        {
            "attributeName": "willRespondToCampaign",
            "attributeType": "BINARY"
        }
        
    ]
}
```

Nel file dello schema di questo esempio, il valore di `rowId` è `customerId`:

```
"rowId": "customerId",
```

L'attributo `willRespondToCampaign` viene definito come attributo di destinazione: 

```
"targetAttributeName": "willRespondToCampaign ",
```

 L'attributo `customerId` e il tipo di dati `CATEGORICAL` sono associati alla prima colonna, l'attributo `jobId` e il tipo di dati `CATEGORICAL` sono associati alla seconda colonna, l'attributo `jobDescription` e il tipo di dati `TEXT` sono associati alla terza colonna, l'attributo `education` e il tipo di dati `CATEGORICAL` sono associati alla quarta colonna e così via. La nona colonna è associata a un attributo `willRespondToCampaign` con un tipo di dati `BINARY` e questo attributo, inoltre, viene definito come l'attributo di destinazione. 

## Utilizzo del campo targetAttributeName
<a name="using-the-targetattributename-field"></a>

Il valore `targetAttributeName` è il nome dell'attributo che si desidera prevedere. È necessario assegnare un `targetAttributeName` durante la creazione o la valutazione di un modello.

Quando si addestra o si valuta un modello ML, `targetAttributeName` identifica il nome dell'attributo nei dati di input che contengono le risposte «corrette» per l'attributo di destinazione. Amazon ML utilizza il target, che include le risposte corrette, per scoprire modelli e generare un modello di machine learning.

Quando valuti il tuo modello, Amazon ML utilizza l'obiettivo per verificare l'accuratezza delle tue previsioni. Dopo aver creato e valutato il modello ML, è possibile utilizzare i dati con un `targetAttributeName` non assegnato per generare previsioni con il modello ML.

Definisci l'attributo target nella console Amazon ML quando crei un'origine dati o in un file di schema. Se si crea il proprio file di schema, utilizzare la sintassi seguente per definire l'attributo di destinazione: 

```
"targetAttributeName": "exampleAttributeTarget",
```

 In questo esempio, `exampleAttributeTarget` è il nome dell'attributo nel file di input che costituisce l'attributo di destinazione.

## Utilizzo del campo rowID
<a name="using-the-rowid-field"></a>

 `row ID` (ID riga) è un flag facoltativo associato a un attributo dei dati di input. Se specificato, l'attributo contrassegnato come `row ID` è incluso nell'output di previsione. Questo attributo semplifica l'associazione tra una previsione e la corrispondente osservazione. Un esempio di ottimo `row ID` è un ID cliente o un attributo univoco simile. 

**Nota**  
L'ID di riga è solo di riferimento. Amazon ML non lo utilizza per addestrare un modello di machine learning. La selezione di un attributo come ID riga lo esclude dall'uso per l'addestramento di un modello ML.

Lo definisci `row ID` nella console Amazon ML quando crei un'origine dati o in un file di schema. Se si crea il proprio file di schema, utilizzare la sintassi seguente per definire il `row ID`: 

```
"rowId": "exampleRow",
```

 Nell'esempio precedente, `exampleRow` è il nome dell'attributo nel file di input definito come ID riga. 

Quando si generano previsioni in batch, è possibile ottenere l'output seguente: 

```
tag,bestAnswer,score
55,0,0.46317
102,1,0.89625
```

 In questo esempio, `RowID` rappresenta l'attributo `customerId`. Ad esempio, si prevede che il customerId `55` risponderà alla campagna e-mail con bassa fiducia (0,46317), mentre si prevede che `customerId` `102` risponderà alla campagna e-mail con elevata fiducia (0,89625).

## Utilizzo del campo AttributeType
<a name="assigning-data-types"></a>

In Amazon ML, esistono quattro tipi di dati per gli attributi:

**Binary**  
Scegliere `BINARY` per un attributo che ha solo due stati possibili, ad esempio `yes` o `no`.  
Ad esempio, l'attributo `isNew`, per verificare se una persona è un nuovo cliente, potrà avere un valore `true` per indicare che la persona è un nuovo cliente e un valore `false` per indicare che non è un nuovo cliente.  
I valori negativi validi sono `0`, `n`, `no`, `f` e `false`.  
I valori positivi validi sono `1`, `y`, `yes`, `t` e `true`.  
Amazon ML ignora le maiuscole e minuscole degli input binari e rimuove lo spazio bianco circostante. Ad esempio, `" FaLSe "` è un valore binario valido. Puoi combinare i valori binari che usi nella stessa origine dati, ad esempio usando`true`, e. `no` `1` Amazon ML genera solo output `0` e `1` per attributi binari.

**Categorico**  
Scegliere `CATEGORICAL` (categorico) per un attributo che utilizza un numero limitato di valori univoci di stringa. Ad esempio, un ID utente, il mese e un codice postale sono valori categorici. Gli attributi categorici vengono trattati come una singola stringa e non sono sottoposti a ulteriore tokenizzazione.  


**Numerici**  
Scegliere `NUMERIC` (numerico) per un attributo che utilizza una quantità come un valore.   
Ad esempio, temperatura, peso e percentuale di clic sono valori numerici.  
Non tutti gli attributi che contengono numeri sono numerici. Gli attributi categoriali, come i giorni del mese e IDs, sono spesso rappresentati come numeri. Per essere considerato numerico, un numero deve essere paragonabile a un altro numero. Ad esempio, l'ID cliente `664727` non dice nulla riguardo all'ID cliente `124552`, ma una ponderazione di `10` indica che tale attributo è più pesante di un attributo con una ponderazione di `5`. I giorni del mese non sono numerici, perché il primo giorno di un mese può verificarsi prima o dopo il secondo giorno di un altro mese.  
Quando usi Amazon ML per creare il tuo schema, assegna il tipo di `Numeric` dati a tutti gli attributi che utilizzano numeri. Se Amazon ML crea il tuo schema, verifica la presenza di assegnazioni errate e imposta tali attributi su. `CATEGORICAL` 

**Text (Testo)**  
Scegliere `TEXT` per un attributo che è una stringa di parole. Durante la lettura degli attributi di testo, Amazon ML li converte in token, delimitati da spazi bianchi.   
Ad esempio, `email subject` diventa `email` e `subject`, mentre `email-subject here` diventa `email-subject` e `here`. 

Se il tipo di dati per una variabile nello schema di addestramento non corrisponde al tipo di dati per quella variabile nello schema di valutazione, Amazon ML modifica il tipo di dati di valutazione in modo che corrisponda al tipo di dati di addestramento. Ad esempio, se lo schema dei dati di addestramento assegna un tipo di dati `TEXT` alla variabile`age`, ma lo schema di valutazione assegna un tipo di dati `NUMERIC` a`age`, Amazon ML tratta le età dei dati di valutazione come variabili anziché come `TEXT` variabili. `NUMERIC`

Per informazioni sulle statistiche associate a ogni tipo di dati, consultare [Statistiche descrittive](data-insights.md#descriptive-statistics).

## Fornire uno schema ad Amazon ML
<a name="methods-for-creating-a-data-schema"></a>

Ogni origine dati richiede uno schema. Puoi scegliere tra due modi per fornire ad Amazon ML uno schema: 
+  Consenti ad Amazon ML di dedurre i tipi di dati di ogni attributo nel file di dati di input e creare automaticamente uno schema per te.
+  Fornisci un file di schema quando carichi i dati di Amazon Simple Storage Service (Amazon S3).

### Consentire ad Amazon ML di creare il tuo schema
<a name="allowing-amazon-create-your-schema"></a>

Quando usi la console Amazon ML per creare un'origine dati, Amazon ML utilizza regole semplici, basate sui valori delle tue variabili, per creare il tuo schema. Ti consigliamo vivamente di rivedere lo schema creato da Amazon ML e di correggere i tipi di dati se non sono accurati. 

### Fornire uno schema
<a name="providing-schema-to-amazon-ml"></a>

 Dopo aver creato il file di schema, devi renderlo disponibile per Amazon ML. Sono disponibili due opzioni: 

1.  Fornisci lo schema utilizzando la console Amazon ML.

    Utilizzare la console per creare l'origine dati e includere il file di schema aggiungendo l'estensione .schema al nome del file dei dati di input. Ad esempio, se l'URI di Amazon Simple Storage Service (Amazon S3) dei dati di input è s3:///.csv.schema. my-bucket-name data/input.csv, the URI to your schema will be s3://my-bucket-name/data/input Amazon ML individua automaticamente il file di schema fornito anziché tentare di dedurlo dai dati. 

    Per utilizzare una directory di file come input di dati in Amazon ML, aggiungi l'estensione.schema al percorso della directory. Ad esempio, se i tuoi file di dati si trovano nella posizione s3:///.schema. examplebucket/path/to/data/, the URI to your schema will be s3://examplebucket/path/to/data 

1.  Fornisci lo schema utilizzando l'API Amazon ML.

    Se prevedi di chiamare l'API Amazon ML per creare la tua origine dati, puoi caricare il file di schema in Amazon S3 e quindi fornire l'URI a quel file nell'attributo `DataSchemaLocationS3` dell'API. `CreateDataSourceFromS3` [Per ulteriori informazioni, consulta S3. CreateDataSourceFrom](https://docs.aws.amazon.com/machine-learning/latest/APIReference/API_CreateDataSourceFromS3.html) 

    Puoi fornire lo schema direttamente nel payload `CreateDataSource` di\* `APIs` invece di salvarlo prima in Amazon S3. A tale scopo, inserisci la stringa completa dello schema nell'`DataSchema`attributo di `CreateDataSourceFromS3``CreateDataSourceFromRDS`, o. `CreateDataSourceFromRedshift` APIs Per ulteriori informazioni, consultare la pagina relativa alla [documentazione di riferimento delle API di Amazon Machine Learning](https://docs.aws.amazon.com/machine-learning/latest/APIReference/). 