Até agora, damos a você a impressão de que um modelo atua diretamente sobre uma linhas de um conjunto de dados; No entanto, os modelos ingerem dados de maneira um pouco diferente.
Por exemplo, suponha que um conjunto de dados forneça cinco colunas, mas apenas duas delas
colunas (b
e d
) são atributos no modelo. Durante o processamento
no exemplo da linha 3, será que o modelo simplesmente captura o conteúdo da
destacou duas células (3b e 3d) da seguinte maneira?
Na verdade, o modelo ingere uma matriz de valores de ponto flutuante chamada vetor de recurso. Você pode pensar de um vetor de recurso como os valores de ponto flutuante, formando um exemplo.
No entanto, os vetores de atributo raramente usam os valores brutos do conjunto de dados. Em vez disso, você normalmente precisa processar os valores do conjunto de dados em representações que o modelo pode usar para aprender. Então, uma abordagem e o vetor de atributo pode ficar assim:
Um modelo não produziria melhores previsões com o treinamento da valores reais no conjunto de dados do que dos valores alterados? Surpreendentemente, a resposta é não.
Determine a melhor maneira de representar valores brutos de conjuntos de dados como treináveis no vetor do atributo. Esse processo é chamado engenharia de atributos, e é uma parte vital do machine learning. As técnicas mais comuns de engenharia de atributos são:
- Normalização: conversão valores numéricos em um intervalo padrão.
- Agrupamento por classes (também conhecido como agrupamento por classes): conversão numérica valores em intervalos de intervalos.
Nesta unidade, abordamos a normalização e agrupamento por classes. A próxima unidade, Como trabalhar com dados categóricos abrange outras formas de pré-processamento, como conversão de dados não numéricos, como strings, em valores de ponto flutuante.
Cada valor em um vetor de recurso precisa ser um valor de ponto flutuante. No entanto, muitos os atributos são naturalmente strings ou outros valores não numéricos. Consequentemente, boa parte da engenharia de atributos representa valores não numéricos como valores numéricos. Você vai encontrar mais informações sobre isso nos próximos módulos.