Menu
CoddyTech

Mehrere Merkmale

Teil des Abschnitts Überwachtes Lernen der Machine Learning-Journey von Coddy. Lektion 12 von 58.

Der Preis eines Hauses hängt von mehr als nur seiner Größe ab: Ein langer Fußweg zum Bahnhof senkt ihn. Aus beidem lernt ein Modell und zeichnet parallele Linien:

Zehn Häuser als Punkte, Preis im Verhältnis zur Fläche: Häuser in Bahnhofsnähe blau, weiter entfernte als orangefarbene Quadrate. Zwei parallele Modelllinien für einen 5- beziehungsweise 25-minütigen Fußweg; die Linie für 25 Minuten liegt bei jeder Größe 102 Tausend Dollar tiefer

Im Code erhält X beide Spalten und coef_ ein Gewicht pro Merkmal:

X = houses[["area_m2", "minutes_walk"]]
model = LinearRegression()
model.fit(X, houses["price"])
print(np.round(model.coef_, 1))

Dies gibt aus:

[ 2.6 -5.1]

Die Gewichte entsprechen den Spalten von X. Jeder zusätzliche m² erhöht den Preis um 2,6 Tausend Dollar; jede zusätzliche Gehminute senkt ihn um 5,1 Tausend, während das andere Merkmal unverändert bleibt.

Die Einheit eines Gewichts ist die Einheit des Ziels pro Einheit seines Merkmals: Tausende pro m², pro Minute.

challenge icon

Aufgabe

Mittel

Ein Caterer erstellt Kostenvoranschläge für neue Veranstaltungen anhand von 40 vergangenen Veranstaltungen in events.csv: guests, courses, months_ahead (wie früh im Voraus gebucht wurde) und cost in Dollar. Das Starterprogramm liest eine neue Veranstaltung in new_event ein.

  1. Passe eine LinearRegression für die Kosten anhand der features an.
  2. Gib für jedes Merkmal aus, wie viel eine Einheit mehr hinzufügt oder abzieht (2 Dezimalstellen).
  3. Gib den Kostenvoranschlag für die neue Veranstaltung aus (2 Dezimalstellen).

Für einen anderen Caterer:

Each extra guest adds 41.5 dollars
Each extra course adds 198.25 dollars
Each extra month booked ahead takes off 22.8 dollars
Quote: 4312.6 dollars

Probier es selbst

import numpy as np
import pandas as pd
from sklearn.linear_model import LinearRegression

# Eine Zeile pro vergangener Veranstaltung: Gäste, Gänge, Monate im Voraus gebucht, Kosten in Dollar
events = pd.read_csv("events.csv")
features = ["guests", "courses", "months_ahead"]
units = ["guest", "course", "month booked ahead"]
# Die neue Veranstaltung als Tabelle mit einer Zeile
guests = int(input())
courses = int(input())
months = int(input())
new_event = pd.DataFrame({"guests": [guests], "courses": [courses], "months_ahead": [months]})

# Schreibe deinen Code unten
quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Überwachtes Lernen

Übe selbstständig: Online-Python-Compiler