- Notas de Versão
- Requisitos
- Instalação
- Introdução
- Projetos
- Conjuntos de dados
- Pacotes de ML
- Pipelines
- Habilidades de ML
- Logs de ML
- Document Understanding no AI Fabric
- Guia básico de solução de problemas
AI Center
Classificação AutoML do TPOT
Pacotes do SO > Dados tabulares > TPOTAutoMLClassification
Esse modelo é um modelo de classificação de dados tabulares genéricos (apenas de valor numérico) que precisa ser retreinado antes de ser usado para previsão. Ele depende do TPOT para encontrar automaticamente o melhor modelo.
TPOT é uma ferramenta de machine learning python automatizada, que otimiza os pipelines de machine learning usando a programação genética. O TPOT automatiza a parte mais tediosa do aprendizado de máquina, ao explorar de forma inteligente milhares de pipelines possíveis para encontrar o melhor para seus dados. Após o TPOT terminar de pesquisar (ou você se cansar de esperar), ele fornece o código Python para o melhor pipeline que encontrou, para que seja possível improvisar com o pipeline de lá. O TPOT é construído em cima do scikit-learn e, portanto, todo o código que ele gera deve parecer familiar para usuários do scikit-learn.
Recursos usados pelo modelo para fazer previsões. Por exemplo: { “Recurso1”: 12, “Recurso2”: 222, ..., “RecursoN”: 110}
JSON com classe prevista, confiança associada na previsão dessa classe (entre 0 e 1) e o nome do rótulo. Os nomes dos rótulos são retornados apenas se a codificação dos rótulos for executada pelo pipeline, dentro do AI Fabric. Alguns modelos de scikit-learn não suportam pontuações de confiança. Se a saída do pipeline de otimização for um modelo scikit-learn que não suporta as pontuações de confiança, a saída conterá apenas a classe prevista.
Exemplo:
{
"predictions": 0,
"confidences": 0.6,
"labels": "yes"
}
{
"predictions": 0,
"confidences": 0.6,
"labels": "yes"
}
Ou, se a codificação do rótulo foi feita fora do modelo:
{
"predictions": 0,
"confidences": 0.6
}
{
"predictions": 0,
"confidences": 0.6
}
Pipelines
Todos os três tipos de pipelines (Treinamento completo, Treinamento e Avaliação) são suportados por esse pacote.
Enquanto você treina o modelo pela primeira vez, as classes serão inferidas olhando para todo o conjunto de dados fornecido.
Esse pacote de ML procurará arquivos csv em seu conjunto de dados (não em subdiretórios)
Os arquivos csv precisam seguir essas duas regras:
- a primeira linha dos dados deve conter os nomes do cabeçalho/coluna.
- todas as colunas, exceto para a target_column, devem ser numérica (inteiro, flutuante). O modelo não é capaz de executar a codificação dos recursos; entreentanto, ele é capaz de realizar a codificação de destino. Se a codificação de destino for executada pelo modelo, no tempo da previsão, o modelo também retornará o rótulo da variável de destino.
- max_time_mins: tempo para executar o pipeline (em minutos). Quanto maior o tempo do treinamento, melhores as chances de o TPOT encontrar um bom modelo. (padrão: 2)
- target_column: nome da coluna de destino (padrão: "target")
- scoring: o TPOT usa o sklearn.model_selection.cross_val_score para avaliar pipelines e, dessa forma, oferece o mesmo suporte para funções de pontuação (padrão: "accuracy"). Usa métricas de pontuação padrão do scikit-learn (https://scikit-learn.org/stable/modules/model_evaluation.html)
- keep_training: as execuções típicas do TPOT demoram de horas a dias (a menos que seja um conjunto de dados pequeno), mas é possível interromper a execução no meio e ver os melhores resultados até o momento. Se o keep_training estiver definido como True, o TPOT continuará o treinamento de onde o deixou.
O TPOT exporta o código Python correspondente para o pipeline otimizado para um arquivo python, chamado "TPOT_pipeline.py". Após o código terminar a execução, "TPOT_pipeline.py" conterá o código Python para o pipeline otimizado.
Papel
O modelo é baseado em duas publicações:
- "Scaling tree-based automated machine learning to biomedical big data with a feature set selector." de Trang T. Le, Weixuan Fu and Jason H. Moore (2020)
- "Evaluation of a Tree-based Pipeline Optimization Tool for Automating Data Science." de Randal S. Olson, Nathan Bartley, Ryan J. Urbanowicz, e Jason H. Moore