Evalml: Explicações de previsão

Criado em 15 abr. 2020  ·  8Comentários  ·  Fonte: alteryx/evalml

Um novo recurso que poderíamos adicionar para a compreensão do modelo é a explicação da previsão. Isso responderia à pergunta "por que meu modelo previu x?", Permitindo que os usuários vejam quais recursos de entrada foram mais impactantes para essa previsão. Esse tipo de recurso pode ser útil para depurar modelos de uma perspectiva de configuração de dados, porque os usuários podem examinar as previsões que eles categorizaram como "ruins" e alterar ou eliminar os recursos que contribuíram para essas previsões.

Alguns recursos:

epic needs design new feature

Comentários muito úteis

Devemos olhar para o uso de SHAP (SHapley Additive exPlanations)
https://github.com/slundberg/shap
Eu descobri esta biblioteca através deste notebook:
https://github.com/d6t/d6t-python/blob/master/blogs/blog-20200426-shapley.ipynb

Todos 8 comentários

Devemos olhar para o uso de SHAP (SHapley Additive exPlanations)
https://github.com/slundberg/shap
Eu descobri esta biblioteca através deste notebook:
https://github.com/d6t/d6t-python/blob/master/blogs/blog-20200426-shapley.ipynb

@freddyaboulton e eu nos encontramos para discutir isso ontem. Isso está pronto para implementação. Abaixo está o plano de implementação do documento de design :

Tarefas
Fase 1

  1. Implementar algoritmo de interpretação (1 dia de engenharia e testes, 1 dia de revisão).

    1. Adicionar método compute_features a PipelineBase (método privado)

    2. Implementar ShapIntrepeter

  2. Implementar IU de interpretação (1 dia de engenharia e teste, 1 dia de revisão).

    1. Implementar explain_prediction

  3. Tutorial de escrever / aumentar para exibir novas funcionalidades (1 dia de engenharia e testes, 1 dia de revisão).

    1. Adicione-o ao Guia do Usuário

    2. Considere adicionar algo aos tutoriais

  4. Análise qualitativa da qualidade da explicação: (3 dias)

    1. Execute o AutoML em conjuntos de dados difíceis.

    2. Pegue alguns pipelines e certifique-se de que as explicações da previsão façam sentido.

    3. Simule o conjunto de dados, execute a pesquisa AutoML e, em seguida, explique as previsões.

    4. Adicionar blocos de notas no repo

  5. Tarefa Stretch: Avalie o desempenho em muitos conjuntos de dados.

Observação: até que tudo isso esteja concluído, devemos manter a implementação privada para o lançamento de julho, ou seja, _explain_prediction

Estimativa geral: 9 dias

Fase 2

  1. Implementar explain_predictions, que localiza e explica as n principais previsões mais / menos confiáveis. (5 dias)

Estimativa geral: 5 dias

Datas importantes
Lançamento de julho: 28 de julho de 2020.

Meta
Mesclar Fase 1 até terça, 4 de agosto
Mesclar a Fase 2 até terça, 11 de agosto

Esticar objetivo
Mesclar a Fase 1 até terça, 28 de julho (lançamento em julho)
Mesclar a Fase 2 até terça, 4 de agosto

Olá @freddyaboulton , até agora temos mantido épicos no pipeline da Epic e, em vez disso, movendo as questões individuais através do pipeline. Você também poderia seguir esse padrão aqui? Se isso parecer estranho ou incorreto para você, será um prazer discutir a mudança em nosso processo de organização de epopeias. É muito simplista no momento.

@dsherry Meu erro! Manter os épicos no pipeline épico faz sentido para mim 👍

@freddyaboulton da minha perspectiva, devemos terminar de revisar a análise qualitativa do shap que você fez (que é muito útil !!), resolver essas discussões e talvez fazer algumas correções / atualizações. Mas o que vejo lá já parece bom o suficiente para tornar público em julho!

Para confirmar: explain_predictions agora é público, nos documentos da API e adicionamos um guia do usuário, correto? O que significa que fará parte do lançamento de julho? Tão bom!!

@freddyaboulton esse épico pode ser encerrado?

@dsherry Acho que assim que conseguirmos a fusão do # 1107, podemos fechar isso!

Esta página foi útil?
0 / 5 - 0 avaliações