Pesquisa de grade CV em Sklearn

Pesquisa de grade CV em Sklearn

“As variáveis ​​de um modelo de aprendizado de máquina que determinam como os parâmetros serão ajustados são conhecidos como hiperparâmetros. O problema de selecionar um grupo de hiperparâmetros ideais para um algoritmo de aprendizado é conhecido como ajuste de hiperparâmetro. Os hiperparâmetros podem ser configurados manualmente ou automaticamente. Existem numerosos algoritmos disponíveis para este ajuste. Um desses métodos, GridSearchcv, será abordado neste blog.”

O que são hiperparâmetros?

Podemos ajustar os parâmetros do modelo usando dados existentes para treinar um modelo. Outra classe de parâmetros não pode ser aprendida imediatamente através do treinamento de rotina. Esses parâmetros representam as características de "nível superior" do modelo, como complexidade e taxa de aprendizado. Hyperparameters é o termo para eles. Normalmente, os hiperparâmetros são ajustados antes do início do treinamento.

O que é uma pesquisa de grade cv?

A pesquisa em grade avalia o desempenho de cada combinação possível dos hiperparâmetros e seus valores, escolhe a combinação com o melhor desempenho e toma essa combinação como ponto de partida. Com tantos hiperparâmetros envolvidos, o processamento se torna demorado e caro. Validação cruzada é feita no GridSearchCV, além de pesquisa de grade. Validação cruzada é empregada enquanto o modelo é treinado para validar os resultados contra um conjunto de dados.

Pesquisa de grade em dois hiperparâmetros (fonte: Wikipedia)

Como funciona a pesquisa de grade?

Em sua forma mais básica, a pesquisa de grade é um método que usa força bruta para estimar hiperparâmetros. Digamos que você tenha k hyperparameters, e existem valores possíveis para cada um deles. Tomar um produto cartesiano desses valores potenciais é essencialmente o que é a pesquisa de grade. Embora a pesquisa de grade possa parecer altamente ineficiente, ela pode ser acelerada usando processamento paralelo.

Implementando a pesquisa de grade em Sklearn

# Importando as bibliotecas e aulas
De Sklearn Import SVM, conjuntos de dados
de Sklearn.Model_Selection Import GridSearchCV
# carregando o conjunto de dados da íris
dados = conjuntos de dados.load_iris ()
# Especificando o espaço e o algoritmo dos parâmetros
parâmetros = 'kernel' :( 'linear', 'rbf'), 'c': [5, 20]
# Criando o modelo
svc = svm.Svc ()
# Criando a instância do GridSearch
CLF = GridSearchcv (SVC, parâmetros)
# ajustando o modelo
Imprimir (clf.ajuste (dados.dados, dados.alvo))
# imprimindo os resultados
Imprimir (clf.cv_results_.chaves())

Saída

Gridsearchcv (estimador = svc (),
param_grid = 'c': [5, 20], 'kernel': ('linear', 'rbf'))
dict_keys (['Mean_fit_time', 'std_fit_time', 'Mean_Score_time', 'std_score_time', 'param_c', 'param_kernel', 'params', 'split0_test_score', 'split1_test_score', 'split2_test_test_score', 'split1_test_score', 'split2_te , 'Mean_Test_Score', 'std_test_score', 'rank_test_score'])

Conclusão

Este artigo falou sobre como ajustar os hiperparâmetros usando o GridSearchcv e sua implementação. No aprendizado de máquina, os hiperparâmetros são parâmetros que o usuário define diretamente para regular o processo de aprendizado. Esses hiperparâmetros são empregados para aprimorar o processo de aprendizado do modelo. O ajuste hiperparâmetro envolve determinar os valores ideais para vários parâmetros. A Sklearn oferece a classe “Seleção de modo”, que nos permite gerar instâncias de pesquisa de grade e usá -las para nossos fins.