Menu
CoddyTech

Korrelation

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

Ein Merkmal, das sich mit dem Zielwert verändert, hilft einem Modell bei dessen Vorhersage. Die Korrelation r bewertet, wie eng zwei Spalten einer geraden Linie folgen, von -1 bis 1:

Sechs kleine Streudiagramme mit ihren r-Werten: -0.9 und -0.5 fallen, 0.0 ist eine formlose Punktwolke, 0.5 und 0.9 steigen, und 1.0 ist eine perfekte ansteigende Linie

Sechs Wochen Werbung und Umsatz eines Geschäfts: np.corrcoef gibt eine 2-mal-2-Tabelle zurück, jedes Array mit jedem, mit r bei [0, 1]. .corr einer Spalte gibt den Wert direkt zurück:

ads = np.array([100, 200, 150, 300, 250, 50])
sales = np.array([430, 520, 560, 760, 610, 410])
print(np.round(np.corrcoef(ads, sales), 2))
shop = pd.DataFrame({"ads": ads, "sales": sales})
print(np.round(shop["ads"].corr(shop["sales"]), 2))

Das gibt Folgendes aus:

[[1.   0.94]
 [0.94 1.  ]]
0.94

Bei 0,94 verkauften sich in Wochen mit mehr Werbung eindeutig mehr Produkte.

challenge icon

Aufgabe

Mittel

Ein Fitnessstudio hat 20 Mitglieder über drei Monate hinweg in gym.csv erfasst, mit den Spalten visits, classes, minutes_per_visit, age und weight_change_kg. Das Programm liest zwei Spaltennamen ein.

  1. Gib die beiden Namen und ihr r, auf 2 Dezimalstellen gerundet, wie unten aus.
  2. Gib Direction: positive aus, wenn r größer als 0.3 ist, negative, wenn es kleiner als -0.3 ist, andernfalls none.

Für die laps und minutes eines Schwimmvereins:

laps and minutes: r = 0.95
Direction: positive

Probier es selbst

import numpy as np
import pandas as pd

gym = pd.read_csv("gym.csv")
first = input()
second = input()

# 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