Exemple #1
0
        pop_size=args.popsize,
        # search_timeout es el tiempo máximo total que queremos dedicarle a la búsqueda en segundos
        search_timeout=args.global_timeout,
        # evaluation_timeout es el tiempo máximo para un pipeline, si la ejecución del pipeline se pasa de este texto
        # se detenine y se le asigna fitness cero.
        evaluation_timeout=args.timeout,
        # cantidad máxima de RAM por pipeline. Este número debe ser inferior a la RAM del dispositivo donde se ejecute la experimentación
        # para evitar que el despositivo de bloquee.
        memory_limit=args.memory * 1024 ** 3,
    ),
    # cross_validation_steps cantidad de veces que se evalúa cada pipeline
    cross_validation_steps=3,
    # validation_split por ciento del tamaño del training set que se utiliza para cross validation.
    validation_split=0.3,
    # cross_validation es la métrica que se utiliza para mezclar los score de los cross_validation_steps. También está "mean"
    cross_validation="median",
    # random_state es un número para fijar la semilla random de la búsqueda. Esto nos puede ayudar a que aparezcan pipelines similares a los de
    # otra ejecución.
    random_state=None,
    # errors determina que se hce cuando un pipeline lanza una excepción. "warn" lanza un wargnig, "ïgnore" los ignora y
    # "raise" que lanza la excepción y detiene la ejecución.
    errors="warn",
)

# Entrenando.....
automl.fit(X_train, y_train)

# Conociemdo que tan bueno es nuestro algoritmo
result = automl.score(X_test, y_test)
print(result)
        with open("haha.log", "a") as fp:
            fp.write(f"solution={repr(new_best)}\nfitness={new_fn}\n\n")


# Basic logging configuration.

logger = MemoryLogger()
loggers = [ProgressLogger(), ConsoleLogger(), logger]

if args.token:
    from autogoal.contrib.telegram import TelegramLogger

    telegram = TelegramLogger(
        token=args.token,
        name=f"HAHA",
        channel=args.channel,
    )
    loggers.append(telegram)

# Finally, loading the HAHA dataset, running the `AutoML` instance,
# and printing the results.

X_train, y_train, X_test, y_test = haha.load(max_examples=args.examples)

classifier.fit(X_train, y_train, logger=loggers)
score = classifier.score(X_test, y_test)

print(score)
print(logger.generation_best_fn)
print(logger.generation_mean_fn)
Exemple #3
0
# ¿Cómo utilizamos esto en la clase AutoML?
automl = AutoML(
    input=(Seq[Sentence], Supervised[VectorCategorical]),  # **tipos de entrada**
    output=VectorCategorical,  # **tipo de salida**
    # tenemos el parámetro score_metric  para definir la función objetivo,
    # que si no le fijamos un valor utiliza por defecto la función `autogoal.ml.metrics.accuracy`.
)

# Ya hasta aquí hemos definido el problema que queremos resolver
# ahora solo nos resta ejecutar nuestro algoritmo, llamando al método `fit`.

# Para monitorear el estado del proceso de AutoML, podemos pasar un logger al método `fit`.
from autogoal.search import RichLogger

# Entrenando...
automl.fit(X_train, y_train, logger=RichLogger())

# Conociemdo que tan bueno es nuestro algoritmo
score = automl.score(X_test, y_test)
print(f"Score: {score:0.3f}")

# Esto significa que nuestro algoritmo el mejor pipeline que encontró reportó un accuracy "result"

# También puede llamarse al método predict que nos hace la predicción para un conjunto de ejemplos

# Prediciendo...
predictions = automl.predict(X_test)

for sentence, real, predicted in zip(X_test[:10], y_test, predictions):
    print(sentence, "-->", real, "vs", predicted)