Exemplos de uso de parâmetros internos additionalParams para ajustar a configuração de treinamento de modelos - Amazon Neptune

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 internos additionalParams para ajustar a configuração de treinamento de modelos

Os exemplos a seguir demonstram como utilizar o recurso "additionalParams" em gráficos de propriedades e modelos de RDF dados para configurar vários aspectos do processo de treinamento de modelos para um aplicativo Neptune ML. Os exemplos abrangem uma ampla variedade de funcionalidades, incluindo a especificação de taxas de divisão padrão para dados de treinamento/validação/teste, a definição de tarefas de classificação, regressão e previsão de links de nós, 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 aprendizado de máquina aos seus requisitos específicos de dados e modelagem, liberando todo o potencial dos recursos do Neptune ML.

Sumário

Exemplos de grafo de propriedades usando additionalParams

Especificar uma taxa de divisão padrão para a configuração de treinamento de modelos

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

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

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

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_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": "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

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_rate 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

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

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": [ (...) ] } }

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

É 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

É 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

É 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

É 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

É 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

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

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

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

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": "," } ] } }

RDFexemplos usando additionalParams

Especificar uma taxa de divisão padrão para a configuração de treinamento de modelos

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

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

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] } ] } }

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" } ] } }

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" } ] } }