Menu
CoddyTech

Luftqualität

Teil des Abschnitts Statistik für ML der Machine Learning-Journey von Coddy. Lektion 62 von 64.

Eine Stadt möchte eine kurzfristige Prognose für Feinstaub, PM2.5. Ihr Straßensensor hat 40 Tage in air.csv protokolliert:

Eine Linie mit den täglichen PM2.5-Werten über 40 Tage, die zwischen etwa 16 und 61 schwanken; jeden Tag liegen die Werte über einer gestrichelten Linie bei 15, die als WHO-Tagesrichtwert gekennzeichnet ist

Jede Zeile enthält die Wind-, Temperatur-, Luftfeuchtigkeits- und Verkehrsdaten eines Tages sowie pm25. Einer dieser Werte bildet den Feinstaub deutlich besser ab als die übrigen.

Finde sie, passe eine Gerade an und sage, wie weit du ihr vertrauen kannst: wie viel sie erklärt, wo sie am meisten danebenliegt und wann eine Prognose die Daten hinter sich lässt.

challenge icon

Aufgabe

Schwer

Das Programm liest den Wert eines neuen Tages für das beste Merkmal ein. Runde auf 2 Dezimalstellen.

  1. Gib das Merkmal mit dem stärksten r mit pm25 aus, wobei das Vorzeichen ignoriert wird, sowie dessen vorzeichenbehaftetes r.
  2. Lege eine Gerade an. Gib sie, ihr R squared und die Zeile aus, bei der die Abweichung am größten ist, zusammen mit diesem Residuum.
  3. Erstelle eine Vorhersage für den Wert und gib eine Warnung aus, wenn er außerhalb der Daten des Merkmals liegt.
  4. Zeichne Punkte und die rote Gerade vom kleinsten bis zum größten Wert: Titel Air Quality, das Merkmal auf der waagerechten Achse, PM2.5 auf der senkrechten Achse.

Für eine andere Stadt und die Eingabe 8:

Best feature: traffic_k (r = 0.86)
Line: pm25 = 1.11 * traffic_k + 13.67
R squared: 0.73
Largest miss: row 14 (residual 11.15)
Prediction at 8.0: 22.57
Warning: outside the data

Ein Streudiagramm mit dem Titel Air Quality, traffic_k auf der waagerechten und PM2.5 auf der senkrechten Achse, 30 Punkte, die nach rechts ansteigen, mit einer roten angepassten Geraden durch sie

Nach deinen Zeilen beschreibt Coddy dein Diagramm.

Probier es selbst

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt

value = float(input())
df = pd.read_csv("air.csv")

# 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 Statistik für ML

Übe selbstständig: Online-Python-Compiler