A validação cruzada ajuda na avaliação dos modelos de aprendizagem de máquinas. Este método estatístico ajuda na comparação e selecção do modelo na aprendizagem aplicada à máquina. A compreensão e implementação deste problema de modelação preditiva é fácil e directa. Esta técnica tem um menor enviesamento ao mesmo tempo que estima as competências do modelo. Este artigo irá ajudá-lo a compreender o conceito de validação cruzada k-fold e como se pode avaliar um modelo de aprendizagem de máquina utilizando esta técnica.

Validação cruzada de K-Fold

A validação cruzada de k-dobra significa que o conjunto de dados se divide num número K. Divide-se o conjunto de dados no ponto em que o conjunto de testes utiliza cada dobra. Vamos compreender o conceito com a ajuda da validação cruzada de 5 vezes ou K+5. Neste cenário, o método dividirá o conjunto de dados em cinco dobras. O modelo utiliza a primeira dobra na primeira iteração para testar o modelo. Utiliza os conjuntos de dados restantes para treinar o modelo. A segunda dobra ajuda a testar o conjunto de dados e outros apoios com o processo de formação. O mesmo processo repete-se até que o conjunto de testes utilize cada uma das cinco dobras.

Validação cruzada do K-Fold na aprendizagem mecânica

Juntamente com numerosos benefícios dos algoritmos de aprendizagem de máquinas, o modelo segue o mesmo modelo para prever e gerar os dados de valores discretos ou contínuos. É essencial assegurar que os dados do modelo são precisos e não são sub ou sobreajustados. O subequipamento e o sobreequipamento são dois conceitos principais da aprendizagem de máquinas. Estes termos definem a forma como um modelo é treinado para prever os dados. Para verificar o desempenho e comportamento do algoritmo, o sobreajustamento inclui um valor Hiperparamétrico.

-O sobreajustamento na aprendizagem de máquinas

O modelo pode gerar previsões precisas com novos dados quando o modelo encaixa perfeitamente de acordo com o conjunto de dados. Um algoritmo apropriado para o conjunto de dados treinado pode ajudar a treinar o novo conjunto de dados. Além disso, se o modelo de aprendizagem da máquina se basear num processo de formação inadequado, não irá gerar dados exactos ou previsões adequadas. Por conseguinte, o modelo não processará padrões importantes a partir de conjuntos de dados.
Quando o modelo parar durante o processo de formação, levará a uma subaproveitamento. Isto indica que os dados requerem mais tempo para serem completamente processados. Isto irá afectar o desempenho do modelo para novos dados. O modelo não produzirá resultados precisos e não terá qualquer utilidade.

-Overfitting na aprendizagem de máquinas

O sobreajustamento é simplesmente o oposto do subajustamento. Isto significa que, além de aprender os dados e extrair o padrão, o modelo está a aprender mais do que a sua capacidade. Esta condição indica que os dados irão captar o ruído, levando-o a generalizar o modelo para novos dados. O ruído é o dado irrelevante que afecta a produção da previsão ao mesmo tempo que se depara com novos dados.

Avaliação de um modelo ML utilizando a validação cruzada K-Fold Cross-Validation

A seguir, avaliaremos o modelo de regressão simples utilizando a técnica de validação cruzada de dobra K. Neste exemplo, efectuaremos uma validação cruzada de 10 vezes.

1.Importar bibliotecas

O primeiro passo é importar todas as bibliotecas necessárias para executar esta técnica de validação cruzada num modelo simples de aprendizagem mecânica.
importar pandas
de sklearn.model_selection import KFold
Do sklearn.preprocessing importação MinMaxScaler
de sklearn.svm importação SVR
importação NumPy como np
Estas bibliotecas ajudarão a realizar diferentes tarefas:

  • Numpy-Helps ajuda-o a realizar a computação científica
  • Pandas – Ajuda-o a manipular facilmente a estrutura de dados.
  • Sklearn-É uma biblioteca de aprendizagem de máquinas que pode utilizar para python.

2.Ler o conjunto de dados

Agora, irá ler o conjunto de dados que irá utilizar. Utilizaremos pandas para estruturar o quadro de dados.
conjunto de dados = pandas.read_csv(‘housing.csv’)

3.Pré-processamento

Identificar as variáveis de saída e as características do nosso conjunto de dados.
X = conjunto de dados.iloc[:, [0, 12]]
y = dataset.iloc[:, 13]
De acordo com o código acima, todas as linhas de 0 a 12 são as características, e o índice 13 na coluna é a variável dependente ou a saída do modelo. Agora, podemos aplicar a técnica de pré-processamento. Esta técnica de escalonamento MinMax normalizará o conjunto de dados.
escalonador = MinMaxScaler(feature_range=(0, 1))
X = escaler.fit_transform(X)
Com a ajuda desta técnica, é possível redimensionar os dados numa gama específica. Neste exemplo, o intervalo seria entre 0 e 1, o que nos ajudará a compreender que várias características não afectarão a previsão final.

4.K-Dobrado

Agora, vamos iniciar o processo de validação com os seguintes códigos:
pontuação = []
best_svr = SVR(kernel=’rbf’)
cv = KFold(n_splits=10, random_state=42, shuffle=False)
para train_index, test_index em cv.split(X):
print(“Train Index: “, train_index, “\n”)
print(“Test Index: “, test_index)

X_train, X_test, y_train, y_test = X[train_index], X[test_index], y[train_index], y[test_index]
best_svr.fit(X_train, y_train)
scores.append(best_svr.score(X_test, y_test))

Conclusão

A validação cruzada de K-fold melhora o modelo através da validação dos dados. Esta técnica assegura que a pontuação do modelo não está relacionada com a técnica que utilizamos para escolher o conjunto de dados do teste ou da formação. O método de validação cruzada de dobra K divide o conjunto de dados em subconjuntos como número K. Por conseguinte, repete o método de validação cruzada k número de vezes.