Algoritmos de regressão regression-algorithms
Este documento fornece uma visão geral de vários algoritmos de regressão, com foco em sua configuração, parâmetros principais e uso prático em modelos estatísticos avançados. Algoritmos de regressão são são usados para modelar a relação entre variáveis dependentes e independentes, prevendo resultados contínuos com base em dados observados. 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 linear, random forest e regressão de sobrevivência.
Regressão Decision Tree decision-tree-regression
O aprendizado Decision Tree é um método de aprendizado supervisionado usado em estatísticas, mineração de dados e aprendizado de máquina. Nesta abordagem, uma árvore decisória de classificação ou regressão é usada como modelo preditivo para tirar conclusões sobre um conjunto de observações.
Parâmetros
A tabela abaixo descreve os principais parâmetros para configurar e otimizar o desempenho dos modelos de árvore de decisão.
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, o que pode acelerar o treinamento de árvores mais profundas. Os usuários podem configurar a frequência com que o cache deve ser marcado ou desabilitá-lo configurando CHECKPOINT_INTERVAL.true ou falseCHECKPOINT_INTERVAL10 significa que o cache terá ponto de verificação a cada 10 iterações. Isso só é aplicável se CACHE_NODE_IDS estiver definido como true e o diretório do ponto de verificação estiver configurado em org.apache.spark.SparkContext.IMPURITYentropy e gini.ginientropy, giniMAX_DEPTH0 significa 1 nó de folha, enquanto uma profundidade de 1 significa 1 nó interno e 2 nós de folha. A profundidade deve estar dentro do intervalo [0, 30].MIN_INFO_GAINMIN_WEIGHT_FRACTION_PER_NODEMIN_INSTANCES_PER_NODEMAX_MEMORY_IN_MBPREDICTION_COLSEEDWEIGHT_COL1.0.Exemplo
CREATE MODEL modelname OPTIONS(
type = 'decision_tree_regression'
) AS
SELECT col1, col2, col3 FROM training-dataset
Regressão Factorization Machines factorization-machines-regression
Factorization Machines é um algoritmo de aprendizado de regressão com suporte para descida de gradiente normal e resolução AdamW. O algoritmo é baseado no artigo de S. Rendle (2010), "Factorization Machines."
Parâmetros
A tabela abaixo descreve os principais parâmetros para configurar e otimizar o desempenho da regressão Factorization Machines.
TOL1E-6FACTOR_SIZEFIT_INTERCEPTtruetrue, falseFIT_LINEARtruetrue, falseINIT_STDMAX_ITERMINI_BATCH_FRACTION(0, 1].(0, 1]REG_PARAMSEEDSOLVERgd (descida de gradiente), adamWSTEP_SIZEPREDICTION_COLExemplo
CREATE MODEL modelname OPTIONS(
type = 'factorization_machines_regression'
) AS
SELECT col1, col2, col3 FROM training-dataset
Regressão Generalized Linear generalized-linear-regression
Ao contrário da regressão linear, que assume que o resultado segue uma distribuição normal (Gaussiana), Modelos Generalized Linear (GLMs) permitem que o resultado siga diferentes tipos de distribuições, como Poisson ou binomial, dependendo da natureza dos dados.
Parâmetros
A tabela abaixo descreve os principais parâmetros para configurar e otimizar o desempenho da regressão Generalized Linear.
MAX_ITERirls).REG_PARAMTOL1E-6AGGREGATION_DEPTHtreeAggregate.FAMILYgaussian, binomial, poisson, gamma e tweedie.gaussian, binomial, poisson, gamma, tweedieFIT_INTERCEPTtruetrue, falseLINKidentity, log, inverse, logit, probit, cloglog e sqrt.identity, log, inverse, logit, probit, cloglog, sqrtLINK_POWER1 - variancePower, que se alinha ao pacote R statmod. Potências de link específicas de 0, 1, -1 e 0,5 correspondem aos links Log, Identity, Inverse e Sqrt, respectivamente.SOLVERirls (reponderação iterativa de quadrados mínimos).irlsVARIANCE_POWER[1, inf). Potências de variação de 0, 1 e 2 correspondem às famílias Gaussiana, Poisson e Gamma, respectivamente.[1, inf)LINK_PREDICTION_COLOFFSET_COLWEIGHT_COL1.0. Na família Binomial, os pesos correspondem ao número de ensaios, e os pesos não inteiros são arredondados no cálculo de AIC.Exemplo
CREATE MODEL modelname OPTIONS(
type = 'generalized_linear_reg'
) AS
SELECT col1, col2, col3 FROM training-dataset
Regressão Gradient Boosted Tree gradient-boosted-tree-regression
As árvores com aumento de gradiente (GBTs) são um método eficaz de classificação e regressão que combina as previsões de várias árvores de decisão para melhorar a precisão preditiva e o desempenho do modelo.
Parâmetros
A tabela abaixo descreve os principais parâmetros para configurar e otimizar o desempenho da regressão Gradient Boosted Tree.
MAX_BINSCACHE_NODE_IDSfalse, o algoritmo transmite árvores para executores para corresponder instâncias com nós. Se true, o algoritmo armazena em cache IDs de nó para cada instância. O armazenamento em cache pode acelerar 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 com 2 nós folha.MIN_INFO_GAINMIN_WEIGHT_FRACTION_PER_NODEMIN_INSTANCES_PER_NODEMAX_MEMORY_IN_MBPREDICTION_COLVALIDATION_INDICATOR_COLfalse para treinamento e true para validação.LEAF_COLFEATURE_SUBSET_STRATEGYauto, all, onethird, sqrt, log2 ou uma fração entre 0 e 1,0SEEDWEIGHT_COL1.0.LOSS_TYPEsquared (L2) e absolute (L1). Observação: os valores não diferenciam maiúsculas de minúsculas.STEP_SIZE(0, 1], usado para reduzir a contribuição de cada estimador.(0, 1]MAX_ITERSUBSAMPLING_RATE(0, 1].(0, 1]Exemplo
CREATE MODEL modelname OPTIONS(
type = 'gradient_boosted_tree_regression'
) AS
SELECT col1, col2, col3 FROM training-dataset
Regressão Isotonic isotonic-regression
Isotonic Regression é um algoritmo usado para ajustar interativamente distâncias, preservando a ordem relativa de diferenças nos dados.
Parâmetros
A tabela abaixo descreve os principais parâmetros para configurar e otimizar o desempenho do Isotonic Regression.
ISOTONICtrue ou antitônica (diminuindo) quando false.truetrue, falseWEIGHT_COL1.0.PREDICTION_COLFEATURE_INDEXfeaturesCol é uma coluna de vetor. Se não for definido, o valor padrão será 0. Caso contrário, não tem efeito.Exemplo
CREATE MODEL modelname OPTIONS(
type = 'isotonic_regression'
) AS
SELECT col1, col2, col3 FROM training-dataset
Regressão Linear linear-regression
Linear Regression é um algoritmo supervisionado de aprendizado de máquina que se ajusta a uma equação linear para dados, a fim de modelar a relação entre uma variável dependente e recursos independentes.
Parâmetros
A tabela abaixo descreve os principais parâmetros para configurar e otimizar o desempenho do Linear Regression.
MAX_ITERREGPARAMELASTICNETPARAMExemplo
CREATE MODEL modelname OPTIONS(
type = 'linear_reg'
) AS
SELECT col1, col2, col3 FROM training-dataset
Random Forest Regression random-forest-regression
Random Forest Regression é um algoritmo de conjunto que cria várias árvores de decisão durante o treinamento e retorna a previsão média dessas árvores para tarefas de regressão, ajudando a evitar a sobreposição.
Parâmetros
A tabela abaixo descreve os principais parâmetros para configurar e otimizar o desempenho do Random Forest Regression.
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_MBBOOTSTRAPtrue, falseNUM_TREES1, nenhum bootstrapping será usado. Se maior que 1, o bootstrapping será aplicado.SUBSAMPLING_RATE(0, 1].LEAF_COLPREDICTION_COLSEEDWEIGHT_COL1.0.Exemplo
CREATE MODEL modelname OPTIONS(
type = 'random_forest_regression'
) AS
SELECT col1, col2, col3 FROM training-dataset
Survival Regression survival-regression
Survival Regression é usado para ajustar um modelo de regressão de sobrevivência paramétrica, conhecido como o modelo Accelerated Failure Time (AFT), baseado em Weibull distribution. Ele pode empilhar instâncias em blocos para melhorar o desempenho.
Parâmetros
A tabela abaixo descreve os principais parâmetros para configurar e otimizar o desempenho do Survival Regression.
MAX_ITERTOL1E-6AGGREGATION_DEPTHtreeAggregate. Se as dimensões do recurso ou o número de partições forem grandes, esse parâmetro poderá ser definido como um valor maior.FIT_INTERCEPTtrue, falsePREDICTION_COLCENSOR_COL1 indica que o evento ocorreu (sem censura), enquanto 0 significa que o evento foi censurado.MAX_BLOCK_SIZE_IN_MB0 permite o ajuste automático.Exemplo
CREATE MODEL modelname OPTIONS(
type = 'survival_regression'
) 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 regressão. Em seguida, consulte os documentos em classificação e clustering para saber mais sobre outros tipos de modelos estatísticos avançados.