Algoritmos de classificação classification-algorithms
Este documento fornece uma visão geral de vários algoritmos de classificação, com foco em sua configuração, parâmetros principais e uso prático em modelos estatísticos avançados. Os algoritmos de classificação são usados para atribuir categorias a pontos de dados com base em recursos de entrada. Cada seção inclui descrições de parâmetros e código de exemplo para ajudar você a implementar e otimizar esses algoritmos para tarefas como árvores de decisão, random forest e classificação ingênua de Bayes.
Decision Tree Classifier decision-tree-classifier
Decision Tree Classifier é uma abordagem de aprendizado supervisionada usada em estatísticas, mineração de dados e aprendizado de máquina. Nessa abordagem, uma árvore decisória é usada como modelo preditivo para tarefas de classificação, tirando conclusões de um conjunto de observações.
Parâmetros
A tabela abaixo descreve os principais parâmetros para configurar e otimizar o desempenho de um Decision Tree Classifier.
MAX_BINSCACHE_NODE_IDSfalse, o algoritmo transmite árvores para executores para corresponder instâncias com nós. Se true, o algoritmo armazenará em cache IDs de nó para cada instância, acelerando o treinamento de árvores mais profundas.falsetrue, falseCHECKPOINT_INTERVAL10 significa que o cache é marcado a cada 10 iterações.IMPURITYentropy, giniMAX_DEPTH0 significa 1 nó folha, e profundidade 1 significa 1 nó interno e 2 nós folha.MIN_INFO_GAINMIN_WEIGHT_FRACTION_PER_NODEMIN_INSTANCES_PER_NODEMAX_MEMORY_IN_MBPREDICTION_COLSEEDWEIGHT_COL1.0.ONE_VS_RESTfalsetrue, falseExemplo
Create MODEL modelname OPTIONS(
type = 'decision_tree_classifier'
) AS
select col1, col2, col3 from training-dataset
Factorization Machine Classifier factorization-machine-classifier
O Factorization Machine Classifier é um algoritmo de classificação que suporta descida de gradiente normal e a resolução AdamW. O modelo de classificação de máquina de fatoração usa perda logística, que pode ser otimizada via descida de gradiente e, muitas vezes, inclui termos de regularização como L2 para evitar sobreajuste.
Parâmetros
A tabela abaixo descreve os principais parâmetros para configurar e otimizar o desempenho do Factorization Machine Classifier.
TOL1E-6FACTOR_SIZEFIT_INTERCEPTtruetrue, falseFIT_LINEARtruetrue, falseINIT_STDMAX_ITERMINI_BATCH_FRACTION(0, 1].REG_PARAMSEEDSOLVERgd (descida de gradiente) e adamW.gd, adamWSTEP_SIZEPROBABILITY_COLPREDICTION_COLRAW_PREDICTION_COLONE_VS_RESTtrue, falseExemplo
CREATE MODEL modelname OPTIONS(
type = 'factorization_machines_classifier'
) AS
SELECT col1, col2, col3 FROM training-dataset
Gradient Boosted Tree Classifier gradient-boosted-tree-classifier
O Gradient Boosted Tree Classifier usa um conjunto de árvores de decisão para melhorar a precisão das tarefas de classificação, combinando várias árvores para melhorar o desempenho do modelo.
Parâmetros
A tabela abaixo descreve os principais parâmetros para configurar e otimizar o desempenho do Gradient Boosted Tree Classifier.
MAX_BINSCACHE_NODE_IDSfalse, o algoritmo transmite árvores para executores para corresponder instâncias com nós. Se true, o algoritmo armazenará em cache IDs de nó para cada instância, acelerando o treinamento de árvores mais profundas.falsetrue, falseCHECKPOINT_INTERVAL10 significa que o cache é marcado a cada 10 iterações.MAX_DEPTH0 significa 1 nó folha, e profundidade 1 significa 1 nó interno e 2 nós folha.MIN_INFO_GAINMIN_WEIGHT_FRACTION_PER_NODEMIN_INSTANCES_PER_NODEMAX_MEMORY_IN_MBPREDICTION_COLVALIDATION_INDICATOR_COLfalse indica treinamento e true indica validação. Se um valor não for definido, o valor padrão será None.RAW_PREDICTION_COLLEAF_COLFEATURE_SUBSET_STRATEGYauto (determinado automaticamente com base na tarefa), all (usar todos os recursos), onethird (usar um terço dos recursos), sqrt (usar a raiz quadrada do número de recursos), log2 (usar o logaritmo de base 2 do número de recursos) e n (onde n é uma fração dos recursos, se estiver no intervalo (0, 1], ou um número específico de recursos, se estiver no intervalo [1, total number of features]).auto, all, onethird, sqrt, log2, nWEIGHT_COL1.0.LOSS_TYPElogistic (não diferencia maiúsculas de minúsculas)STEP_SIZE(0, 1], usado para reduzir a contribuição de cada estimador.MAX_ITERSUBSAMPLING_RATE(0, 1]PROBABILITY_COLONE_VS_RESTfalsetrue, falseExemplo
Create MODEL modelname OPTIONS(
type = 'gradient_boosted_tree_classifier'
) AS
select col1, col2, col3 from training-dataset
Linear Support Vector Classifier (LinearSVC) linear-support-vector-classifier
O Linear Support Vector Classifier (LinearSVC) constrói um hiperplano para classificar dados em um espaço de alta dimensão. Você pode usá-la para maximizar a margem entre as classes para minimizar os erros de classificação.
Parâmetros
A tabela abaixo descreve os principais parâmetros para configurar e otimizar o desempenho do Linear Support Vector Classifier (LinearSVC).
MAX_ITERAGGREGATION_DEPTHFIT_INTERCEPTtruetrue, falseTOLMAX_BLOCK_SIZE_IN_MB0, o valor ideal será escolhido automaticamente (geralmente em torno de 1 MB).REG_PARAMSTANDARDIZATIONtruetrue, falsePREDICTION_COLRAW_PREDICTION_COLONE_VS_RESTfalsetrue, falseExemplo
Create MODEL modelname OPTIONS(
type = 'linear_svc_classifier'
) AS
select col1, col2, col3 from training-dataset
Logistic Regression logistic-regression
Logistic Regression é um algoritmo supervisionado usado para tarefas de classificação binária. Ele modela a probabilidade de uma instância pertencer a uma classe usando a função logística e atribui a instância à classe com a probabilidade mais alta. Isso o torna adequado para problemas em que o objetivo é separar dados em uma de duas categorias.
Parâmetros
A tabela abaixo descreve os principais parâmetros para configurar e otimizar o desempenho do Logistic Regression.
MAX_ITERREGPARAMELASTICNETPARAMElasticNet controla o equilíbrio entre as penalidades L1 (Laço) e L2 (Ridge). Um valor de 0 aplica uma penalidade L2 (Ridge, que reduz o tamanho dos coeficientes), enquanto um valor de 1 aplica uma penalidade L1 (Laço, que incentiva a dispersão definindo alguns coeficientes como zero).Exemplo
Create MODEL modelname OPTIONS(
type = 'logistic_reg'
) AS
select col1, col2, col3 from training-dataset
Multilayer Perceptron Classifier multilayer-perceptron-classifier
O Multilayer Perceptron Classifier (MLPC) é um classificador de rede neural artificial de feed-forward. Consiste em múltiplas camadas totalmente conectadas de nós, onde cada nó aplica uma combinação linear ponderada de entradas, seguida por uma função de ativação. O MLPC é utilizado para tarefas de classificação complexas que exigem limites de decisão não lineares.
Parâmetros
MAX_ITERBLOCK_SIZESTEP_SIZEgd).TOL1E-6PREDICTION_COLSEEDPROBABILITY_COLRAW_PREDICTION_COLONE_VS_RESTfalsetrue, falseExemplo
CREATE MODEL modelname OPTIONS(
type = 'multilayer_perceptron_classifier'
) AS
select col1, col2, col3 from training-dataset
Naive Bayes Classifier naive-bayes-classifier
Naive Bayes Classifier é um classificador probabilístico, multiclass simples baseado no teorema de Bayes com fortes (ingênuas) suposições de independência entre características. Ele treina com eficiência computando probabilidades condicionais em uma única passagem sobre os dados de treinamento para calcular a distribuição de probabilidade condicional de cada recurso dado cada rótulo. Para previsões, ele usa o teorema de Bayes para calcular a distribuição de probabilidade condicional de cada rótulo dado uma observação.
Parâmetros
MODEL_TYPE"multinomial", "complement", "bernoulli" e "gaussian". O tipo de modelo diferencia maiúsculas de minúsculas."multinomial", "complement", "bernoulli", "gaussian"SMOOTHINGPROBABILITY_COLWEIGHT_COL1.0.PREDICTION_COLRAW_PREDICTION_COLONE_VS_RESTfalsetrue, falseExemplo
CREATE MODEL modelname OPTIONS(
type = 'naive_bayes_classifier'
) AS
SELECT col1, col2, col3 FROM training-dataset
Random Forest Classifier random-forest-classifier
Random Forest Classifier é um algoritmo de aprendizado de conjunto que cria várias árvores de decisão durante o treinamento. Atenua a sobreajuste através da média de previsões e da seleção da classe escolhida pela maioria das árvores para tarefas de classificação.
Parâmetros
MAX_BINSCACHE_NODE_IDSfalse, o algoritmo transmite árvores para executores para corresponder instâncias com nós. Se true, o algoritmo armazenará em cache IDs de nó para cada instância, acelerando o treinamento.falsetrue, falseCHECKPOINT_INTERVAL10 significa que o cache é marcado a cada 10 iterações.IMPURITYentropy, giniMAX_DEPTH0 significa 1 nó folha, e profundidade 1 significa 1 nó interno e 2 nós folha.MIN_INFO_GAINMIN_WEIGHT_FRACTION_PER_NODEMIN_INSTANCES_PER_NODEMAX_MEMORY_IN_MBPREDICTION_COLWEIGHT_COL1.0.SEEDBOOTSTRAPtruetrue, falseNUM_TREES1, então nenhum bootstrapping será usado. Se maior que 1, o bootstrapping será aplicado.SUBSAMPLING_RATELEAF_COLPROBABILITY_COLRAW_PREDICTION_COLONE_VS_RESTfalsetrue, falseExemplo
Create MODEL modelname OPTIONS(
type = 'random_forest_classifier'
) AS
select col1, col2, col3 from training-dataset
Próximas etapas
Depois de ler este documento, agora você sabe como configurar e usar vários algoritmos de classificação. Em seguida, consulte os documentos sobre regressão e clustering para saber mais sobre outros tipos de modelos estatísticos avançados.