Pular para o conteúdo principal

stochasticLinearRegression

Introduzido em: v20.1.0 Esta função implementa regressão linear estocástica. Ela oferece suporte a parâmetros personalizados para:
  • taxa de aprendizado
  • coeficiente de regularização L2
  • tamanho do mini-batch
Ela também inclui alguns métodos para atualizar os pesos:
  • Adam (usado por padrão)
  • SGD simples
  • Momentum
  • Nesterov
Uso A função é usada em duas etapas: ajustar o modelo e fazer previsões com novos dados.
  1. Ajuste
Para o ajuste, pode-se usar uma consulta como esta:
Aqui, também precisamos inserir dados na tabela train_data. O número de parâmetros não é fixo; ele depende apenas do número de argumentos passados para linearRegressionState. Todos eles devem ser valores numéricos. Observe que a coluna com o valor-alvo (que queremos aprender a prever) é inserida como o primeiro argumento.
  1. Predição
Após salvar um estado na tabela, podemos usá-lo várias vezes para predição ou até mesmo mesclá-lo com outros estados e criar modelos novos, ainda melhores.
A consulta retornará uma coluna de valores previstos. Observe que o primeiro argumento de evalMLMethod é um objeto AggregateFunctionState; os demais são colunas de atributos. test_data é uma tabela como train_data, mas pode não conter o valor-alvo. Observações
  1. Para mesclar dois modelos, o usuário pode criar a seguinte consulta:
onde a tabela your_models contém os dois modelos. Esta consulta retornará um novo objeto AggregateFunctionState.
  1. Você pode recuperar os pesos do modelo criado para uso próprio sem salvar o modelo, se nenhum combinador -State for usado.
Uma consulta como esta ajustará o modelo e retornará seus pesos — os primeiros são os pesos, que correspondem aos parâmetros do modelo; o último é o viés. Assim, no exemplo acima, a consulta retornará uma coluna com 3 valores. Sintaxe
Argumentos
  • learning_rate — O coeficiente do tamanho do passo quando é executada uma etapa de descida do gradiente. Uma taxa de aprendizado muito alta pode fazer com que os pesos do modelo se tornem infinitos. O padrão é 0.00001. Float64
  • l2_regularization_coef — Coeficiente de regularização L2, que pode ajudar a evitar sobreajuste. O padrão é 0.1. Float64
  • mini_batch_size — Define o número de elementos cujos gradientes serão calculados e somados para executar um passo de descida do gradiente. A descida estocástica pura usa um único elemento; no entanto, usar batches pequenos (cerca de 10 elementos) torna os passos do gradiente mais estáveis. O padrão é 15. UInt64
  • method — Método para atualizar os pesos: Adam (padrão), SGD, Momentum, Nesterov. Momentum e Nesterov exigem um pouco mais de processamento e memória, mas acabam sendo úteis em termos de velocidade de convergência e estabilidade dos métodos de gradiente estocástico. const String
  • target — Valor-alvo (variável dependente) que se deseja prever. Deve ser numérico. Float*
  • x1, x2, ... — Valores das features (variáveis independentes). Todos devem ser numéricos. Float*
Valor retornado Retorna os pesos treinados do modelo de regressão linear. Os primeiros valores correspondem aos parâmetros do modelo; o último é o viés. Use evalMLMethod para fazer previsões. Array(Float64) Exemplos Treinamento de um modelo
Query
Response
Fazendo previsões
Query
Response
Obtendo os pesos do modelo
Query
Response
Veja também
Última modificação em 25 de junho de 2026