Os cruzamentos de atributos são criados cruzando (tomando o produto cartesiano de) dois ou mais atributos categóricos ou agrupados do conjunto de dados. Assim como as transformações polinomiais, os cruzamentos de atributos permitem que modelos lineares processem não linearidades. Os cruzamentos de atributos também codificam interações entre os atributos.
Por exemplo, considere um conjunto de dados de folhas com os recursos categóricos:
edges
, contendo os valoressmooth
,toothed
elobed
arrangement
, contendo os valoresopposite
ealternate
Suponha que a ordem acima seja a ordem das colunas de recursos em uma representação
one-hot, de modo que uma folha com bordas smooth
e arranjo opposite
seja representada como {(1, 0, 0), (1, 0)}
.
O cruzamento de atributos, ou produto cartesiano, desses dois atributos seria:
{Smooth_Opposite, Smooth_Alternate, Toothed_Opposite, Toothed_Alternate,
Lobed_Opposite, Lobed_Alternate}
em que o valor de cada termo é o produto dos valores do recurso base, de modo que:
Smooth_Opposite = edges[0] * arrangement[0]
Smooth_Alternate = edges[0] * arrangement[1]
Toothed_Opposite = edges[1] * arrangement[0]
Toothed_Alternate = edges[1] * arrangement[1]
Lobed_Opposite = edges[2] * arrangement[0]
Lobed_Alternate = edges[2] * arrangement[1]
Por exemplo, se uma folha tiver uma aresta lobed
e um arranjo alternate
, o vetor de recurso cruzado terá um valor de 1 para Lobed_Alternate
e um valor de 0 para todos os outros termos:
{0, 0, 0, 0, 0, 1}
Esse conjunto de dados pode ser usado para classificar folhas por espécie de árvore, já que essas características não variam dentro de uma espécie.
Quando usar cruzamentos de recursos
O conhecimento do domínio pode sugerir uma combinação útil de recursos para cruzar. Sem esse conhecimento de domínio, pode ser difícil determinar manualmente cruzamentos de recursos ou transformações polinomiais eficazes. Muitas vezes, é possível usar redes neurais para encontrar e aplicar automaticamente combinações de recursos úteis durante o treinamento, mesmo que isso seja computacionalmente caro.
Tenha cuidado: cruzar dois recursos raros produz um recurso novo ainda mais raro do que os dois originais. Por exemplo, se o atributo A tiver 100 elementos e o atributo B tiver 200 elementos, um cruzamento de A e B vai gerar um atributo com 20.000 elementos.