inferindo características mais importantes


7

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:nmx1 1x2xmy

  1. descubra qual subconjunto de recursos, ou sua combinação linear, explica melhor as pontuações.
  2. 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 .y

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?


Por "instâncias" você quer dizer observações (ou seja, geralmente "linhas" de dados)?
— StatsStudent

Você não pode usar uma configuração de modelagem de regressão e executar alguma forma de seleção de modelo? Eu acho que o tipo de modelagem que você usa dependerá se você pode assumir a linearidade ou a não linearidade do relacionamento entre cada recurso e o controle dos demais recursos. Para linearidade, a modelagem de regressão linear serviria. Para a não linearidade, a modelagem aditiva generalizada pode ser uma opção.
— Isabella Ghement

Presumindo que você tenha menos preditores do que instâncias (ou seja, m <n), é possível executar a seleção do modelo com base no critério BIC, adequado para configurações explicativas. No que diz respeito à visualização do modelo final, os gráficos de efeitos podem funcionar - eles permitiriam exibir o efeito de cada recurso em y após controlar os recursos restantes incluídos no modelo final. Consulte socialsciences.mcmaster.ca/jfox/Papers/… .
— Isabella Ghement

Você poderia esclarecer o tipo de relacionamento entre as pontuações e os recursos de entrada (por exemplo, é linear)? É difícil distinguir do fraseado em (1) (por exemplo, você pode considerar as pontuações como uma função não-linear de uma combinação linear de recursos). Além disso, você tem uma métrica específica em mente para "melhor explicar as pontuações '?"
— user20160

Eu acho que você precisa de um algoritmo de seleção de recurso: en.wikipedia.org/wiki/Feature_selection
— Steve Prestwich

Respostas:


0

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:

    model.fit()
    base_score = model.score(x_dev, y_dev)
    for i in range(nr_features):
        x_dev_copy = copy(x_dev)
        x_dev_copy[:, i] = shuffle(x_dev_copy[:, i])
        perm_score = model.score(x_dev_copy, y_dev)
        perm_imp[i] = (perm_score - base_score) / base_score

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:

insira a descrição da imagem aqui

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.

insira a descrição da imagem aqui

Verifique a biblioteca SHAP para obter mais detalhes.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.