Regressão de Poisson

Cria um modelo de regressão que assume que os dados possuem uma distribuição de Poisson

Categoria: Machine Learning/inicializar modelo/regressão

Observação

Aplica-se a: Machine Learning Studio (clássico)

Esse conteúdo pertence apenas ao estúdio (clássico). Módulos de arrastar e soltar semelhantes foram adicionados ao designer de Azure Machine Learning. Saiba mais neste artigo comparando as duas versões.

Visão geral do módulo

Este artigo descreve como usar o módulo de regressão Poisson no Azure Machine Learning Studio (clássico) para criar um modelo de regressão Poisson.

A regressão Poisson destina-se ao uso em modelos de regressão que são usados para prever valores numéricos, normalmente conta. Portanto, você deve usar este módulo para criar seu modelo de regressão somente se os valores que você está tentando prever se ajustarem às seguintes condições:

  • A variável de resposta tem uma distribuição Poisson.

  • As contagens não podem ser negativas. O método falhará totalmente, se você tentar usá-lo com rótulos negativos.

  • Uma distribuição Poisson é uma distribuição discreta; Portanto, não é significativo usar esse método com números não inteiros.

Dica

Se o destino não for uma contagem, a regressão Poisson provavelmente não é um método apropriado. Tente um dos outros módulos nesta categoria. Para obter ajuda para escolher um método de regressão, consulte a folha de consulta do algoritmo do Azure Machine Learning.

Depois de configurar o método de regressão, você deve treinar o modelo usando um conjunto de um DataSet que contém exemplos do valor que você deseja prever. O modelo treinado pode então ser usado para fazer previsões.

Mais informações sobre a regressão Poisson

A regressão Poisson é um tipo especial de análise de regressão que é normalmente usado para contagens de modelos. Por exemplo, a regressão de Poisson seria útil nestes cenários:

  • Modelar o número de resfriados associados a voos de avião

  • Estimando o número de chamadas de serviço de emergência durante um evento

  • Projetando o número de consultas de clientes subsequentes a uma promoção

  • Criar tabelas de contingência

Como a variável de resposta tem uma distribuição Poisson, o modelo faz diferentes suposições sobre os dados e sua distribuição de probabilidade, por exemplo, regressão de mínimos quadrados. Portanto, os modelos Poisson devem ser interpretados de forma diferente de outros modelos de regressão.

Como configurar a regressão Poisson

  1. Adicione o módulo de regressão Poisson ao seu experimento no estúdio (clássico).

    Você pode encontrar esse módulo em Machine Learning-Initialize, na categoria regressão .

  2. Adicione um DataSet que contém dados de treinamento do tipo correto.

    Recomendamos que você use Normalize data para normalizar o conjunto de dados de entrada antes de usá-lo para treinar o regressor.

  3. No painel Propriedades do módulo regressão Poisson , especifique como você deseja que o modelo seja treinado, definindo a opção criar modo de instrutor .

    • Parâmetro único: se você souber como deseja configurar o modelo, forneça um conjunto específico de valores como argumentos.

    • Intervalo de parâmetros. Se você não tiver certeza dos melhores parâmetros, faça uma limpeza de parâmetro usando o módulo ajustar hiperparâmetros de modelo . O instrutor itera em vários valores que você especifica para encontrar a configuração ideal.

  4. Tolerância de otimização: digite um valor que defina o intervalo de tolerância durante a otimização. Quanto menor o valor, mais lento e mais preciso o ajuste.

  5. Peso de regularização de L1 e peso de regularização L2: digite valores a serem usados para regularização de L1 e L2. A Regularização adiciona restrições ao algoritmo sobre aspectos do modelo que são independentes dos dados de treinamento. A regularização também é usada para evitar o sobreajuste.

    • A regularização L1 será útil se o objetivo for ter um modelo que seja o mais esparso possível.

      A regularização L1 é feita subtraindo-se o peso de L1 do vetor de peso da expressão de perda que o aprendiz está tentando minimizar. A norma L1 é uma boa aproximação para a norma L0, que é o número de coordenadas diferente de zero.

    • A regularização L2 impede o crescimento excessivo de qualquer coordenada única em magnitude. A regularização L2 é útil se o objetivo é ter um modelo com pequenos pesos gerais.

    Neste módulo, você pode aplicar uma combinação de regularizações L1 e L2. Combinando a regularização L1 e L2, você pode impor uma penalidade na magnitude dos valores de parâmetro. O aprendiz tenta minimizar a penalização, em um compromisso com minimização de perda.

    Para obter uma boa discussão sobre a regularização de L1 e L2, consulte regularização de L1 e L2 para Machine Learning.

  6. Tamanho da memória para L-BFGS: Especifique a quantidade de memória a ser reservada para ajuste e otimização do modelo.

    L-BFGS é um método específico para otimização, com base no algoritmo Broyden – Fletcher – Goldfarb – Shanno (BFGS). O método usa uma quantidade limitada de memória (L) para calcular a direção da próxima etapa.

    Ao alterar esse parâmetro, você pode afetar o número de posições passadas e gradientes que são armazenados para cálculo da próxima etapa.

  7. Conecte o conjunto de e-o de treinamento e o modelo não treinado a um dos módulos de treinamento:

    Aviso

    • Se você passar um intervalo de parâmetros para treinar o modelo, ele usará apenas o primeiro valor na lista intervalo de parâmetros.

    • Se você passar um único conjunto de valores de parâmetro para o módulo ajustar hiperparâmetros de modelo , quando ele esperar um intervalo de configurações para cada parâmetro, ele ignorará os valores e usará os valores padrão para o aprendiz.

    • Se você selecionar a opção intervalo de parâmetros e inserir um único valor para qualquer parâmetro, esse valor único especificado será usado em toda a varredura, mesmo que outros parâmetros sejam alterados em um intervalo de valores.

  8. Execute o experimento para treinar o modelo.

Exemplos

Para obter exemplos de como a regressão Poisson é usada no aprendizado de máquina, consulte a Galeria de ia do Azure.

Observações técnicas

A regressão Poisson é usada para modelar dados de contagem, supondo que o rótulo tenha uma distribuição Poisson. Por exemplo, você pode usá-lo para prever o número de chamadas para um centro de atendimento ao cliente em um determinado dia.

Para esse algoritmo, supõe-se que uma função desconhecida, indicada como Y, tenha uma distribuição Poisson. A distribuição Poisson é definida da seguinte maneira:

Dada a instância x = (x0,..., xD-1), para cada k = 0, 1,..., o módulo computa a probabilidade de o valor da instância ser k.

Considerando o conjunto de exemplos de treinamento, o algoritmo tenta encontrar os valores ideais para θ0,..., θD-1 tentando maximizar a probabilidade de log dos parâmetros. A probabilidade dos parâmetros θ0,..., θD-1 é a probabilidade de que os dados de treinamento tenham sido amostrados de uma distribuição com esses parâmetros.

A probabilidade do log pode ser exibida como o log p(y = Yi)

A função de previsão gera o valor esperado da distribuição Poisson parametrizada, especificamente: f w, b (x) = e [Y|x] = e wTx + b.

Para obter mais informações, consulte a entrada de regressão Poisson na Wikipédia.

Parâmetros do módulo

Name Intervalo Type Padrão Descrição
Tolerância de otimização >= double.Épsilon Float 0, 1 Especifique um valor de tolerância para convergência de otimização. Quanto menor o valor, mais lento e mais preciso o ajuste.
Peso de regularização L1 >= 0,0 Float 1.0 Especifica o peso de regularização L1. Use um valor diferente de zero para evitar o sobreajuste do modelo.
Peso de regularização L2 >= 0,0 Float 1.0 Especifique o peso de regularização L2. Use um valor diferente de zero para evitar o sobreajuste do modelo.
Tamanho da memória para L-BFGS >= 1 Integer 20 Indica a quantidade de memória (em MB) a ser usada para o otimizador L-BFGS. Com menos memória, o treinamento é mais rápido, mas menos preciso.
Propagação de número aleatório any Integer Digite um valor para propagar o gerador de número aleatório usado pelo modelo. Deixe em branco por padrão.
Permitir níveis categóricos desconhecidos any Boolean true Indique se um nível adicional deve ser criado para cada coluna categórica. Todos os níveis no conjunto de dados de teste não disponíveis no conjunto de dados de treinamento são mapeados para esse nível adicional.

Saídas

Nome Tipo Descrição
Modelo não treinado Interface ILearner Um modelo de regressão não treinado

Consulte também

Regressão
Lista de Módulo A-Z