צירופי מאפיינים נוצרים על ידי צירוף (יצירת המוצר הקרטזיאני של) שני מאפיינים קטגוריאליים או מאפיינים שמחולקים לקטגוריות או יותר של מערך הנתונים. בדומה לטרנספורמציות פולינומיות, צירופי תכונות מאפשרים למודלים לינאריים לטפל בבעיות לא לינאריות. צמתים של תכונות גם מקודדים אינטראקציות בין תכונות.
לדוגמה, נניח שקיבלתם מערך נתונים של עלה עם המאפיינים הקטגוריים הבאים:
edges
, שמכיל את הערכיםsmooth
,toothed
ו-lobed
arrangement
, שמכיל את הערכיםopposite
ו-alternate
נניח שהסדר שלמעלה הוא הסדר של עמודות המאפיינים בייצוג one-hot, כך שעלעל עם smooth
קצוות וסדר opposite
מיוצג כ-{(1, 0, 0), (1, 0)}
.
המכפלה הווקטורית (cross product) או המכפלה הקרטזית של שתי התכונות האלה תהיה:
{Smooth_Opposite, Smooth_Alternate, Toothed_Opposite, Toothed_Alternate,
Lobed_Opposite, Lobed_Alternate}
כאשר הערך של כל מונח הוא המכפלה של ערכי המאפיינים הבסיסיים, כך:
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]
לדוגמה, אם לעלעל יש קצה lobed
וסדר alternate
, הערך של המאפיין-המעבר של הווקטור יהיה 1 עבור Lobed_Alternate
, והערך יהיה 0 לכל שאר המונחים:
{0, 0, 0, 0, 0, 1}
אפשר להשתמש במערך הנתונים הזה כדי לסווג עלים לפי מיני עצים, כי המאפיינים האלה לא משתנים בתוך מין.
מתי כדאי להשתמש בממשקי Feature Cross
ידע בתחום יכול להציע שילוב שימושי של תכונות ליצירת מודל. בלי הידע הזה, קשה לקבוע באופן ידני שילובים יעילים של תכונות או טרנספורמציות פולינומיות. בדרך כלל אפשר להשתמש ברשתות נוירונליות כדי למצוא וליישם באופן אוטומטי שילובים שימושיים של מאפיינים במהלך האימון, גם אם העלויות החישוביות גבוהות.
חשוב להיזהר – כשמערבבים בין שתי תכונות דלילות, התוצאה היא תכונה חדשה דלילה עוד יותר משתי התכונות המקוריות. לדוגמה, אם מאפיין א' הוא מאפיין דליל עם 100 רכיבים ומאפיין ב' הוא מאפיין דליל עם 200 רכיבים, המאפיין המצטבר של א' ו-ב' יהיה מאפיין דליל עם 20,000 רכיבים.