1
resposta

Tempo

X_dev, X_eval, Y_dev, Y_eval = train_test_split(X, Y, train_size = 0.75, random_state = 23)
Y_dev = Y_dev.apply(lambda x: 1 if x == 0 else -1)
Y_eval = Y_eval.apply(lambda x: 1 if x == 0 else -1)

IF = IsolationForest(max_samples="auto", contamination = 0.095, random_state=1)
param_grid = {"n_estimators": [100, 150, 200, 250, 300, 350, 400, 450, 500]}

clf = GridSearchCV(IF,
                param_grid,
                cv=5,
                n_jobs=10,
                scoring="f1",
                verbose=10)

_ = clf.fit(X_dev, Y_dev)

Esse código demora quanto tempo para ser executado? O meu já está carregando a 30minutos e ainda não executou, ou eu errei em alguma parte?

1 resposta

Oi Lucas! Tudo bem com você?

Os códigos desse curso demoram muito tempo mesmo, são muitos dados e muitos processos montados o que faz a execução ficar lenta. Além desse fator existe também as propriedades da máquina como o processador, a RAM e até a placa de vídeo que às vezes podem não ajudar muito no processamento do código.

Mas para acelerar, uma alteração que pode ajudar com a velocidade do seu código é diminuir o valor dos parâmetros cv e n_jobs do método GridSearchCV, que estão executando vários passos e várias iterações, deixando sua execução mais lenta. Então você pode utilizar a seguinte estrutura para a montagem do método GridSearchCV sem muito prejuízo no resultado final obtido por você:

clf = GridSearchCV(IF,
                   param_grid,
                   cv=2,
                   n_jobs=3,
                   scoring="f1",
                   verbose=10)

Eu espero ter te ajudado! Se surgir outra dúvida estarei à disposição.

Bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.Bons Estudos!