Ejemplos del uso de parámetros internos additionalParams para ajustar la configuración de entrenamiento del modelo - Amazon Neptune

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Ejemplos del uso de parámetros internos additionalParams para ajustar la configuración de entrenamiento del modelo

Los siguientes ejemplos muestran cómo utilizar la función «additionalParams» en los modelos de RDF datos y gráficos de propiedades para configurar varios aspectos del proceso de entrenamiento del modelo para una aplicación de aprendizaje automático de Neptune. Los ejemplos cubren una amplia gama de funciones, incluida la especificación de tasas de división predeterminadas para los datos de entrenamiento/validación/prueba, la definición de tareas de clasificación de nodos, regresión y predicción de enlaces, así como la configuración de diferentes tipos de funciones, como cubos numéricos, incrustaciones de texto, fecha y hora y datos categóricos. Estas configuraciones detalladas le permiten adaptar el proceso de aprendizaje automático a sus requisitos específicos de modelado y datos, lo que desbloquea todo el potencial de las capacidades de aprendizaje automático de Neptune.

Contenido

Ejemplos de gráficos de propiedades que utilizan additionalParams

Especificación de una tasa de división predeterminada para la configuración del entrenamiento de modelos

En el siguiente ejemplo el parámetro split_rate establece la tasa de división predeterminada para el entrenamiento de modelos. Si no se especifica ninguna tasa de división predeterminada, el entrenamiento usa un valor de [0,9, 0,1, 0,0]. Para anular el valor predeterminado según el destino, especifique una split_rate para cada destino.

En el siguiente ejemplo el campo default split_rate indica que se debe utilizar una tasa de división de [0.7,0.1,0.2], a no ser que se anule según el destino:

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

Especificación de una tarea de clasificación de nodos para la configuración del entrenamiento de modelos

Para indicar la propiedad de nodo que incluye ejemplos etiquetados con fines de entrenamiento, añada un elemento de clasificación de nodos a la matriz de targets mediante "type" : "classification". Si desea anular la tasa de división predeterminada, añada el campo split_rate.

En el siguiente ejemplo el destino node indica que la propiedad genre de cada nodo Movie debe tratarse como una etiqueta de clase de nodo. El valor split_rate anula la tasa de división predeterminada:

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

Especificación de una tarea de clasificación de nodos de varias clases para la configuración del entrenamiento de modelos

Para indicar la propiedad de nodo que incluye varios ejemplos etiquetados con fines de entrenamiento, añada un elemento de clasificación de nodos a la matriz de destino mediante "type" : "classification" y separator para especificar un carácter que pueda usarse para dividir el valor de una propiedad de destino en varios valores categóricos. Si desea anular la tasa de división predeterminada, añada el campo split_rate.

En el siguiente ejemplo el destino node indica que la propiedad genre de cada nodo Movie debe tratarse como una etiqueta de clase de nodo. El campo separator indica que cada propiedad de género incluye varios valores separados por punto y coma:

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

Especificación de una tarea de regresión de nodos para la configuración del entrenamiento de modelos

Para indicar la propiedad de nodo que incluye regresiones etiquetadas con fines de entrenamiento, añada un elemento de regresión de nodos a la matriz de destino mediante "type" : "regression". Si desea anular la tasa de división predeterminada, añada el campo split_rate.

El siguiente destino node indica que la propiedad rating de cada nodo Movie debe tratarse como una etiqueta de regresión de nodo.

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

Especificación de una tarea de clasificación de bordes para la configuración del entrenamiento de modelos

Para indicar la propiedad de borde que incluye ejemplos etiquetados con fines de entrenamiento, añada un elemento de borde a la matriz de targets mediante "type" : "regression". Si desea anular la tasa de división predeterminada, añada el campo split_rate.

El siguiente destino edge indica que la propiedad metAtLocation de cada borde knows debe tratarse como una etiqueta de clase de borde:

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

Especificación de una tarea de borde de varias clases para la configuración del entrenamiento de modelos

Para indicar la propiedad de borde que incluye varios ejemplos etiquetados con fines de entrenamiento, añada un elemento de borde a la matriz de targets mediante "type" : "classification" y un campo separator para especificar un carácter utilizado para dividir el valor de una propiedad de destino en varios valores categóricos. Si desea anular la tasa de división predeterminada, añada el campo split_rate.

El siguiente destino edge indica que la propiedad sentiment de cada borde repliedTo debe tratarse como una etiqueta de clase de borde. El campo del separador indica que cada propiedad de opinión incluye varios valores separados por comas:

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

Especificación de una regresión de bordes para la configuración del entrenamiento de modelos

Para indicar la propiedad de borde que incluye ejemplos de regresión etiquetados con fines de entrenamiento, añada un elemento edge a la matriz de targets mediante "type" : "regression". Si desea anular la tasa de división predeterminada, añada el campo split_rate.

El siguiente destino edge indica que la propiedad rating de cada borde reviewed debe tratarse como una regresión de borde:

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

Para indicar los bordes que deben usarse con fines de entrenamiento de predicción de enlaces, añada un elemento de borde a la matriz de destino mediante "type" : "link_prediction". Si desea anular la tasa de división predeterminada, añada el campo split_rate.

El siguiente destino edge indica que los bordes cites deben usarse para la predicción de enlaces:

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

Especificación de una característica de bucket numérico

Para especificar una característica de datos numéricos para una propiedad de nodo, añada "type": "bucket_numerical" a la matriz de features.

La siguiente característica node indica que la propiedad age de cada nodo Person debe tratarse como una característica 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" } ] } }

Especificación de una característica Word2Vec

Para especificar una característica Word2Vec para una propiedad de nodo, añada "type": "text_word2vec" a la matriz de features.

La siguiente característica node indica que la propiedad description de cada nodo Movie debe tratarse como una característica Word2Vec:

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

Especificación de una característica FastText

Para especificar una característica FastText para una propiedad de nodo, añada "type": "text_fasttext" a la matriz de features. El campo language es obligatorio y debe especificar uno de los siguientes códigos de idiomas:

  • en (inglés)

  • zh (chino)

  • hi (hindi)

  • es (español)

  • fr (francés)

Tenga en cuenta que la codificación text_fasttext no puede admitir más de un idioma a la vez en una característica.

La siguiente característica node indica que la propiedad description (francés) de cada nodo Movie debe tratarse como una característica FastText:

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

Especificación de una característica Sentence BERT

Para especificar una característica Sentence BERT para una propiedad de nodo, añada "type": "text_sbert" a la matriz de features. No es necesario especificar el idioma, ya que el método codifica automáticamente las características de texto mediante un modelo de idioma multilingüe.

La siguiente característica node indica que la propiedad description de cada nodo Movie debe tratarse como una característica Sentence BERT:

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

Especificación de una característica TF-IDF

Para especificar una característica TF-IDF para una propiedad de nodo, añada "type": "text_tfidf" a la matriz de features.

La siguiente característica node indica que la propiedad bio de cada nodo Person debe tratarse como una característica 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 } ] } }

Especificación de una característica datetime

El proceso de exportación infiere automáticamente las características datetime de las propiedades de fecha. Sin embargo, si desea limitar las datetime_parts usadas para una característica datetime o anular una especificación de característica para que una propiedad que normalmente se trataría como una característica auto se trate de forma explícita como una característica datetime, añada una "type": "datetime" a la matriz de característica.

La siguiente característica node indica que la propiedad createdAt de cada nodo Post debe tratarse como una característica datetime:

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

Especificación de una característica category

El proceso de exportación infiere automáticamente las características auto de las propiedades de cadenas y de las propiedades numéricas que incluyen varios valores. En el caso de las propiedades numéricas que incluyen valores únicos, infiere las características numerical. En el caso de las propiedades de fecha, infiere las características datetime.

Si desea anular una especificación de característica para que una propiedad se trate como una característica categórica, añada "type": "category" a la matriz de característica. Si la propiedad incluye varios valores, incluya un campo separator. Por ejemplo:

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

Especificación de una característica numerical

El proceso de exportación infiere automáticamente las características auto de las propiedades de cadenas y de las propiedades numéricas que incluyen varios valores. En el caso de las propiedades numéricas que incluyen valores únicos, infiere las características numerical. En el caso de las propiedades de fecha, infiere las características datetime.

Si desea anular una especificación de característica para que una propiedad se trate como una característica numerical, añada "type": "numerical" a la matriz de característica. Si la propiedad incluye varios valores, incluya un campo separator. Por ejemplo:

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

Especificación de una característica auto

El proceso de exportación infiere automáticamente las características auto de las propiedades de cadenas y de las propiedades numéricas que incluyen varios valores. En el caso de las propiedades numéricas que incluyen valores únicos, infiere las características numerical. En el caso de las propiedades de fecha, infiere las características datetime.

Si desea anular una especificación de característica para que una propiedad se trate como una característica auto, añada "type": "auto" a la matriz de característica. Si la propiedad incluye varios valores, incluya un campo separator. Por ejemplo:

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

RDFejemplos que utilizan additionalParams

Especificación de una tasa de división predeterminada para la configuración del entrenamiento de modelos

En el siguiente ejemplo el parámetro split_rate establece la tasa de división predeterminada para el entrenamiento de modelos. Si no se especifica ninguna tasa de división predeterminada, el entrenamiento usa un valor de [0,9, 0,1, 0,0]. Para anular el valor predeterminado según el destino, especifique una split_rate para cada destino.

En el siguiente ejemplo el campo default split_rate indica que se debe utilizar una tasa de división de [0.7,0.1,0.2], a no ser que se anule según el destino:

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

Especificación de una tarea de clasificación de nodos para la configuración del entrenamiento de modelos

Para indicar la propiedad de nodo que incluye ejemplos etiquetados con fines de entrenamiento, añada un elemento de clasificación de nodos a la matriz de targets mediante "type" : "classification". Añada un campo node para indicar el tipo de nodo de los nodos de destino. Añada un campo predicate para definir los datos literales que se utilizarán como la característica de nodo de destino del nodo de destino. Si desea anular la tasa de división predeterminada, añada el campo split_rate.

En el siguiente ejemplo el destino node indica que la propiedad genre de cada nodo Movie debe tratarse como una etiqueta de clase de nodo. El valor split_rate anula la tasa de división predeterminada:

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

Especificación de una tarea de regresión de nodos para la configuración del entrenamiento de modelos

Para indicar la propiedad de nodo que incluye regresiones etiquetadas con fines de entrenamiento, añada un elemento de regresión de nodos a la matriz de destino mediante "type" : "regression". Añada un campo node para indicar el tipo de nodo de los nodos de destino. Añada un campo predicate para definir los datos literales que se utilizarán como la característica de nodo de destino del nodo de destino. Si desea anular la tasa de división predeterminada, añada el campo split_rate.

El siguiente destino node indica que la propiedad rating de cada nodo Movie debe tratarse como una etiqueta de regresión de nodo.

"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 los bordes que deben usarse con fines de entrenamiento de predicción de enlaces, añada un elemento de borde a la matriz de destino mediante "type" : "link_prediction". Añada los campos subject, predicate y object para especificar el tipo de borde. Si desea anular la tasa de división predeterminada, añada el campo split_rate.

El siguiente destino edge indica que los bordes directed que conectan Directors a Movies deben usarse para la predicción de enlaces:

"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 todos los bordes que deben usarse con fines de entrenamiento de predicción de enlaces, añada un elemento edge a la matriz de destino mediante "type" : "link_prediction". No añada los campos subject, predicate ni object. Si desea anular la tasa de división predeterminada, añada el campo split_rate.

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