Exercício – Determinar a precisão de uma rede neural na classificação de rochas espaciais
O motivo pelo qual usamos IA para ajudar com nossa pesquisa de rochas é aprimorar as previsões. Quando um modelo vê novas imagens de rochas, ele deve prever o tipo de rocha correto com base em imagens já observadas. Queremos que a previsão seja o mais próximo de 100% mais preciso possível. Um modelo de IA bem treinado deve prever o resultado com mais precisão do que os humanos.
Mostrar a precisão do modelo
Em nosso exemplo, o comando accuracy
revela a probabilidade de o computador identificar corretamente o tipo de rocha em uma imagem com base na definição científica. Um valor de precisão de 0,96 significa que 96% dos tipos de rocha são previstos corretamente e que 4% são classificados erroneamente.
O código a seguir calcula e exibe a precisão do nosso modelo de IA para classificar o tipo de rocha. Você pode reconhecer essa instrução do último código que adicionamos ao seu arquivo do Jupyter Notebook.
Adicione este código a uma nova célula no seu arquivo do Jupyter Notebook e execute a célula:
print(accuracy/len(testloader))
A saída exibe a precisão com 16 dígitos na parte fracionária do decimal:
0.9354166686534882
A saída mostra que nosso modelo tem a precisão de 93,5% em fazer previsões. Queremos um valor alto. Quanto maior a precisão, melhor é o trabalho do modelo em fazer previsões.
Embora 93,5% seja um percentual alto, você pode fazer algumas coisas para aumentar ainda mais a precisão:
- Adicione mais imagens e continue treinando o modelo de IA.
- Aumente o número de iterações de treinamento
epoch
para aprendizado profundo.
Salvar o modelo
Agora que você criou a rede neural e testou a precisão, salve o modelo.
Adicione o seguinte código a uma nova célula no seu arquivo do Jupyter Notebook e execute a célula:
torch.save(model, 'aerialmodel.pth')