La inteligencia artificial (IA) se ha convertido en un tema importante y popular en la comunidad tecnológica. A medida que la IA ha evolucionado, hemos visto surgir diferentes tipos de modelos de aprendizaje automático (ML). Un enfoque, conocido como modelado de conjunto, ha estado ganando terreno rápidamente entre los científicos y profesionales de datos. En esta publicación, discutimos qué son los modelos de conjunto y por qué su uso puede ser beneficioso. Luego proporcionamos un ejemplo de cómo puede entrenar, optimizar e implementar sus conjuntos personalizados usando Amazon SageMaker.
El aprendizaje conjunto se refiere al uso de múltiples modelos y algoritmos de aprendizaje para obtener predicciones más precisas que cualquier algoritmo de aprendizaje único e individual. Se ha demostrado que son eficientes en diversas aplicaciones y entornos de aprendizaje, como la ciberseguridad [1] y la detección de fraudes, la detección remota, la predicción de los mejores pasos a seguir en la toma de decisiones financieras, el diagnóstico médico e incluso tareas de procesamiento de lenguaje natural (NLP) y visión por computadora. Tendemos a clasificar los conjuntos por las técnicas utilizadas para entrenarlos, su composición y la forma en que fusionan las diferentes predicciones en una sola inferencia. Estas categorías incluyen:
- Impulso – Capacitar secuencialmente a múltiples alumnos débiles, donde cada predicción incorrecta de los alumnos anteriores en la secuencia recibe un mayor peso e información para el siguiente alumno, creando así un alumno más fuerte. Los ejemplos incluyen AdaBoost, Gradient Boosting y XGBoost.
- Harpillera – Utiliza múltiples modelos para reducir la varianza de un solo modelo. Los ejemplos incluyen Random Forest y Extra Trees.
- Apilamiento (mezcla) – A menudo utiliza modelos heterogéneos, donde las predicciones de cada estimador individual se apilan juntas y se usan como entrada para un estimador final que maneja la predicción. El proceso de entrenamiento de este estimador final a menudo usa validación cruzada.
Existen múltiples métodos para combinar las predicciones en una sola que el modelo finalmente produce, por ejemplo, usando un metaestimador como un aprendiz lineal, un método de votación que usa múltiples modelos para hacer una predicción basada en la votación mayoritaria para las tareas de clasificación, o un promedio de conjunto para la regresión.
Aunque varias bibliotecas y marcos brindan implementaciones de modelos de conjunto, como XGBoost, CatBoost o el bosque aleatorio de scikit-learn, en esta publicación nos enfocamos en traer sus propios modelos y usarlos como un conjunto de apilamiento. Sin embargo, en lugar de usar recursos dedicados para cada modelo (trabajos de entrenamiento y ajuste dedicados y terminales de hospedaje por modelo), entrenamos, ajustamos e implementamos un conjunto personalizado (múltiples modelos) usando un solo trabajo de entrenamiento de SageMaker y un solo trabajo de ajuste, y lo implementamos en un solo punto final, lo que reduce los posibles costos y gastos generales operativos.
BYOE: trae tu propio conjunto
Hay varias formas de entrenar e implementar modelos de conjuntos heterogéneos con SageMaker: puede entrenar cada modelo en un trabajo de entrenamiento separado y optimizar cada modelo por separado usando Ajuste automático de modelos de Amazon SageMaker. Al alojar estos modelos, SageMaker ofrece varias formas rentables de alojar varios modelos en la misma infraestructura de arrendatario. Los patrones de implementación detallados para este tipo de configuración se pueden encontrar en Patrones de hospedaje de modelos en Amazon SageMaker, Parte 1: Patrones de diseño comunes para crear aplicaciones de aprendizaje automático en Amazon SageMaker. Estos patrones incluyen el uso de múltiples puntos finales (para cada modelo entrenado) o un solo punto final de varios modelos, o incluso uno solo punto final de varios contenedores donde los contenedores se pueden invocar individualmente o encadenados en una canalización. Todas estas soluciones incluyen un metaestimador (por ejemplo en un AWS Lambda función) que invoca cada modelo e implementa la función de mezcla o votación.
Sin embargo, la ejecución de varios trabajos de capacitación puede generar gastos generales operativos y de costos, especialmente si su conjunto requiere capacitación sobre los mismos datos. De manera similar, hospedar diferentes modelos en puntos finales o contenedores separados y combinar sus resultados de predicción para una mayor precisión requiere múltiples invocaciones y, por lo tanto, presenta esfuerzos adicionales de administración, costo y monitoreo. Por ejemplo, SageMaker admite ensamblar modelos ML utilizando Triton Inference Server, pero esta solución requiere que los modelos o conjuntos de modelos sean compatibles con el backend de Triton. Además, se requieren esfuerzos adicionales por parte del cliente para configurar el servidor Triton y aprendizaje adicional para comprender cómo funcionan los diferentes backends de Triton. Por lo tanto, los clientes prefieren una forma más sencilla de implementar soluciones donde solo necesitan enviar la invocación una vez al punto final y tienen la flexibilidad de controlar cómo se agregan los resultados para generar el resultado final.
Resumen de la solución
Para abordar estas inquietudes, analizamos un ejemplo de capacitación de conjunto utilizando un único trabajo de capacitación, optimizando los hiperparámetros del modelo e implementándolo mediante un único contenedor en un punto final sin servidor. Usamos dos modelos para nuestra pila de conjuntos: CatBoost y XGBoost (ambos son conjuntos potenciadores). Para nuestros datos, utilizamos el conjunto de datos de diabetes [2] de la biblioteca scikit-learn: consta de 10 características (edad, sexo, masa corporal, presión arterial y seis mediciones de suero sanguíneo), y nuestro modelo predice la progresión de la enfermedad 1 año después de recopilar las características de referencia (una regresión modelo).
El repositorio de código completo se puede encontrar en GitHub.
Entrene varios modelos en un solo trabajo de SageMaker
Para entrenar nuestros modelos, usamos trabajos de entrenamiento de SageMaker en modo Script. Con el modo Script, puede escribir capacitación personalizada (y código de inferencia posterior) mientras usa los contenedores del marco de trabajo de SageMaker. Los contenedores de Framework le permiten utilizar entornos listos para usar administrados por AWS que incluyen toda la configuración y los módulos necesarios. Para demostrar cómo puede personalizar un contenedor de marco, como ejemplo, usamos el contenedor SKLearn preconstruido, que no incluye los paquetes XGBoost y CatBoost. Hay dos opciones para agregar estos paquetes: o bien extender el contenedor incorporado para instalar CatBoost y XGBoost (y luego implementar como un contenedor personalizado) o usar la función de modo de secuencia de comandos de trabajo de capacitación de SageMaker, que le permite proporcionar una requirements.txt
archivo al crear el estimador de entrenamiento. El trabajo de capacitación de SageMaker instala las bibliotecas enumeradas en el requirements.txt
archivo durante el tiempo de ejecución. De esta manera, no necesita administrar su propio repositorio de imágenes de Docker y brinda más flexibilidad para ejecutar scripts de capacitación que necesitan paquetes de Python adicionales.
El siguiente bloque de código muestra el código que usamos para iniciar el entrenamiento. El entry_point
El parámetro apunta a nuestro script de entrenamiento. También usamos dos de las atractivas funciones de la API del SDK de SageMaker:
- Primero, especificamos la ruta local a nuestro directorio de origen y las dependencias en el
source_dir
ydependencies
parámetros, respectivamente. El SDK comprimirá y cargará esos directorios en Servicio de almacenamiento simple de Amazon (Amazon S3) y SageMaker los pondrá a disposición en la instancia de capacitación en el directorio de trabajo/opt/ml/code
. - En segundo lugar, usamos el SDK
SKLearn
objeto estimador con nuestra versión preferida de Python y framework, para que SageMaker extraiga el contenedor correspondiente. También hemos definido una métrica de entrenamiento personalizada 'validation:rmse
', que será emitido en los registros de entrenamiento y capturado por SageMaker. Posteriormente, usamos esta métrica como la métrica objetiva en el trabajo de ajuste.
hyperparameters = {"num_round": 6, "max_depth": 5}
estimator_parameters = {
"entry_point": "multi_model_hpo.py",
"source_dir": "code",
"dependencies": ["my_custom_library"],
"instance_type": training_instance_type,
"instance_count": 1,
"hyperparameters": hyperparameters,
"role": role,
"base_job_name": "xgboost-model",
"framework_version": "1.0-1",
"keep_alive_period_in_seconds": 60,
"metric_definitions":[
{'Name': 'validation:rmse', 'Regex': 'validation-rmse:(.*?);'}
]
}
estimator = SKLearn(**estimator_parameters)
A continuación, escribimos nuestro script de entrenamiento (multi_modelo_hpo.py). Nuestro script sigue un flujo simple: capturar hiperparámetros con el que se configuró el trabajo y entrenar el modelo CatBoost y Modelo XGBoost. También implementamos un cruz k-doblada función de validación. Ver el siguiente código:
if __name__ == "__main__":
parser = argparse.ArgumentParser() # Sagemaker specific arguments. Defaults are set in the environment variables.
parser.add_argument("--output-data-dir", type=str, default=os.environ["SM_OUTPUT_DATA_DIR"])
parser.add_argument("--model-dir", type=str, default=os.environ["SM_MODEL_DIR"])
parser.add_argument("--train", type=str, default=os.environ["SM_CHANNEL_TRAIN"])
parser.add_argument("--validation", type=str, default=os.environ["SM_CHANNEL_VALIDATION"])
.
.
.
"""
Train catboost
"""
K = args.k_fold
catboost_hyperparameters = {
"max_depth": args.max_depth,
"eta": args.eta,
}
rmse_list, model_catboost = cross_validation_catboost(train_df, K, catboost_hyperparameters)
.
.
.
"""
Train the XGBoost model
""" hyperparameters = {
"max_depth": args.max_depth,
"eta": args.eta,
"objective": args.objective,
"num_round": args.num_round,
} rmse_list, model_xgb = cross_validation(train_df, K, hyperparameters)
Después de entrenar los modelos, calculamos la media de las predicciones de CatBoost y XGBoost. El resultado, pred_mean
, es la predicción final de nuestro conjunto. Luego, determinamos la mean_squared_error
contra el conjunto de validación. val_rmse
se utiliza para la evaluación de todo el conjunto durante el entrenamiento. Tenga en cuenta que también imprimimos el valor RMSE en un patrón que se ajusta a la expresión regular que usamos en el metric_definitions
. Posteriormente, SageMaker Automatic Model Tuning lo usará para capturar la métrica objetiva. Ver el siguiente código:
pred_mean = np.mean(np.array([pred_catboost, pred_xgb]), axis=0)
val_rmse = mean_squared_error(y_validation, pred_mean, squared=False)
print(f"Final evaluation result: validation-rmse:{val_rmse}")
Finalmente, nuestro script guarda ambos artefactos del modelo en la carpeta de salida ubicada en /opt/ml/model
.
Cuando finaliza un trabajo de capacitación, SageMaker empaqueta y copia el contenido del /opt/ml/model
directorio como un solo objeto en formato TAR comprimido a la ubicación de S3 que especificó en la configuración del trabajo. En nuestro caso, SageMaker agrupa los dos modelos en un archivo TAR y lo carga en Amazon S3 al final del trabajo de capacitación. Ver el siguiente código:
model_file_name = 'catboost-regressor-model.dump'
# Save CatBoost model
path = os.path.join(args.model_dir, model_file_name)
print('saving model file to {}'.format(path))
model.save_model(path)
.
.
.
# Save XGBoost model
model_location = args.model_dir + "/xgboost-model"
pickle.dump(model, open(model_location, "wb"))
logging.info("Stored trained model at {}".format(model_location))
En resumen, debe notar que en este procedimiento descargamos los datos una vez y entrenamos dos modelos usando un solo trabajo de entrenamiento.
Ajuste automático del modelo de conjunto
Debido a que estamos creando una colección de modelos de ML, no es práctico explorar todas las posibles permutaciones de hiperparámetros. Ofertas de SageMaker Sintonización automática de modelos (AMT), que busca los mejores hiperparámetros del modelo centrándose en las combinaciones de valores más prometedoras dentro de los rangos que especifique (depende de usted definir los rangos correctos para explorar). SageMaker admite varios métodos de optimización para que usted pueda elegir.
Comenzamos definiendo las dos partes del proceso de optimización: la métrica objetiva y los hiperparámetros que queremos ajustar. En nuestro ejemplo, usamos la validación RMSE como la métrica de destino y ajustamos eta
y max_depth
(para otros hiperparámetros, consulte Hiperparámetros XGBoost y Hiperparámetros CatBoost):
from sagemaker.tuner import (
IntegerParameter,
ContinuousParameter,
HyperparameterTuner,
) hyperparameter_ranges = {
"eta": ContinuousParameter(0.2, 0.3),
"max_depth": IntegerParameter(3, 4)
}
metric_definitions = [{"Name": "validation:rmse", "Regex": "validation-rmse:([0-9.]+)"}]
objective_metric_name = "validation:rmse"
También tenemos que asegurarnos en el guion de entrenamiento que nuestros hiperparámetros no están codificados y se extraen de los argumentos de tiempo de ejecución de SageMaker:
catboost_hyperparameters = {
"max_depth": args.max_depth,
"eta": args.eta,
}
SageMaker también escribe los hiperparámetros en un archivo JSON y se puede leer desde /opt/ml/input/config/hyperparameters.json
en la instancia de entrenamiento.
Al igual que CatBoost, también capturamos los hiperparámetros para el modelo XGBoost (observe que objective
y num_round
no están sintonizados):
catboost_hyperparameters = {
"max_depth": args.max_depth,
"eta": args.eta,
}
Finalmente, lanzamos el trabajo de ajuste de hiperparámetros usando estas configuraciones:
tuner = HyperparameterTuner(
estimator,
objective_metric_name,
hyperparameter_ranges,
max_jobs=4,
max_parallel_jobs=2,
objective_type='Minimize'
)
tuner.fit({"train": train_location, "validation": validation_location}, include_cls_metadata=False)
Cuando se completa el trabajo, puede recuperar los valores para el mejor trabajo de entrenamiento (con un RMSE mínimo):
job_name=tuner.latest_tuning_job.name
attached_tuner = HyperparameterTuner.attach(job_name)
attached_tuner.describe()["BestTrainingJob"]
Para obtener más información sobre AMT, consulte Realice el ajuste automático del modelo con SageMaker.
Despliegue
Para implementar nuestro conjunto personalizado, debemos proporcionar un script para manejar la solicitud de inferencia y configurar el alojamiento de SageMaker. En este ejemplo, usamos un solo archivo que incluye tanto el código de entrenamiento como el de inferencia (multi_modelo_hpo.py). SageMaker usa el código debajo de if _ name _ == "_ main _"
para la formación y las funciones model_fn
, input_fn
y predict_fn
al implementar y servir el modelo.
Guión de inferencia
Al igual que con el entrenamiento, usamos el contenedor del marco SageMaker SKLearn con nuestro propio script de inferencia. El script implementará tres métodos requeridos por SageMaker.
En primer lugar, la model_fn
El método lee nuestros archivos de artefactos de modelo guardados y los carga en la memoria. En nuestro caso, el método devuelve nuestro conjunto como all_model
, que es una lista de Python, pero también puede usar un diccionario con nombres de modelos como claves.
def model_fn(model_dir):
catboost_model = CatBoostRegressor()
catboost_model.load_model(os.path.join(model_dir, model_file_name))
model_file = "xgboost-model"
model = pickle.load(open(os.path.join(model_dir, model_file), "rb"))
all_model = [catboost_model, model]
return all_model
En segundo lugar, la input_fn
El método deserializa los datos de entrada de la solicitud para pasarlos a nuestro controlador de inferencia. Para obtener más información sobre los controladores de entrada, consulte Adaptando su propio contenedor de inferencia.
def input_fn(input_data, content_type):
dtype=None
payload = StringIO(input_data)
return np.genfromtxt(payload, dtype=dtype, delimiter=",")
En tercer lugar, la predict_fn
El método es responsable de obtener predicciones de los modelos. El método toma el modelo y los datos devueltos de input_fn
como parámetros y devuelve la predicción final. En nuestro ejemplo, obtenemos el resultado de CatBoost del primer miembro de la lista de modelos (model[0]
) y el XGBoost del segundo miembro (model[1]
), y usamos una función de combinación que devuelve la media de ambas predicciones:
def predict_fn(input_data, model):
predictions_catb = model[0].predict(input_data)
dtest = xgb.DMatrix(input_data)
predictions_xgb = model[1].predict(dtest,
ntree_limit=getattr(model, "best_ntree_limit", 0),
validate_features=False)
return np.mean(np.array([predictions_catb, predictions_xgb]), axis=0)
Ahora que tenemos nuestros modelos entrenados y el script de inferencia, podemos configurar el entorno para implementar nuestro conjunto.
Inferencia sin servidor de SageMaker
A pesar de que hay muchas opciones de alojamiento en SageMaker, en este ejemplo, usamos un punto final sin servidor. Los puntos finales sin servidor inician automáticamente los recursos informáticos y los escalan hacia adentro y hacia afuera según el tráfico. Esto elimina el trabajo pesado indiferenciado de administrar servidores. Esta opción es ideal para cargas de trabajo que tienen períodos de inactividad entre picos de tráfico y pueden tolerar arranques en frío.
Configurar el punto final sin servidor es sencillo porque no necesitamos elegir tipos de instancias ni administrar políticas de escalado. Solo necesitamos proporcionar dos parámetros: tamaño de memoria y concurrencia máxima. El extremo sin servidor asigna automáticamente recursos informáticos proporcionales a la memoria que seleccione. Si elige un tamaño de memoria más grande, su contenedor tiene acceso a más vCPU. Siempre debe elegir el tamaño de memoria de su terminal de acuerdo con el tamaño de su modelo. El segundo parámetro que debemos proporcionar es la concurrencia máxima. Para un solo punto de enlace, este parámetro se puede configurar hasta 200 (a partir de este escrito, el límite para la cantidad total de puntos de enlace sin servidor en una región es 50). Debe tener en cuenta que la simultaneidad máxima para un punto final individual evita que ese punto final utilice todas las invocaciones permitidas para su cuenta, porque cualquier invocación de punto final que supere el máximo se limita (para obtener más información sobre la simultaneidad total para todos los puntos finales sin servidor por región, consulte a Puntos de enlace y cuotas de Amazon SageMaker).
from sagemaker.serverless.serverless_inference_config import ServerlessInferenceConfig
serverless_config = ServerlessInferenceConfig(
memory_size_in_mb=6144,
max_concurrency=1,
)
Ahora que configuramos el punto final, finalmente podemos implementar el modelo que se seleccionó en nuestro trabajo de optimización de hiperparámetros:
estimator=attached_tuner.best_estimator()
predictor = estimator.deploy(serverless_inference_config=serverless_config)
Limpiar
Aunque los puntos finales sin servidor tienen un costo cero cuando no se utilizan, cuando haya terminado de ejecutar este ejemplo, debe asegurarse de eliminar el punto final:
predictor.delete_endpoint(predictor.endpoint)
Conclusión
En esta publicación, cubrimos un enfoque para entrenar, optimizar e implementar un conjunto personalizado. Detallamos el proceso de usar un solo trabajo de entrenamiento para entrenar varios modelos, cómo usar el ajuste automático del modelo para optimizar los hiperparámetros del conjunto y cómo implementar un único punto final sin servidor que combina las inferencias de varios modelos.
El uso de este método resuelve posibles problemas operativos y de costos. El costo de un trabajo de capacitación se basa en los recursos que utiliza durante la duración del uso. Al descargar los datos solo una vez para entrenar los dos modelos, redujimos a la mitad la fase de descarga de datos del trabajo y el volumen usado que almacena los datos, reduciendo así el costo total del trabajo de entrenamiento. Además, el trabajo de AMT ejecutó cuatro trabajos de capacitación, cada uno con el tiempo y el almacenamiento reducidos antes mencionados, ¡lo que representa un ahorro de costos 4 veces mayor! Con respecto a la implementación del modelo en un punto final sin servidor, debido a que también paga por la cantidad de datos procesados, al invocar el punto final solo una vez para dos modelos, paga la mitad de los cargos de datos de E/S.
Aunque esta publicación solo mostró los beneficios con dos modelos, puede usar este método para entrenar, ajustar e implementar numerosos modelos de conjuntos para ver un efecto aún mayor.
Referencias
[1] Raj Kumar, P. Arun; Selvakumar, S. (2011). “Detección de ataques de denegación de servicio distribuido utilizando un conjunto de clasificador neuronal”. Comunicaciones Informáticas. 34 (11): 1328–1341. doi:10.1016/j.comcom.2011.01.012.
[2] Bradley Efron, Trevor Hastie, Iain Johnstone y Robert Tibshirani (2004) “Regresión de ángulo mínimo”, Annals of Statistics (con discusión), 407-499. (https://web.stanford.edu/~hastie/Papers/LARS/LeastAngle_2002.pdf)
Acerca de los autores
Dra. Melanie Li, es TAM especialista sénior en AI/ML en AWS con sede en Sídney, Australia. Ayuda a los clientes empresariales a crear soluciones aprovechando las herramientas de inteligencia artificial y aprendizaje automático de última generación en AWS y brinda orientación sobre la arquitectura y la implementación de soluciones de aprendizaje automático con las mejores prácticas. En su tiempo libre, le encanta explorar la naturaleza al aire libre y pasar tiempo con su familia y amigos.
uri rosenberg es el gerente técnico especialista en inteligencia artificial y aprendizaje automático para Europa, Medio Oriente y África. Con sede en Israel, Uri trabaja para empoderar a los clientes empresariales para que diseñen, construyan y operen cargas de trabajo de ML a escala. En su tiempo libre, disfruta andar en bicicleta, caminar y minimizar los RMSE.
- Distribución de relaciones públicas y contenido potenciado por SEO. Consiga amplificado hoy.
- PlatoData.Network Vertical Generativo Ai. Empodérate. Accede Aquí.
- PlatoAiStream. Inteligencia Web3. Conocimiento amplificado. Accede Aquí.
- PlatoESG. Automoción / vehículos eléctricos, Carbón, tecnología limpia, Energía, Ambiente, Solar, Gestión de residuos. Accede Aquí.
- Desplazamientos de bloque. Modernización de la propiedad de compensaciones ambientales. Accede Aquí.
- Fuente: https://aws.amazon.com/blogs/machine-learning/efficiently-train-tune-and-deploy-custom-ensembles-using-amazon-sagemaker/
- :posee
- :es
- :no
- :dónde
- ][pag
- $ UP
- 1
- 10
- 100
- 11
- 200
- 2011
- 50
- 60
- 7
- a
- Nuestra Empresa
- de la máquina
- Conforme
- Mi Cuenta
- la exactitud
- preciso
- add
- Adicionales
- Adicionalmente
- dirección
- África
- Después
- en contra
- edad
- AI
- AI / ML
- algoritmo
- algoritmos
- Todos
- permitido
- permite
- también
- hacerlo
- Amazon
- Amazon SageMaker
- Amazon Web Services
- entre
- cantidad
- an
- y
- cualquier
- aplicaciones
- enfoque
- somos
- argumentos
- AS
- At
- atacar
- Australia
- Automático
- automáticamente
- Hoy Disponibles
- promedio
- lejos
- AWS
- Backend
- basado
- Base
- BE
- porque
- a las que has recomendado
- esto
- "Ser"
- beneficioso
- beneficios
- MEJOR
- y las mejores prácticas
- mejores
- entre
- Más allá de
- mezcla
- combina
- Bloquear
- sangre
- Presión sanguínea
- cuerpo
- impulsar
- ambas
- llevar
- Trayendo
- build
- Construir la
- incorporado
- manojos
- pero
- by
- calcular
- PUEDEN
- capturar
- capturado
- case
- categoría
- encadenado
- cargos
- Elige
- clasificación
- código
- frío
- --
- combinaciones
- combinar
- Algunos
- Comunicaciónes
- vibrante e inclusiva
- irresistible
- completar
- Calcular
- computadora
- Visión por computador
- Inquietudes
- Configuración
- configurado
- consiste
- Envase
- Contenedores
- contenido
- control
- Correspondiente
- Cost
- rentable
- cubierto
- Creamos
- personalizado
- cliente
- Clientes
- personalizan
- La Ciberseguridad
- datos
- Toma de Decisiones
- a dedicados
- por defecto
- definir
- se define
- definir
- demostrar
- Denegación de servicio
- Dependiente
- desplegar
- Desplegando
- despliegue
- Diseño
- patrones de diseño
- detallado
- Detección
- Determinar
- una experiencia diferente
- directorios
- discutir
- discusión
- Enfermedades
- diverso
- Docker
- No
- No
- descargar
- arrojar
- duración
- durante
- cada una
- Este
- efecto
- eficiente
- eficiente.
- esfuerzos
- ya sea
- surgir
- empoderar a
- habilitar
- final
- Punto final
- garantizar
- Empresa
- Entorno
- ambientes
- especialmente
- Europa
- evaluación
- Incluso
- evolucionado
- ejemplo
- ejemplos
- explorar
- Explorar
- extra
- familia
- Feature
- Caracteristicas
- Archive
- archivos
- final
- Finalmente
- financiero
- Nombre
- Flexibilidad
- de tus señales
- Focus
- enfoque
- siguiendo
- siguiente
- bosque
- formato
- encontrado
- Digital XNUMXk
- Marco conceptual
- marcos
- fraude
- detección de fraude
- amigos
- Desde
- ser completados
- función
- funciones
- Además
- Obtén
- ganando
- generar
- obtener
- conseguir
- dado
- mayor
- guía
- A Mitad
- encargarse de
- Manijas
- Tienen
- he
- pesado
- levantar objetos pesados
- ayuda
- aquí
- más alto
- su
- fortaleza
- hosting
- Cómo
- Como Hacer
- Sin embargo
- HTML
- http
- HTTPS
- Optimización de hiperparámetros
- Ajuste de hiperparámetros
- ideal
- Idle
- if
- imagen
- implementar
- implementación
- implementos
- importante
- in
- incluir
- incluye
- INSTRUMENTO individual
- Individualmente
- información
- EN LA MINA
- Las opciones de entrada
- instalar
- ejemplo
- Intelligence
- dentro
- introducir
- Presenta
- invocado
- invoca
- Israel
- cuestiones
- IT
- Trabajos
- Empleo
- jpg
- json
- claves
- Tipo
- conocido
- idioma
- mayores
- luego
- lanzamiento
- aprendizaje
- aprovechando
- Li
- bibliotecas
- Biblioteca
- cirugía estética
- LIMITE LAS
- Lista
- Listado
- cargas
- local
- situados
- Ubicación
- registro
- MIRADAS
- ama
- máquina
- máquina de aprendizaje
- Inicio
- Mayoría
- para lograr
- gestionan
- gestionado
- Management
- gerente
- administrar
- Misa
- máximas
- personalizado
- medidas
- servicios
- miembro
- Salud Cerebral
- ir
- Método
- métodos
- métrico
- Ed. Media
- Oriente Medio
- podría
- mínimo
- minimizando
- ML
- Moda
- modelo
- modelos
- Módulos
- monitoreo
- más,
- MEJOR DE TU
- múltiples
- nombre
- nombres
- Natural
- Procesamiento natural del lenguaje
- Naturaleza
- necesario
- ¿ Necesita ayuda
- Next
- nlp
- Aviso..
- número
- numeroso
- objeto
- objetivo
- of
- Ofertas
- a menudo
- on
- una vez
- ONE
- , solamente
- funcionar
- operativos.
- optimización
- Optimización
- optimizando
- Optión
- Opciones
- or
- OS
- Otro
- nuestros
- salir
- al exterior
- salida
- total
- EL DESARROLLADOR
- paquetes
- parámetro
- parámetros
- parte
- partes
- pasado
- camino
- Patrón de Costura
- .
- Pagar
- (PDF)
- para
- períodos
- fase
- industrial
- Platón
- Inteligencia de datos de Platón
- PlatónDatos
- puntos
- políticas
- Popular
- posible
- Publicación
- posible
- prácticas
- predecir
- predicción
- Predicciones
- Predictor
- Predice
- preferir
- preferido
- presión
- evita
- anterior
- Imprimir
- procedimientos
- Procesado
- tratamiento
- producir
- progresión
- prometedor
- probado
- proporcionar
- proporciona un
- Python
- azar
- rápidamente
- Leer
- reducir
- Reducción
- la reducción de
- se refiere
- Considerar
- expresiones regulares
- región
- sanaciones
- repositorio
- representar
- solicita
- Requisitos
- requiere
- Recursos
- respectivamente
- responsable
- resultado
- Resultados
- volvemos
- devoluciones
- Derecho
- ROBERT
- Función
- Ejecutar
- correr
- s
- sabio
- Ajuste automático de modelos de SageMaker
- mismo
- Guardar
- ahorro
- Escala
- la ampliación
- los científicos
- scikit-aprender
- guiones
- Sdk
- Segundo
- ver
- visto
- seleccionado
- envío
- mayor
- separado
- Secuencia
- Serum
- Sin servidor
- Servidores
- de coches
- Servicios
- servicio
- set
- ajustes
- Varios
- Sexo
- ella
- tienes
- mostró
- Shows
- Del mismo modo
- sencillos
- soltero
- SEIS
- Tamaño
- So
- a medida
- Soluciones
- Resuelve
- Fuente
- especialista
- soluciones y
- especificado
- pasar
- montón
- apilado
- apilado
- stanford
- comienzo
- comienza
- el estado de la técnica
- statistics
- pasos
- STORAGE
- almacenados
- tiendas
- sencillo
- más fuerte
- tal
- RESUMEN
- Soportado
- soportes
- seguro
- Sydney
- toma
- toma
- Target
- tareas
- Técnico
- técnicas
- Tecnología
- inquilino
- que
- esa
- La
- su
- Les
- luego
- Ahí.
- de este modo
- por lo tanto
- Estas
- ellos
- así
- aquellos
- ¿aunque?
- Tres
- A través de esta formación, el personal docente y administrativo de escuelas y universidades estará preparado para manejar los recursos disponibles que derivan de la diversidad cultural de sus estudiantes. Además, un mejor y mayor entendimiento sobre estas diferencias y similitudes culturales permitirá alcanzar los objetivos de inclusión previstos.
- equipo
- veces
- a
- juntos
- tema
- Total
- tracción
- tráfico
- Entrenar
- entrenado
- Formación
- Los árboles
- Trevor
- Tritón
- dos
- tipos
- bajo
- entender
- Uso
- utilizan el
- usado
- usos
- usando
- validación
- propuesta de
- Valores
- diversos
- versión
- visión
- volumen
- Votar
- quieres
- fue
- Camino..
- formas
- we
- web
- servicios web
- peso
- tuvieron
- ¿
- cuando
- que
- mientras
- todo
- porque
- seguirá
- dentro de
- Actividades:
- trabajando
- funciona
- escribir
- la escritura
- XGBoost
- año
- Usted
- tú
- zephyrnet
- cero