Numerische Daten: Eigenschaften guter numerischer Merkmale

In diesem Modul haben wir uns mit Möglichkeiten zur Zuordnung von Rohdaten zu geeigneten Featurevektoren befasst. Gute numerische Features haben die in diesem Abschnitt beschriebenen Eigenschaften.

eindeutig benannt

Jedes Element sollte für alle am Projekt beteiligten Personen eine klare, sinnvolle und offensichtliche Bedeutung haben. Die Bedeutung des folgenden Featurewerts ist beispielsweise verwirrend:

Nicht empfohlen

house_age: 851472000

Im Gegensatz dazu sind der folgende Featurename und Wert viel verständlicher:

Empfohlen

house_age_years: 27

Vor dem Training geprüft oder getestet

In diesem Modul haben wir viel Zeit auf Ausbrüche verwendet. Das Thema ist jedoch so wichtig, dass es noch einmal erwähnt werden sollte. In einigen Fällen sind nicht schlechte Engineering-Entscheidungen, sondern schlechte Daten für unklare Werte verantwortlich. Der folgende user_age_in_years stammt beispielsweise aus einer Quelle, in der keine geeigneten Werte geprüft wurden:

Nicht empfohlen

user_age_in_years: 224

Personen können aber 24 Jahre alt sein:

Empfohlen

user_age_in_years: 24

Prüfen Sie Ihre Daten.

Vernünftig

Ein „magischer Wert“ ist eine beabsichtigte Unterbrechung in einer ansonsten kontinuierlichen Funktion. Angenommen, ein kontinuierliches Merkmal namens watch_time_in_seconds kann jeden Gleitkommawert zwischen 0 und 30 enthalten, aber mit dem magischen Wert -1 die Abwesenheit einer Messung darstellt:

Nicht empfohlen

watch_time_in_seconds: -1

Bei einem Wert von -1 für watch_time_in_seconds müsste das Modell herausfinden, was es bedeutet, einen Film rückwärts anzusehen. Das resultierende Modell würde wahrscheinlich keine guten Vorhersagen treffen.

Besser ist es, eine separate boolesche Funktion zu erstellen, die angibt, ob ein watch_time_in_seconds-Wert angegeben ist oder nicht. Beispiel:

Empfohlen

watch_time_in_seconds: 4.82
is_watch_time_in_seconds_defined=True

watch_time_in_seconds: 0
is_watch_time_in_seconds_defined=False

So können Sie mit einem kontinuierlichen Datensatz mit fehlenden Werten umgehen. Betrachten wir nun ein diskretes numerisches Merkmal wie product_category, dessen Werte zu einer endlichen Menge von Werten gehören müssen. Wenn in diesem Fall ein Wert fehlt, geben Sie diesen fehlenden Wert mit einem neuen Wert aus dem endlichen Satz an. Bei einem diskreten Merkmal lernt das Modell für jeden Wert unterschiedliche Gewichtungen, einschließlich der ursprünglichen Gewichtungen für fehlende Features.

Mögliche Werte für den Satz könnten beispielsweise so aussehen:

{0: 'electronics', 1: 'books', 2: 'clothing', 3: 'missing_category'}.