Wie erstellt man in Python einen Plot der die Regressionsgerade einer multiplen linearen Regression darstellt?

Moin, ich bin gerade dabei die explainable AI Methode LIME selber zu implementieren und habe habe gerade ein Problem damit die Ergebnisse darzustellen.

Kurz zu meinem Vorgehen:

  • ich habe ein neuronales Netz auf einem Datensatz mit 4 Variablen trainiert: Temperatur, Luftfeuchtigkeit, Windgeschwindigkeit und ob die Anzahl der geliehenen Fahrräder an einem Tag über oder unter dem Durchschnitt liegen wird (Klassifikationsproblem)
  • Dann habe ich Samples der Daten aus einer Normalverteilung gezogen und diese mit dem LIME Kernel gewichtet, wobei hier die Nähe zu dem Datenpunkt, der erklärt werden soll, eine Rolle spielt
  • Anschließen habe ich die Samples mit dem ML Model klassifiziert
  • Danach habe ich eine multiple gewichtete Lineare Regression mit den Samples, deren Gewichten und deren Klassifikation gefittet, wobei ich das feature Windgeschwindigkeit rausgeschmissen hab, damit man die Ergebnisse gut in einem Plot darstellen kann
  • Mein Plot sieht folgendermaßen aus: Temperatur auf der X Achse, Luftfeuchtigkeit auf der Y Achse und die Farben der Punkte stellt deren Klassifikation dar -> Wie kann ich nun die Regressionsgerade in den Plot einzeichnen um die Entscheidungsgrenze darzustellen ? (Ich benutze Matplotlib)
(1 votes)
Loading...

Similar Posts

Subscribe
Notify of
1 Answer
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
xanswers
1 year ago

import numpy as np

import matplotlib.pyplot as plt

from sklearn.linear_model import LinearRegression

# Annahme: Du hast bereits deine Daten und deine Regression durchgeführt

# Beispiel-Daten

temperatur = np.random.rand(100) * 30 # Beispielwerte für Temperatur

luftfeuchtigkeit = np.random.rand(100) * 100 # Beispielwerte für Luftfeuchtigkeit

klassifikation = np.random.randint(0, 2, size=100) # Beispielwerte für Klassifikation (0 oder 1)

# Annahme: Du hast bereits LIME durchgeführt und die gewichtete lineare Regression durchgeführt

# Beispiel-Koeffizienten der linearen Regression

coefficients = np.array([2.5, -1.8])

# Plot der Datenpunkte

plt.scatter(temperatur, luftfeuchtigkeit, c=klassifikation, cmap=plt.cm.Paired)

# Berechne die Regressionsgerade

x_values = np.linspace(min(temperatur), max(temperatur), 100)

y_values = (-coefficients[0] * x_values) / coefficients[1]

# Füge die Regressionsgerade zum Plot hinzu

plt.plot(x_values, y_values, color=’black’, linewidth=2, label=’Regressionsgerade’)

# Beschriftungen und Legende

plt.xlabel(‘Temperatur’)

plt.ylabel(‘Luftfeuchtigkeit’)

plt.legend()

# Zeige den Plot

plt.show()

Stelle sicher, dass die Anzahl der Koeffizienten in

coefficients

mit der Anzahl der Features in deinem Modell übereinstimmt. Dieses Beispiel geht von zwei Features aus (Temperatur und Luftfeuchtigkeit), daher gibt es zwei Koeffizienten.