

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Exemplos de uso de parâmetros em additionalParams para ajustar a configuração de treinamento de modelo
<a name="machine-learning-data-export-additionalParams-examples"></a>

 Os exemplos a seguir demonstram como utilizar o recurso “additionalParams” em grafos de propriedades e modelos de dados RDF para configurar vários aspectos do processo de treinamento de modelos para uma aplicação do Neptune ML. Os exemplos abrangem uma ampla variedade de funcionalidades, incluindo a especificação de taxas de divisão padrão para training/validation/test dados, a definição de tarefas de classificação de nós, regressão e previsão de links, bem como a configuração de diferentes tipos de recursos, como compartimentos numéricos, incorporações de texto, data e hora e dados categóricos. Essas configurações detalhadas permitem que você adapte o pipeline de machine learning aos seus requisitos específicos de dados e modelagem, liberando todo o potencial dos recursos do Neptune ML. 

**Contents**
+ [Exemplos de grafo de propriedades usando additionalParams](#machine-learning-property-graph-additionalParams-examples)
  + [Especificar uma taxa de divisão padrão para a configuração de treinamento de modelos](#machine-learning-property-graph-additionalParams-default-split-rate-example)
  + [Especificar uma tarefa de classificação de nós para configuração de treinamento de modelos](#machine-learning-property-graph-additionalParams-node-classification-example)
  + [Especificar uma tarefa de classificação de nós de várias classes para configuração de treinamento de modelos](#machine-learning-property-graph-additionalParams-multi-class-example)
  + [Especificar uma tarefa de regressão de nós para configuração de treinamento de modelos](#machine-learning-property-graph-additionalParams-node-regression-example)
  + [Especificar uma tarefa de classificação de bordas para configuração de treinamento de modelos](#machine-learning-property-graph-additionalParams-edge-classification-example)
  + [Especificar uma tarefa de classificação de bordas de várias classes para configuração de treinamento de modelos](#machine-learning-property-graph-additionalParams-multi-edge-classification-example)
  + [Especificar uma regressão de bordas para configuração de treinamento de modelos](#machine-learning-property-graph-additionalParams-edge-regression-example)
  + [Especificar uma tarefa de previsão de links para configuração de treinamento de modelos](#machine-learning-property-graph-additionalParams-link-prediction-example)
  + [Especificar um atributo de bucket numérico](#machine-learning-property-graph-additionalParams-numeric-bucket-example)
  + [Especificar um atributo `Word2Vec`](#machine-learning-property-graph-additionalParams-word2vec-example)
  + [Especificar um atributo `FastText`](#machine-learning-property-graph-additionalParams-fasttext-example)
  + [Especificar um atributo `Sentence BERT`](#machine-learning-property-graph-additionalParams-sbert-example)
  + [Especificar um atributo `TF-IDF`](#machine-learning-property-graph-additionalParams-tf-idf-example)
  + [Especificar um atributo `datetime`](#machine-learning-property-graph-additionalParams-datetime-example)
  + [Especificar um atributo `category`](#machine-learning-property-graph-additionalParams-category-example)
  + [Especificar um atributo `numerical`](#machine-learning-property-graph-additionalParams-numerical-example)
  + [Especificar um atributo `auto`](#machine-learning-property-graph-additionalParams-auto-example)
+ [Exemplos do RDF usando `additionalParams`](#machine-learning-RDF-additionalParams-examples)
  + [Especificar uma taxa de divisão padrão para a configuração de treinamento de modelos](#machine-learning-RDF-additionalParams-default-split-rate-example)
  + [Especificar uma tarefa de classificação de nós para configuração de treinamento de modelos](#machine-learning-RDF-additionalParams-node-classification-example)
  + [Especificar uma tarefa de regressão de nós para configuração de treinamento de modelos](#machine-learning-RDF-additionalParams-node-regression-example)
  + [Especificar uma tarefa de previsão de links para bordas específicas](#machine-learning-RDF-additionalParams-link-prediction-example)
  + [Especificar uma tarefa de previsão de links para todas as bordas](#machine-learning-RDF-additionalParams-link-prediction-example)

## Exemplos de grafo de propriedades usando additionalParams
<a name="machine-learning-property-graph-additionalParams-examples"></a>

### Especificar uma taxa de divisão padrão para a configuração de treinamento de modelos
<a name="machine-learning-property-graph-additionalParams-default-split-rate-example"></a>

No exemplo a seguir, o parâmetro `split_rate` define a taxa de divisão padrão para o treinamento de modelos. Se nenhuma taxa de divisão padrão for especificada, o treinamento usará um valor de [0,9, 0,1, 0,0]. É possível substituir o valor padrão por destino especificando uma `split_rate` para cada destino.

No seguinte exemplo, o campo `default split_rate` indica que uma taxa de divisão de `[0.7,0.1,0.2]` deve ser usada, a menos que seja substituída por destino:”

```
  "additionalParams": {
  "neptune_ml": {
    "version": "v2.0",
    "split_rate": [0.7,0.1,0.2],
    "targets": [
      (...)
    ],
    "features": [
      (...)
    ]
  }
}
```

### Especificar uma tarefa de classificação de nós para configuração de treinamento de modelos
<a name="machine-learning-property-graph-additionalParams-node-classification-example"></a>

Para indicar qual propriedade de nó contém exemplos rotulados para fins de treinamento, adicione um elemento de classificação de nós à matriz `targets`, usando `"type" : "classification"`. Adicione um campo `split_rate` se quiser substituir a taxa de divisão padrão.

No exemplo a seguir, o destino `node` indica que a propriedade `genre` de cada nó `Movie` deve ser tratada como um rótulo de classe de nó. O valor `split_rate` substitui a taxa de divisão padrão:

```
  "additionalParams": {
  "neptune_ml": {
    "version": "v2.0",
    "targets": [
      {
        "node": "Movie",
        "property": "genre",
        "type": "classification",
        "split_rate": [0.7,0.1,0.2]
      }
    ],
    "features": [
      (...)
    ]
  }
}
```

### Especificar uma tarefa de classificação de nós de várias classes para configuração de treinamento de modelos
<a name="machine-learning-property-graph-additionalParams-multi-class-example"></a>

Para indicar qual propriedade de nó contém vários exemplos rotulados para fins de treinamento, adicione um elemento de classificação de nós à matriz de destinos, usando `"type" : "classification"` e `separator` para especificar um caractere que pode ser usado para dividir o valor de uma propriedade de destino em vários valores categóricos. Adicione um campo `split_rate` se quiser substituir a taxa de divisão padrão.

No exemplo a seguir, o destino `node` indica que a propriedade `genre` de cada nó `Movie` deve ser tratada como um rótulo de classe de nó. O campo `separator` indica que cada propriedade de gênero contém vários valores separados por ponto e vírgula:

```
  "additionalParams": {
  "neptune_ml": {
    "version": "v2.0",
    "targets": [
      {
        "node": "Movie",
        "property": "genre",
        "type": "classification",
        "separator": ";"
      }
    ],
    "features": [
      (...)
    ]
  }
}
```

### Especificar uma tarefa de regressão de nós para configuração de treinamento de modelos
<a name="machine-learning-property-graph-additionalParams-node-regression-example"></a>

Para indicar qual propriedade de nó contém regressões rotuladas para fins de treinamento, adicione um elemento de regressão de nós à matriz de destinos, usando `"type" : "regression"`. Adicione um campo split\$1rate se quiser substituir a taxa de divisão padrão.

O seguinte destino `node` indica que a propriedade `rating` de cada nó `Movie` deve ser tratada como um rótulo de regressão de nós:

```
    "additionalParams": {
  "neptune_ml": {
    "version": "v2.0",
    "targets": [
      {
        "node": "Movie",
        "property": "rating",
        "type" : "regression",
        "split_rate": [0.7,0.1,0.2]
      }
    ],
    "features": [
      ...
    ]
  }
}
```

### Especificar uma tarefa de classificação de bordas para configuração de treinamento de modelos
<a name="machine-learning-property-graph-additionalParams-edge-classification-example"></a>

Para indicar qual propriedade de borda contém exemplos rotulados para fins de treinamento, adicione um elemento de borda à matriz `targets`, usando `"type" : "regression"`. Adicione um campo split\$1rate se quiser substituir a taxa de divisão padrão.

O seguinte destino `edge` indica que a propriedade `metAtLocation` de cada borda `knows` deve ser tratada como um rótulo de classe de borda:

```
  "additionalParams": {
  "neptune_ml": {
    "version": "v2.0",
    "targets": [
      {
        "edge": ["Person", "knows", "Person"],
        "property": "metAtLocation",
        "type": "classification"
      }
    ],
    "features": [
      (...)
    ]
  }
}
```

### Especificar uma tarefa de classificação de bordas de várias classes para configuração de treinamento de modelos
<a name="machine-learning-property-graph-additionalParams-multi-edge-classification-example"></a>

Para indicar qual propriedade de nó contém vários exemplos rotulados para fins de treinamento, adicione um elemento de borda à matriz `targets` usando um campo `"type" : "classification"` e um `separator` para especificar um caractere usado para dividir o valor de uma propriedade de destino em vários valores categóricos. Adicione um campo `split_rate` se quiser substituir a taxa de divisão padrão.

O destino `edge` a seguir indica que a propriedade `sentiment` de cada borda `repliedTo` deve ser tratada como um rótulo de classe de borda. O campo separador indica que cada propriedade de sentimento contém vários valores separados por vírgula:

```
  "additionalParams": {
  "neptune_ml": {
    "version": "v2.0",
    "targets": [
      {
        "edge": ["Person", "repliedTo", "Message"],
        "property": "sentiment",
        "type": "classification",
        "separator": ","
      }
    ],
    "features": [
      (...)
    ]
  }
}
```

### Especificar uma regressão de bordas para configuração de treinamento de modelos
<a name="machine-learning-property-graph-additionalParams-edge-regression-example"></a>

Para indicar qual propriedade de borda contém exemplos de regressão rotulados para fins de treinamento, adicione um elemento `edge` à matriz `targets`, usando `"type" : "regression"`. Adicione um campo `split_rate` se quiser substituir a taxa de divisão padrão.

O seguinte destino `edge` indica que a propriedade `rating` de cada borda `reviewed` deve ser tratada como uma regressão de bordas:

```
  "additionalParams": {
  "neptune_ml": {
    "version": "v2.0",
    "targets": [
      {
        "edge": ["Person", "reviewed", "Movie"],
        "property": "rating",
        "type" : "regression"
      }
    ],
    "features": [
      (...)
    ]
  }
}
```

### Especificar uma tarefa de previsão de links para configuração de treinamento de modelos
<a name="machine-learning-property-graph-additionalParams-link-prediction-example"></a>

Para indicar quais bordas devem ser usadas para fins de treinamento de previsão de links, adicione um elemento de borda à matriz de destinos usando `"type" : "link_prediction"`. Adicione um campo `split_rate` se quiser substituir a taxa de divisão padrão.

O seguinte destino `edge` indica que as bordas `cites` devem ser usadas para previsão de links:

```
  "additionalParams": {
  "neptune_ml": {
    "version": "v2.0",
    "targets": [
      {
        "edge": ["Article", "cites", "Article"],
        "type" : "link_prediction"
      }
    ],
    "features": [
      (...)
    ]
  }
}
```

### Especificar um atributo de bucket numérico
<a name="machine-learning-property-graph-additionalParams-numeric-bucket-example"></a>

É possível especificar um atributo de dados numéricos para uma propriedade de nó adicionando `"type": "bucket_numerical"` à matriz `features`.

O seguinte atributo `node` indica que a propriedade `age` de cada nó `Person` deve ser tratada como um atributo de bucket numérico:

```
  "additionalParams": {
  "neptune_ml": {
    "targets": [
      ...
    ],
    "features": [
      {
        "node": "Person",
        "property": "age",
        "type": "bucket_numerical",
        "range": [1, 100],
        "bucket_cnt": 5,
        "slide_window_size": 3,
        "imputer": "median"
      }
    ]
  }
}
```

### Especificar um atributo `Word2Vec`
<a name="machine-learning-property-graph-additionalParams-word2vec-example"></a>

É possível especificar um atributo `Word2Vec` para uma propriedade de nó adicionando `"type": "text_word2vec"` à matriz `features`.

O seguinte atributo `node` indica que a propriedade `description` de cada nó `Movie` deve ser tratada como um atributo `Word2Vec`:

```
"additionalParams": {
  "neptune_ml": {
    "version": "v2.0",
    "targets": [
      ...
    ],
    "features": [
      {
        "node": "Movie",
        "property": "description",
        "type": "text_word2vec",
        "language": "en_core_web_lg"
      }
    ]
  }
}
```

### Especificar um atributo `FastText`
<a name="machine-learning-property-graph-additionalParams-fasttext-example"></a>

É possível especificar um atributo `FastText` para uma propriedade de nó adicionando `"type": "text_fasttext"` à matriz `features`. O campo `language` é obrigatório e deve especificar um dos seguintes códigos de idioma:
+ `en`   (inglês)
+ `zh`   (chinês)
+ `hi`   (hindi)
+ `es`   (espanhol)
+ `fr`   (francês)

Observe que a codificação `text_fasttext` não pode lidar com mais de um idioma por vez em um atributo.

O seguinte atributo `node` indica que a propriedade `description` de francês de cada nó `Movie` deve ser tratada como um atributo `FastText`:

```
"additionalParams": {
  "neptune_ml": {
    "version": "v2.0",
    "targets": [
      ...
    ],
    "features": [
      {
        "node": "Movie",
        "property": "description",
        "type": "text_fasttext",
        "language": "fr",
        "max_length": 1024
      }
    ]
  }
}
```

### Especificar um atributo `Sentence BERT`
<a name="machine-learning-property-graph-additionalParams-sbert-example"></a>

É possível especificar um atributo `Sentence BERT` para uma propriedade de nó adicionando `"type": "text_sbert"` à matriz `features`. Não é necessário especificar o idioma, pois o método codifica automaticamente os atributos de texto usando um modelo de idioma multilíngue.

O seguinte atributo `node` indica que a propriedade `description` de cada nó `Movie` deve ser tratada como um atributo `Sentence BERT`:

```
"additionalParams": {
  "neptune_ml": {
    "version": "v2.0",
    "targets": [
      ...
    ],
    "features": [
      {
        "node": "Movie",
        "property": "description",
        "type": "text_sbert128",
      }
    ]
  }
}
```

### Especificar um atributo `TF-IDF`
<a name="machine-learning-property-graph-additionalParams-tf-idf-example"></a>

É possível especificar um atributo `TF-IDF` para uma propriedade de nó adicionando `"type": "text_tfidf"` à matriz `features`.

O seguinte atributo `node` indica que a propriedade `bio` de cada nó `Person` deve ser tratada como um atributo `TF-IDF`:

```
  "additionalParams": {
  "neptune_ml": {
    "version": "v2.0",
    "targets": [
      ...
    ],
    "features": [
      {
        "node": "Movie",
        "property": "bio",
        "type": "text_tfidf",
        "ngram_range": [1, 2],
        "min_df": 5,
        "max_features": 1000
      }
    ]
  }
}
```

### Especificar um atributo `datetime`
<a name="machine-learning-property-graph-additionalParams-datetime-example"></a>

O processo de exportação infere automaticamente atributos `datetime` para propriedades de data. No entanto, se você quiser limitar `datetime_parts` usado de um atributo `datetime` ou substituir uma especificação de atributo para que uma propriedade que normalmente seria tratada como um atributo `auto` seja explicitamente tratada como um atributo `datetime`, você pode fazer isso adicionando `"type": "datetime"` a à matriz de atributos.

O seguinte atributo `node` indica que a propriedade `createdAt` de cada nó `Post` deve ser tratada como um atributo `datetime`:

```
  "additionalParams": {
  "neptune_ml": {
    "version": "v2.0",
    "targets": [
      ...
    ],
    "features": [
      {
        "node": "Post",
        "property": "createdAt",
        "type": "datetime",
        "datetime_parts": ["month", "weekday", "hour"]
      }
    ]
  }
}
```

### Especificar um atributo `category`
<a name="machine-learning-property-graph-additionalParams-category-example"></a>

O processo de exportação infere automaticamente atributos `auto` para propriedades de string e propriedades numéricas que contenham vários valores. Para propriedades numéricas que contenham valores únicos, ele infere atributos `numerical`. Para propriedades de data, ele infere atributos `datetime`.

Se você quiser substituir uma especificação de atributo para que uma propriedade seja tratada como um atributo categórico, adicione `"type": "category"` à matriz de atributos. Se a propriedade contiver vários valores, inclua um campo `separator`. Por exemplo:

```
  "additionalParams": {
  "neptune_ml": {
    "version": "v2.0",
    "targets": [
      ...
    ],
    "features": [
      {
        "node": "Post",
        "property": "tag",
        "type": "category",
        "separator": "|"
      }
    ]
  }
}
```

### Especificar um atributo `numerical`
<a name="machine-learning-property-graph-additionalParams-numerical-example"></a>

O processo de exportação infere automaticamente atributos `auto` para propriedades de string e propriedades numéricas que contenham vários valores. Para propriedades numéricas que contenham valores únicos, ele infere atributos `numerical`. Para propriedades de data, ele infere atributos `datetime`.

Se você quiser substituir uma especificação de atributo para que uma propriedade seja tratada como um atributo `numerical`, adicione `"type": "numerical"` à matriz de atributos. Se a propriedade contiver vários valores, inclua um campo `separator`. Por exemplo:

```
  "additionalParams": {
  "neptune_ml": {
    "version": "v2.0",
    "targets": [
      ...
    ],
    "features": [
      {
        "node": "Recording",
        "property": "duration",
        "type": "numerical",
        "separator": ","
      }
    ]
  }
}
```

### Especificar um atributo `auto`
<a name="machine-learning-property-graph-additionalParams-auto-example"></a>

O processo de exportação infere automaticamente atributos `auto` para propriedades de string e propriedades numéricas que contenham vários valores. Para propriedades numéricas que contenham valores únicos, ele infere atributos `numerical`. Para propriedades de data, ele infere atributos `datetime`.

Se você quiser substituir uma especificação de atributo para que uma propriedade seja tratada como um atributo `auto`, adicione `"type": "auto"` à matriz de atributos. Se a propriedade contiver vários valores, inclua um campo `separator`. Por exemplo:

```
  "additionalParams": {
  "neptune_ml": {
    "version": "v2.0",
    "targets": [
      ...
    ],
    "features": [
      {
        "node": "User",
        "property": "role",
        "type": "auto",
        "separator": ","
      }
    ]
  }
}
```

## Exemplos do RDF usando `additionalParams`
<a name="machine-learning-RDF-additionalParams-examples"></a>

### Especificar uma taxa de divisão padrão para a configuração de treinamento de modelos
<a name="machine-learning-RDF-additionalParams-default-split-rate-example"></a>

No exemplo a seguir, o parâmetro `split_rate` define a taxa de divisão padrão para o treinamento de modelos. Se nenhuma taxa de divisão padrão for especificada, o treinamento usará um valor de [0,9, 0,1, 0,0]. É possível substituir o valor padrão por destino especificando uma `split_rate` para cada destino.

No seguinte exemplo, o campo `default split_rate` indica que uma taxa de divisão de `[0.7,0.1,0.2]` deve ser usada, a menos que seja substituída por destino:”

```
  "additionalParams": {
  "neptune_ml": {
    "version": "v2.0",
    "split_rate": [0.7,0.1,0.2],
    "targets": [
      (...)
    ]
  }
}
```

### Especificar uma tarefa de classificação de nós para configuração de treinamento de modelos
<a name="machine-learning-RDF-additionalParams-node-classification-example"></a>

Para indicar qual propriedade de nó contém exemplos rotulados para fins de treinamento, adicione um elemento de classificação de nós à matriz `targets`, usando `"type" : "classification"`. Adicione um campo de nó para indicar o tipo dos nós de destino. Adicione um campo `predicate` para definir quais dados literais são usados como o atributo do nó de destino. Adicione um campo `split_rate` se quiser substituir a taxa de divisão padrão.

No exemplo a seguir, o destino `node` indica que a propriedade `genre` de cada nó `Movie` deve ser tratada como um rótulo de classe de nó. O valor `split_rate` substitui a taxa de divisão padrão:

```
  "additionalParams": {
  "neptune_ml": {
    "version": "v2.0",
    "targets": [
      {
        "node": "http://aws.amazon.com/neptune/csv2rdf/class/Movie",
        "predicate": "http://aws.amazon.com/neptune/csv2rdf/datatypeProperty/genre",
        "type": "classification",
        "split_rate": [0.7,0.1,0.2]
      }
    ]
  }
}
```

### Especificar uma tarefa de regressão de nós para configuração de treinamento de modelos
<a name="machine-learning-RDF-additionalParams-node-regression-example"></a>

Para indicar qual propriedade de nó contém regressões rotuladas para fins de treinamento, adicione um elemento de regressão de nós à matriz de destinos, usando `"type" : "regression"`. Adicione um campo `node` para indicar o tipo dos nós de destino. Adicione um campo `predicate` para definir quais dados literais são usados como o atributo do nó de destino. Adicione um campo `split_rate` se quiser substituir a taxa de divisão padrão.

O seguinte destino `node` indica que a propriedade `rating` de cada nó `Movie` deve ser tratada como um rótulo de regressão de nós:

```
    "additionalParams": {
  "neptune_ml": {
    "version": "v2.0",
    "targets": [
      {
        "node": "http://aws.amazon.com/neptune/csv2rdf/class/Movie",
        "predicate": "http://aws.amazon.com/neptune/csv2rdf/datatypeProperty/rating",
        "type": "regression",
        "split_rate": [0.7,0.1,0.2]
      }
    ]
  }
}
```

### Especificar uma tarefa de previsão de links para bordas específicas
<a name="machine-learning-RDF-additionalParams-link-prediction-example"></a>

Para indicar quais bordas devem ser usadas para fins de treinamento de previsão de links, adicione um elemento de borda à matriz de destinos usando `"type" : "link_prediction"`. Adicione os campos `subject`, `predicate` e `object` para especificar o tipo de borda. Adicione um campo `split_rate` se quiser substituir a taxa de divisão padrão.

O seguinte destino `edge` indica que as bordas `directed` que conectam `Directors` a `Movies` devem ser usadas para previsão de links:

```
  "additionalParams": {
  "neptune_ml": {
    "version": "v2.0",
    "targets": [
      {
        "subject": "http://aws.amazon.com/neptune/csv2rdf/class/Director",
        "predicate": "http://aws.amazon.com/neptune/csv2rdf/datatypeProperty/directed",
        "object": "http://aws.amazon.com/neptune/csv2rdf/class/Movie",
        "type" : "link_prediction"
      }
    ]
  }
}
```

### Especificar uma tarefa de previsão de links para todas as bordas
<a name="machine-learning-RDF-additionalParams-link-prediction-example"></a>

Para indicar que todas as bordas devem ser usadas para fins de treinamento de previsão de links, adicione um elemento `edge` à matriz de destinos usando `"type" : "link_prediction"`. Não adicione campos `subject`, `predicate` nem `object`. Adicione um campo `split_rate` se quiser substituir a taxa de divisão padrão.

```
  "additionalParams": {
  "neptune_ml": {
    "version": "v2.0",
    "targets": [
      {
        "type" : "link_prediction"
      }
    ]
  }
}
```