0%
Machine Learning con H2O

Machine Learning con H2O

Descubre cómo utilizar H2O para el machine learning y la automatización de modelos.

I

InSkillCoach

· min

Machine Learning con H2O

Descubre cómo utilizar H2O para el machine learning y la automatización de modelos.

Configuración Básica

1. Instalación

pip install h2o pandas numpy scikit-learn

2. Inicialización

import h2o
from h2o.automl import H2OAutoML

# Inicialización de H2O
h2o.init()

# Configuración de la memoria
h2o.cluster().show_status()

Preparación de los Datos

1. Carga de los Datos

# Carga desde un archivo CSV
data = h2o.import_file("data.csv")

# Carga desde un DataFrame de pandas
import pandas as pd
df = pd.read_csv("data.csv")
data = h2o.H2OFrame(df)

# División train/test
train, test = data.split_frame(ratios=[0.8], seed=42)

2. Preparación de las Features

# Identificación de las columnas
y = "target"  # Variable objetivo
x = [col for col in data.columns if col != y]

# Conversión de los tipos
data["target"] = data["target"].asfactor()  # Para la clasificación
data["target"] = data["target"].asnumeric()  # Para la regresión

# Gestión de los valores faltantes
data = data.fillna(method="forward")

AutoML con H2O

1. Configuración de AutoML

# Configuración de AutoML
aml = H2OAutoML(
    max_models=10,
    seed=42,
    max_runtime_secs=300,
    sort_metric="AUTO",
    balance_classes=True,
    nfolds=5
)

# Entrenamiento
aml.train(x=x, y=y, training_frame=train)

2. Evaluación de los Modelos

# Leaderboard
lb = aml.leaderboard
print(lb)

# Mejor modelo
best_model = aml.leader

# Predicciones
predictions = best_model.predict(test)

# Métricas de rendimiento
performance = best_model.model_performance(test)
print(performance)

Modelos Específicos

1. Random Forest

from h2o.estimators import H2ORandomForestEstimator

# Configuración del modelo
rf = H2ORandomForestEstimator(
    ntrees=100,
    max_depth=10,
    min_rows=5,
    seed=42
)

# Entrenamiento
rf.train(x=x, y=y, training_frame=train)

# Evaluación
rf_performance = rf.model_performance(test)

2. Gradient Boosting

from h2o.estimators import H2OGradientBoostingEstimator

# Configuración del modelo
gbm = H2OGradientBoostingEstimator(
    ntrees=100,
    max_depth=6,
    learn_rate=0.1,
    seed=42
)

# Entrenamiento
gbm.train(x=x, y=y, training_frame=train)

# Evaluación
gbm_performance = gbm.model_performance(test)

Funcionalidades Avanzadas

1. Feature Engineering

# Creación de nuevas features
data["new_feature"] = data["feature1"] * data["feature2"]

# Codificación categórica
data["categorical"] = data["categorical"].asfactor()

# Normalización
from h2o.preprocessing import H2OScaler
scaler = H2OScaler()
data_scaled = scaler.fit_transform(data)

2. Selección de Features

# Importancia de las features
feature_importance = best_model.varimp(use_pandas=True)
print(feature_importance)

# Selección de las features importantes
important_features = feature_importance[feature_importance["relative_importance"] > 0.01]["variable"]

Guardado y Carga

1. Guardado de los Modelos

# Guardado del modelo
h2o.save_model(best_model, path="models/")

# Guardado de las predicciones
h2o.export_file(predictions, "predictions.csv")

2. Carga de los Modelos

# Carga del modelo
loaded_model = h2o.load_model("models/best_model")

# Uso del modelo cargado
new_predictions = loaded_model.predict(test)

Buenas Prácticas

  1. Preparación de los Datos

    • Limpieza eficaz
    • Feature engineering
    • Gestión de los valores faltantes
    • Normalización
  2. Configuración de los Modelos

    • Hiperparámetros optimizados
    • Validación cruzada
    • Equilibrado de clases
    • Monitorización
  3. Evaluación

    • Métricas apropiadas
    • Validación sobre test
    • Interpretabilidad
    • Documentación

Conclusión

Puntos clave que recordar:

  • AutoML eficaz
  • Modelos de alto rendimiento
  • Feature engineering
  • Evaluación completa

Recomendaciones:

  • Optimizar los hiperparámetros
  • Validar los resultados
  • Documentar los experimentos
  • Formarse en H2O
  • Seguir las buenas prácticas
InSkillCoach

Acerca de InSkillCoach

Experto en formación y tecnologías

Coach especializado en tecnologías avanzadas e IA, impulsado por GNeurone Inc.

Certificaciones:

  • AWS Certified Solutions Architect – Professional
  • Certificaciones de Google Cloud
  • Microsoft Certified: DevOps Engineer Expert
  • Certified Kubernetes Administrator (CKA)
  • CompTIA Security+
606
225

Comentarios

Los comentarios funcionan con GitHub Discussions

Inicia sesión con GitHub para participar en la discusión

¡Enlace copiado!