W tej jednostce omówiliśmy sposoby mapowania danych nieprzetworzonych na odpowiednie wektory cech. Dobre cechy numeryczne mają właściwości opisane w tej sekcji.
wyraźnie nazwane;
Każda funkcja powinna mieć jasne, sensowne i oczywiste znaczenie dla wszystkich osób zaangażowanych w projekt. Na przykład znaczenie tej wartości funkcji jest niejasne:
Niezalecane
house_age: 851472000
Natomiast nazwa i wartość tej funkcji są znacznie bardziej czytelne:
Zalecane
house_age_years: 27
sprawdzone lub przetestowane przed szkoleniem,
Chociaż w tym module poświęciliśmy sporo czasu wypadkom, jest to na tyle ważny temat, że warto o nim jeszcze raz wspomnieć. W niektórych przypadkach za niejasne wartości odpowiadają nieprawidłowe dane (a nie błędy projektowe). Na przykład:
ta user_age_in_years
pochodzi ze źródła, które nie sprawdzało odpowiednich wartości:
Niezalecane
user_age_in_years: 224
Jednak możesz mieć 24 lata:
Zalecane
user_age_in_years: 24
Sprawdź swoje dane.
Sensible
„Magiczna wartość” to celowe przerwanie ciągłej funkcji. Załóżmy na przykład, że ciągła cecha o nazwie watch_time_in_seconds
może przyjmować dowolną wartość zmiennoprzecinkową z zakresu od 0 do 30, ale reprezentuje brak pomiaru z wartością magiczną -1:
Niezalecane
watch_time_in_seconds: -1
Wartość watch_time_in_seconds
równa –1 spowoduje, że model będzie musiał się domyślić, co oznacza oglądanie filmu wstecz. Uzyskany model prawdopodobnie nie będzie dobrze prognozował.
Lepszą techniką jest utworzenie osobnej cechy logicznej, która wskazuje, czy podano wartość atrybutu watch_time_in_seconds
. Na przykład:
Zalecane
watch_time_in_seconds: 4.82
is_watch_time_in_seconds_defined=Truewatch_time_in_seconds: 0
is_watch_time_in_seconds_defined=False
Jest to sposób na obsługę zbioru danych ciągłych z brakami w wartościach. Teraz rozważ ciągłą cechę numeryczną, np. product_category
, której wartości muszą należeć do skończonego zbioru wartości. W tym przypadku, gdy brakuje wartości, należy ją zastąpić nową wartością w zbiorze skończonym. W przypadku cechy dyskretnej model będzie uczyć się różnych wag dla każdej wartości, w tym oryginalnych wag dla brakujących cech.
Możemy sobie wyobrazić możliwe wartości pasujące do zbioru:
{0: 'electronics', 1: 'books', 2: 'clothing', 3: 'missing_category'}.