Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

[Dúvida] Ajuda na seleçao de labels

Bom, minha dúvida pode parecer um pouco boba, mas lá vai. No curso de Regressão Linear é ensinado que, pode-se visualizar a relação linear com a opção da matriz de correlação e com o pairplot do seaborn de forma mais visual pra entender a relação entre as features, e em seguida, é feito o trabalho de regressão. Nesse curso, mostrou 2 ou 3 labels para entender a relação e foi utilizado o seaborn e o matplotlib, minha dúvida é, quando se tem pelo menos umas 15 features, quais são as melhores estrategias que devem ser utilizadas ?, por que acredito que ficar testando de duas em duas perderia muito tempo

2 respostas
solução!

Olá Gediel,

Quando há várias features, utiliza-se de técnicas chamadas Feature Selection, consistindo em escolher as melhores features a fim de otimizar o seu modelo. Deixo aqui algumas sugestões, porém você pode ver a documentação completa do Scikit-Learn aqui ou assistir um curso próprio da Alura focado nesse conteúdo nesse link.

  • Matriz de Correlação: analisa a correlação de cada feature sem a necessidade de se fazer o pairplot, é um número que vai de -1 a 1, proporcional à correlação entre as features. Você pode utilizar o pandas junto ao seaborn para uma melhor visualização:

    # Mostra um DataFrame com os valores de correlação entre todas as colunas numéricas
    dados.corr()
    # Plota usando cores para distinguir forte correlação proporcional ou inversamente proporcional
    sns.heatmap(dados.corr())
  • SelectKBest: no curso da Alura deixado no link acima, o instrutor explica detalhadamente como funciona essa técnica, mas basicamente há uma seleção das features que melhor explicam os seus dados como um todo, pois há features que possuem maior importância no resultado de um treinamento e predição. Um código exemplo do próprio Scikit-Learn, documentação completa:

    # Dataset de exemplo do Sklearn
    >>> from sklearn.datasets import load_digits
    # Métodos
    >>> from sklearn.feature_selection import SelectKBest, chi2
    >>> X, y = load_digits(return_X_y=True)
    # O Dataset de exemplo possui 64 features / colunas
    >>> X.shape
    (1797, 64)
    # Diminui-se para 20 colunas usando a métrica do chi quadrado, selecionando as 20 que melhor explicam o Dataset
    >>> X_new = SelectKBest(chi2, k=20).fit_transform(X, y)
    >>> X_new.shape
    (1797, 20)

Espero ter ajudado.

Muito obrigado, com certeza ajudou! vou testar em meus projetos, qualquer dúvida deixo no forum!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software