33.9 C
Colombia
lunes, julio 7, 2025

POSIT AI Weblog: TensorFlow Estimators



POSIT AI Weblog: TensorFlow Estimators

El paquete tfestimators es una interfaz R para los estimadores de flujo de tensor, una API de alto nivel que proporciona implementaciones de muchos tipos de modelos diferentes, incluidos modelos lineales y redes neuronales profundas.

Pronto llegarán más modelos, como redes neuronales recurrentes de ahorro de estado, redes neuronales recurrentes dinámicas, máquinas de vectores de soporte, bosque aleatorio, agrupación de kmeans, and so forth. Los estimadores de flujo de tensor también proporcionan un marco versatile para definir nuevos tipos de modelos arbitrarios como estimadores personalizados.

El marco equilibra las demandas competitivas de flexibilidad y simplicidad al ofrecer API en diferentes niveles de abstracción, haciendo que las arquitecturas de modelos comunes estén disponibles fuera de la caja, al tiempo que proporcionan una biblioteca de utilidades diseñadas para acelerar la experimentación con arquitecturas de modelos.

Estas abstracciones guían a los desarrolladores a escribir modelos de manera propicio para la producción, así como hacer posible escribir infraestructura posterior para capacitación distribuida o ajuste de parámetros independientemente de la implementación del modelo.

Para hacer de los modelos de cajas flexibles y utilizables en una amplia gama de problemas, tfestimators Proporciona estimadores enlatados que están parametrizados no solo sobre los hiperparámetros tradicionales, sino también utilizando columnas de características, una especificación declarativa que describe cómo interpretar los datos de entrada.

Para obtener más detalles sobre la arquitectura y el diseño de los estimadores de flujo de tensor, consulte el KDD’17 papel: Estimadores de flujo de tensor: gestión de la simplicidad versus flexibilidad en marcos de aprendizaje automático de alto nivel.

Comienzo rápido

Instalación

Para usar tfestimatorsnecesitas instalar ambos tfestimators Paquete R así como Flujo tensor sí mismo.

Primero, instale el paquete tfestimators R de la siguiente manera:

devtools::install_github("rstudio/tfestimators")

Entonces, usa el install_tensorflow() Función para instalar TensorFlow (tenga en cuenta que el paquete precise TFestimators requiere la versión 1.3.0 de TensorFlow, por lo que incluso si ya tiene instalado TensorFlow, debe actualizar si está ejecutando una versión anterior):

Esto le proporcionará una instalación predeterminada de TensorFlow adecuado para comenzar. Ver el Artículo en Instalación Para conocer las opciones más avanzadas, incluida la instalación de una versión de TensorFlow que aprovecha las GPU de NVIDIA si tiene las bibliotecas CUDA correctas instaladas.

Regresión lineal

Creemos un modelo de regresión lineal easy con el conjunto de datos MTCARS Para demostrar el uso de estimadores. Ilustraremos como Funciones de entrada se puede construir y utilizar para alimentar los datos a un estimador, cómo columnas de características Se puede utilizar para especificar un conjunto de transformaciones para aplicarse a los datos de entrada y cómo estas piezas se unen en la interfaz estimadora.

Función de entrada

Los estimadores pueden recibir datos a través de funciones de entrada. Las funciones de entrada toman una fuente de datos arbitraria (conjuntos de datos en memoria, datos de transmisión, formato de datos personalizados, and so forth.) y generan tensores que se pueden suministrar a los modelos de flujo de tensor. El tfestimators El paquete incluye un input_fn() función que puede crear funciones de entrada de flujo tensor a partir de fuentes de datos R comunes (por ejemplo, marcos de datos y matrices). También es posible escribir una función de entrada completamente personalizada.

Aquí, definimos una función auxiliar que devolverá una función de entrada para un subconjunto de nuestro mtcars conjunto de datos.

library(tfestimators)

# return an input_fn for a given subset of information
mtcars_input_fn <- operate(information) {
  input_fn(information, 
           options = c("disp", "cyl"), 
           response = "mpg")
}

Columnas de características

A continuación, definimos las columnas de características para nuestro modelo. Las columnas de características se utilizan para especificar cómo los tensores recibidos de la función de entrada deben combinarse y transformarse antes de ingresar los pasos de capacitación, evaluación y predicción del modelo. Una columna de características puede ser un mapeo easy para alguna columna de entrada (por ejemplo, column_numeric() Para una columna de datos numéricos), o una transformación de otras columnas de características (por ejemplo, column_crossed() para definir una nueva columna como la cruz de otras dos columnas de características).

Aquí, creamos una lista de columnas de características que contienen dos variables numéricas – disp y cyl:

cols <- feature_columns(
  column_numeric("disp"),
  column_numeric("cyl")
)

También puede definir múltiples columnas de características a la vez:

cols <- feature_columns( 
  column_numeric("disp", "cyl")
)

Al usar la familia de funciones de la columna de características, podemos definir varias transformaciones en los datos antes de usarlos para modelar.

Estimador

A continuación, creamos el estimador llamando al linear_regressor() función y transmitirlo un conjunto de columnas de características:

mannequin <- linear_regressor(feature_columns = cols)

Capacitación

Ahora estamos listos para entrenar nuestro modelo, usando el prepare() función. Dividiremos el mtcars Conjunto de datos en conjuntos de datos de entrenamiento y validación separados, y alimente el conjunto de datos de capacitación en prepare(). Mantendremos a un lado el 20% de los datos para la validación.

indices <- pattern(1:nrow(mtcars), dimension = 0.80 * nrow(mtcars))
prepare <- mtcars[indices, ]
take a look at  <- mtcars[-indices, ]

# prepare the mannequin
mannequin %>% prepare(mtcars_input_fn(prepare))

Evaluación

Podemos evaluar la precisión del modelo utilizando el consider() función, utilizando nuestro conjunto de datos ‘Check’ para la validación.

mannequin %>% consider(mtcars_input_fn(take a look at))

Predicción

Después de haber terminado de capacitar al modelo, podemos usarlo para generar predicciones a partir de nuevos datos.

new_obs <- mtcars[1:3, ]
mannequin %>% predict(mtcars_input_fn(new_obs))

Aprendiendo más

Después de familiarizarse con estos conceptos, estos artículos cubren los conceptos básicos del uso de estimadores de flujo tensor y los componentes principales con más detalle:

Estos artículos describen temas/uso más avanzados:

Una de las mejores maneras de aprender es revisar y experimentar con ejemplos. Ver el Ejemplos Página para una variedad de ejemplos para ayudarlo a comenzar.

Related Articles

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Latest Articles