Dado um conjunto de instâncias. Para cada instância, eu tenho um vetor de recurso que consiste em (numéricos) recursos ( , , ..., ), n >> m. Além disso, para cada instância, tenho uma pontuação numérica (observável). Eu gostaria de:
- descubra qual subconjunto de recursos, ou sua combinação linear, explica melhor as pontuações.
- crie uma boa visualização para isso.
Fui apontado para a Análise de Componentes Principais (PCA). O problema com o PCA é que ele leva em consideração apenas os vetores de recursos; O PCA não relaciona os recursos à pontuação numérica .
Aplicação prática: Dado um grande número de instâncias de problemas (por exemplo, problemas com vendedores ambulantes) e algum algoritmo para resolver o problema. Cada vez que resolvemos a instância, podemos medir o tempo total (= pontuação) necessário para resolver a instância. Além disso, para cada instância, podemos obter vários recursos, por exemplo, tamanho da instância, diâmetro do gráfico, etc. Quais desses recursos explicam melhor o tempo de computação?
fonte
Respostas:
Há muitas opções, depende exatamente do que você deseja.
Importância do recurso ou importância da permutação
Ambos os métodos informam quais recursos são mais importantes para o modelo. É um número para cada recurso. É calculado após a montagem do modelo. Ele não diz nada sobre quais valores de um recurso implicam quais pontuações.
No sklearn, a maioria dos modelz possui
model.feature_importances_
. A soma de todas as importâncias de recursos é 1.A importância da permutação é calculada para um modelo ajustado. Indica o quanto a métrica piora se você embaralhar a coluna do recurso.
Pseudo-código:
Você pode ler mais sobre a importância da permutação aqui .
Parcelas de Dependência Parcial
informa quais valores de um recurso aumentam / diminuem os valores de previsão. Se parece com isso:
Mais informações sobre Kaggle: Parcial Dependence Plots ou vá direto para a biblioteca PDPbox GitHub .
Valor SHAP
explica por que o modelo fornece uma previsão específica para uma determinada instância. Ele plota o gráfico a seguir, que informa quais valores de recurso moveram a previsão de um valor médio para o valor atual da instância atual.
Verifique a biblioteca SHAP para obter mais detalhes.
fonte