Treinar e avaliar modelos no Construtor de Modelos
Nesta unidade, você aprenderá como treinar e avaliar modelos de aprendizado de máquina no Model Builder.
Durante o treinamento, o Construtor de Modelos aplica algoritmos aos seus dados. Usando métricas de avaliação para o cenário específico, você mede o desempenho do seu modelo.
Formação em Construtor de Modelos
Agora que você selecionou seu cenário, selecionou seu ambiente de treinamento e carregou seus dados, é hora de começar a treinar seu modelo. O treinamento consiste em aplicar algoritmos para o cenário escolhido ao seu conjunto de dados, a fim de encontrar o melhor modelo. Vamos analisar o que "melhor" significa na etapa de avaliação.
Na maioria dos casos, para treinar modelos de aprendizado de máquina no Model Builder, você só precisa fornecer a quantidade de tempo para a qual deseja treinar.
Durante quanto tempo devo treinar?
Períodos de treinamento mais longos permitem que o Construtor de Modelos explore mais modelos com uma gama mais ampla de configurações.
A tabela a seguir resume o tempo médio necessário para obter um bom desempenho para um conjunto de conjuntos de dados de exemplo em uma máquina local, usando a CPU:
Tamanho do conjunto de dados | Tempo médio para treinar |
---|---|
0 MB a 10 MB | 10 segundos |
10 MB até 100 MB | 10 minutos |
100 MB até 500 MB | 30 minutos |
500 MB até 1 GB | 60 minutos |
1 GB+ | 3+ horas |
Estes números são apenas um guia. A duração exata da formação depende:
- O número de recursos (colunas) que estão sendo usados como entrada para o modelo.
- O tipo de colunas.
- A tarefa de aprendizado de máquina.
- O desempenho da CPU, GPU, disco e memória da máquina usada para treinamento.
Gorjeta
Use mais de 100 linhas como conjuntos de dados. Menos do que isso pode não produzir quaisquer resultados.
Como é que o Construtor de Modelos encontra o melhor modelo?
Você provavelmente já ouviu falar que o aprendizado de máquina envolve matemática complexa. Então, como o Construtor de Modelos pode treinar um modelo de aprendizado de máquina se você forneceu apenas um cenário, um conjunto de dados e o período de tempo para o qual deseja que o Construtor de Modelos treine?
O Construtor de Modelos usa aprendizado de máquina automatizado (AutoML) para identificar o conjunto de transformações para preparar seus dados para treinamento, selecionar um algoritmo e ajustar as configurações (também conhecidas como hiperparâmetros) do algoritmo. Usando métricas de avaliação específicas para a tarefa de aprendizado de máquina selecionada, o Construtor de Modelos pode determinar qual modelo tem o melhor desempenho para seus dados.
Código de formação e consumo
Depois que o treinamento do modelo é concluído, o Construtor de Modelos gera os seguintes arquivos e os adiciona ao seu projeto. Esses arquivos são aninhados em seu arquivo .mbconfig .
- <MODEL-NAME>.zip: O artefato para o modelo de aprendizado de máquina. Este ficheiro contém uma versão serializada do seu modelo.
- <MODEL-NAME>.training.cs: Este arquivo contém o pipeline de treinamento do modelo. Seu pipeline de treinamento de modelo consiste nas transformações de dados e no algoritmo que são usados para treinar seu modelo de aprendizado de máquina. Para obter mais informações, consulte Transformações de dados e Como escolher um algoritmo ML.NET.
- <MODEL-NAME>.consumption.cs: Este arquivo contém as classes que definem o esquema de entrada e saída do modelo. Ele também contém o
Predict
método, que usa seu modelo para criar umaPredictionEngine
API e fazer previsões.PredictionEngine
é uma API de conveniência que permite executar uma previsão em uma única instância de dados.
Avaliar o modelo
Agora que você encontrou o melhor modelo para seus dados, é hora de testar o quão bem ele faz previsões. Uma maneira de avaliar o desempenho do seu modelo é usando métricas.
As métricas de avaliação são específicas para o tipo de tarefa de aprendizado de máquina que um modelo executa. Para cada tarefa, você pode examinar várias métricas para determinar o desempenho do seu modelo.
Esta tabela mostra as métricas de avaliação que o Construtor de Modelos usa para escolher o melhor modelo, com base no cenário:
Cenário | Métricas de avaliação | Procurar |
---|---|---|
Classificação de dados | Binário (Precisão) / Multiclasse (MicroPrecisão) | Quanto mais próximo de 1,00, melhor |
Previsão de valor | R-Quadrado | Quanto mais próximo de 1,00, melhor |
Classificação de imagens | Precisão | Quanto mais próximo de 1,00, melhor |
Recomendação | R-Quadrado | Quanto mais próximo de 1,00, melhor |
Deteção de objetos | Precisão | Quanto mais próximo de 1,00, melhor |
Para obter mais informações sobre ML.NET métricas de avaliação, consulte Métricas de avaliação de modelo.
Escolher o modelo com as métricas mais altas
Seu modelo alcançou métricas de avaliação perfeitas. Isso significa que você tem o modelo perfeito? Não exatamente. Na verdade, se você acabar com um modelo "perfeito", conforme especificado por suas métricas de avaliação, você deve ser cético.
No aprendizado de máquina, há um conceito chamado overfitting, e é algo que você deve ficar atento. Overfitting é quando seu modelo aprende os padrões em seu conjunto de dados de treinamento muito bem. Quando você tenta usar o modelo com novos dados, ele não fornece resultados precisos.
Aqui está um cenário para ajudar a ilustrar o sobreajuste. Imagine que está a estudar para um exame. De alguma forma, você tem as perguntas para o exame e as respostas antes do tempo. Ao estudar para o exame, você se concentra em memorizar as respostas às perguntas. Quando você faz o exame e recebe os resultados, você obtém uma nota alta. Uma nota alta pode sinalizar que você conhece bem o assunto. No entanto, se alguém lhe fizer uma pergunta sobre um dos assuntos que não estava diretamente no teste, você pode errar porque você não aprendeu o assunto, apenas memorizou as respostas. O overfitting funciona de forma semelhante.
Melhorar o seu modelo
Se não estiver satisfeito com as métricas de avaliação do seu modelo, pode tentar estas coisas para melhorar o seu modelo:
- Fornecer observações de dados mais representativas: A experiência é o melhor professor. O conceito também se aplica ao aprendizado de máquina. Quanto mais observações de dados você puder fornecer, mais amplo será o conjunto de padrões que seu modelo poderá reconhecer.
- Forneça mais contexto: adicionar colunas que adicionam contexto aos seus dados ajuda o modelo a identificar padrões. Por exemplo, digamos que você está tentando prever o preço de uma casa e o único ponto de dados que você tem é o número de quartos. Isso, por si só, pode não dizer muito. No entanto, e se você soubesse que a casa está localizada em um bairro suburbano fora de uma grande área metropolitana, onde a renda familiar média é de US $ 80.000 e as escolas estão no percentil 20 superior? Agora você tem mais informações que podem ajudar a informar a decisão do modelo.
- Use dados e recursos significativos: embora mais amostras de dados e recursos possam ajudar a melhorar a precisão do modelo, eles também podem introduzir ruído porque nem todos os dados e recursos são significativos. É importante entender quais recursos afetam mais fortemente as decisões do algoritmo.
- Explore mais algoritmos: Fornecer ao Construtor de Modelos mais tempo para permitir que ele explore mais algoritmos e hiperparâmetros pode ajudar a melhorar seu modelo.
Na próxima unidade, você usará o Construtor de Modelos para treinar um modelo de aprendizado de máquina.