Lineare Regression wird verwendet, wenn wir einen numerischen Wert vorhersagen möchten (zum Beispiel Hauspreis, Temperatur oder Umsatz). Sie funktioniert, indem sie eine Gerade findet, die am besten die Beziehung zwischen Eingabemerkmalen und Ausgabe darstellt.
In dieser Lektion konzentrieren wir uns darauf, das Konzept zu verstehen, bevor wir fortgeschrittenere Regressionsmethoden erkunden.

Infografik von Dasani Madipalli
Bisher haben Sie erkundet, was Regression mit Beispieldaten aus dem Kürbisdaten-Set ist, das wir im Verlauf dieser Lektion verwenden werden. Sie haben es auch mit Matplotlib visualisiert.
Nun sind Sie bereit, tiefer in Regression für ML einzutauchen. Während Visualisierung Ihnen hilft, Daten zu verstehen, liegt die wahre Kraft des maschinellen Lernens im Trainieren von Modellen. Modelle werden anhand historischer Daten trainiert, um Datenabhängigkeiten automatisch zu erfassen, und ermöglichen es Ihnen, Ergebnisse für neue Daten vorherzusagen, die das Modell noch nicht gesehen hat.
In dieser Lektion lernen Sie zwei Arten der Regression näher kennen: einfache lineare Regression und polynomiale Regression, zusammen mit der Mathematik hinter diesen Techniken. Diese Modelle ermöglichen es uns, Kürbisspreise basierend auf verschiedenen Eingabedaten vorherzusagen.
🎥 Klicken Sie auf das Bild oben für eine kurze Videoübersicht zur linearen Regression.
Im gesamten Curriculum gehen wir von minimalen Mathematikkenntnissen aus und bemühen uns, es für Studierende aus anderen Fachrichtungen zugänglich zu machen. Achten Sie daher auf Hinweise, 🧮 Mathe-Abschnitte, Diagramme und andere Lernhilfen zur besseren Verständlichkeit.
Sie sollten inzwischen mit der Struktur der Kürbisdaten vertraut sein, die wir untersuchen. Sie finden diese vorab geladen und bereinigt in der notebook.ipynb-Datei dieser Lektion. Dort wird der Kürbisspreis pro Scheffel in einem neuen DataFrame angezeigt. Stellen Sie sicher, dass Sie diese Notebooks in Visual Studio Code ausführen können.
Zur Erinnerung: Sie laden diese Daten, um Fragen an sie zu stellen.
- Wann ist die beste Zeit, Kürbisse zu kaufen?
- Welchen Preis kann ich für eine Kiste Miniaturkürbisse erwarten?
- Sollte ich sie in halben Scheffel-Körben oder im 1 1/9 Scheffel-Karton kaufen? Lassen Sie uns weiter in diese Daten eintauchen.
In der vorherigen Lektion haben Sie einen Pandas-DataFrame erstellt und mit Teilen des ursprünglichen Datensatzes gefüllt, wobei die Preise standardisiert pro Scheffel angegeben wurden. Dadurch hatten Sie allerdings nur etwa 400 Datenpunkte und nur für die Herbstmonate.
Sehen Sie sich die Daten an, die wir im begleitenden Notebook dieser Lektion vorladen. Die Daten sind vorab geladen und ein erster Streudiagramm wird geplottet, um Monatsdaten anzuzeigen. Vielleicht können wir durch weitere Bereinigung mehr Details über die Art der Daten herausfinden.
Wie Sie in Lektion 1 gelernt haben, ist das Ziel einer linearen Regression, eine Linie zu plotten, die:
- Variable Beziehungen zeigt. Zeigt die Beziehung zwischen Variablen.
- Vorhersagen macht. Macht genaue Vorhersagen darüber, wo ein neuer Datenpunkt in Bezug auf diese Linie liegen würde.
Typischerweise wird diese Art Linie mit Methode der kleinsten Quadrate (Least-Squares Regression) gezeichnet. Der Begriff „kleinste Quadrate“ bezieht sich auf den Prozess, den Gesamtfehler unseres Modells zu minimieren. Für jeden Datenpunkt messen wir die vertikale Entfernung (Residual genannt) zwischen dem tatsächlichen Punkt und unserer Regressionslinie.
Diese Abstände quadrieren wir aus zwei Hauptgründen:
-
Betrag vor Richtung: Wir wollen einen Fehler von -5 genauso behandeln wie einen Fehler von +5. Das Quadrieren macht alle Werte positiv.
-
Bestrafung von Ausreißern: Durch Quadrieren erhalten größere Fehler ein größeres Gewicht, was die Linie dazu zwingt, näher an entfernten Punkten zu bleiben.
Anschließend summieren wir alle quadrierten Werte. Unser Ziel ist es, genau die Linie zu finden, bei der diese endgültige Summe am kleinsten ist (der kleinstmögliche Wert) – daher der Name „Methode der kleinsten Quadrate“.
🧮 Zeig mir die Mathematik
Diese Linie, auch als Line of Best Fit bezeichnet, kann durch eine Gleichung ausgedrückt werden:
Y = a + bX
Xist die ‚erklärende Variable‘.Yist die ‚abhängige Variable‘. Die Steigung der Linie istbundaist der y-Achsenabschnitt, also der Wert vonY, wennX = 0ist.Berechnung der Steigung
b. Infografik von Jen LooperAnders ausgedrückt und im Hinblick auf die ursprüngliche Fragestellung unserer Kürbisdaten: "Vorhersage des Preises eines Kürbisses pro Scheffel nach Monat" würde
Xfür den Preis stehen undYfür den Verkaufsmonat.Berechnung des Werts von Y. Wenn man ungefähr 4 $ bezahlt, muss es April sein! Infografik von Jen Looper
Die Formel, die die Linie berechnet, muss die Steigung der Linie darstellen, die auch vom Achsenabschnitt abhängt, also dem Ort, wo
Yliegt, wennX = 0.Die Berechnung der Werte kann auf der Webseite Math is Fun nachvollzogen werden. Besuchen Sie auch diesen Methode-der-kleinsten-Quadrate-Rechner, um zu sehen, wie sich Werte auf die Linie auswirken.
Ein weiterer Begriff, den Sie verstehen sollten, ist der Korrelationskoeffizient zwischen bestimmten X- und Y-Variablen. Mittels Streudiagramm können Sie diesen Koeffizienten schnell visualisieren. Ein Plot mit Punkten, die auf einer sauberen Linie liegen, weist eine hohe Korrelation auf, während Punkte, die überall verstreut sind, eine niedrige Korrelation anzeigen.
Ein gutes lineares Regressionsmodell weist mit der Methode der kleinsten Quadrate eine hohe (näher an 1 als an 0) Korrelation für die Regressionslinie auf.
✅ Führen Sie das zugehörige Notebook dieser Lektion aus und betrachten Sie das Streudiagramm von Monat zu Preis. Scheint laut Ihrer visuellen Interpretation der Punktverteilung die Zuordnung Monat zu Preis bei Kürbisverkäufen eine hohe oder niedrige Korrelation zu haben? Ändert sich das, wenn Sie anstatt des Monats eine feinere Messgröße verwenden, z. B. den Tag des Jahres (also die Anzahl der Tage seit Jahresbeginn)?
Im folgenden Code nehmen wir an, dass wir die Daten bereinigt haben und einen DataFrame namens new_pumpkins erhalten haben, der etwa so aussieht:
| ID | Monat | TagImJahr | Sorte | Stadt | Verpackung | Niedrigster Preis | Höchster Preis | Preis |
|---|---|---|---|---|---|---|---|---|
| 70 | 9 | 267 | PIE TYPE | BALTIMORE | 1 1/9 Scheffel Kartons | 15.0 | 15.0 | 13.636364 |
| 71 | 9 | 267 | PIE TYPE | BALTIMORE | 1 1/9 Scheffel Kartons | 18.0 | 18.0 | 16.363636 |
| 72 | 10 | 274 | PIE TYPE | BALTIMORE | 1 1/9 Scheffel Kartons | 18.0 | 18.0 | 16.363636 |
| 73 | 10 | 274 | PIE TYPE | BALTIMORE | 1 1/9 Scheffel Kartons | 17.0 | 17.0 | 15.454545 |
| 74 | 10 | 281 | PIE TYPE | BALTIMORE | 1 1/9 Scheffel Kartons | 15.0 | 15.0 | 13.636364 |
Der Code zum Bereinigen der Daten ist in
notebook.ipynbverfügbar. Wir haben die gleichen Bereinigungsschritte wie in der vorherigen Lektion durchgeführt und die SpalteTagImJahrmit folgendem Ausdruck berechnet:
day_of_year = pd.to_datetime(pumpkins['Date']).apply(lambda dt: (dt-datetime(dt.year,1,1)).days)Jetzt, wo Sie das mathematische Fundament der linearen Regression verstanden haben, erstellen wir ein Regressionsmodell, um zu sehen, ob wir vorhersagen können, welches Verpackungspaket die besten Kürbisspreise haben wird. Jemand, der für ein Urlaubskürbisfeld Kürbisse kauft, möchte diese Information, um seine Käufe zu optimieren.
🎥 Klicken Sie auf das Bild oben für eine kurze Videoübersicht zur Korrelation.
Aus der vorherigen Lektion wissen Sie wahrscheinlich, dass der Durchschnittspreis für verschiedene Monate so aussieht:
Das deutet darauf hin, dass eine Korrelation bestehen sollte, und wir können versuchen, ein lineares Regressionsmodell zu trainieren, um die Beziehung zwischen Monat und Preis oder zwischen TagImJahr und Preis vorherzusagen. Hier ist das Streudiagramm, das letztere Beziehung zeigt:
Sehen wir nach, ob eine Korrelation mit der Funktion corr besteht:
print(new_pumpkins['Month'].corr(new_pumpkins['Price']))
print(new_pumpkins['DayOfYear'].corr(new_pumpkins['Price']))Die Korrelation ist offenbar recht klein, -0,15 beim Monat und -0,17 beim TagImMonat, aber es könnte einen weiteren wichtigen Zusammenhang geben. Es scheint verschiedene Preisgruppen zu geben, die verschiedenen Kürbissorten entsprechen. Um diese Hypothese zu bestätigen, plotten wir jede Kürbissorte mit einer anderen Farbe. Indem wir der scatter-Plotfunktion einen ax-Parameter übergeben, können wir alle Punkte auf demselben Diagramm darstellen:
ax=None
colors = ['red','blue','green','yellow']
for i,var in enumerate(new_pumpkins['Variety'].unique()):
df = new_pumpkins[new_pumpkins['Variety']==var]
ax = df.plot.scatter('DayOfYear','Price',ax=ax,c=colors[i],label=var)Unsere Untersuchung legt nahe, dass die Sorte einen größeren Einfluss auf den Gesamtpreis hat als das tatsächliche Verkaufsdatum. Das sehen wir auch in einem Balkendiagramm:
new_pumpkins.groupby('Variety')['Price'].mean().plot(kind='bar')Fokussieren wir uns jetzt nur auf eine Kürbissorte, die 'pie type', und betrachten den Einfluss des Datums auf den Preis:
pie_pumpkins = new_pumpkins[new_pumpkins['Variety']=='PIE TYPE']
pie_pumpkins.plot.scatter('DayOfYear','Price') Wenn wir nun die Korrelation zwischen Preis und TagImJahr mit der Funktion corr berechnen, erhalten wir etwa -0.27 – was bedeutet, dass es sinnvoll ist, ein Vorhersagemodell zu trainieren.
Bevor Sie ein lineares Regressionsmodell trainieren, ist es wichtig sicherzustellen, dass unsere Daten sauber sind. Lineare Regression funktioniert nicht gut mit fehlenden Werten, daher macht es Sinn, alle leeren Zellen zu entfernen:
pie_pumpkins.dropna(inplace=True)
pie_pumpkins.info()Eine weitere Möglichkeit wäre, diese leeren Werte mit Mittelwerten aus der entsprechenden Spalte zu füllen.
🎥 Klicken Sie auf das Bild oben für eine kurze Videoübersicht zu linearer und polynomialer Regression.
Um unser lineares Regressionsmodell zu trainieren, verwenden wir die Scikit-learn-Bibliothek.
from sklearn.linear_model import LinearRegression
from sklearn.metrics import mean_squared_error
from sklearn.model_selection import train_test_splitWir beginnen damit, Eingabewerte (Features) und die erwartete Ausgabe (Label) in separate numpy-Arrays aufzuteilen:
X = pie_pumpkins['DayOfYear'].to_numpy().reshape(-1,1)
y = pie_pumpkins['Price']Beachten Sie, dass wir die Eingabedaten
reshape-en mussten, damit das Linear Regression Paket sie korrekt versteht. Lineare Regression erwartet ein 2D-Array als Eingabe, bei dem jede Zeile einem Vektor von Eingabe-Features entspricht. Da wir nur ein Feature haben, benötigen wir ein Array der Form N×1, wobei N die Datensatzgröße ist.
Anschließend teilen wir die Daten in Trainings- und Testdatensätze auf, damit wir unser Modell nach dem Training validieren können:
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=0)Das Training des eigentlichen linearen Regressionsmodells benötigt nur zwei Codezeilen. Wir definieren das LinearRegression-Objekt und passen es mit der Methode fit an unsere Daten an:
lin_reg = LinearRegression()
lin_reg.fit(X_train,y_train)Das LinearRegression-Objekt enthält nach dem fit-ten alle Koeffizienten der Regression, auf die über die .coef_-Eigenschaft zugegriffen werden kann. In unserem Fall gibt es nur einen Koeffizienten, der etwa -0.017 sein sollte. Das bedeutet, dass die Preise mit der Zeit etwas zu sinken scheinen, aber nicht zu stark, etwa 2 Cent pro Tag. Wir können auch den Schnittpunkt der Regression mit der Y-Achse über lin_reg.intercept_ abrufen – dieser wird in unserem Fall etwa 21 betragen und zeigt den Preis zu Beginn des Jahres an.
Um zu sehen, wie genau unser Modell ist, können wir die Preise auf einem Testdatensatz vorhersagen und dann messen, wie nah unsere Vorhersagen an den erwarteten Werten liegen. Dies kann mit der mittleren quadratischen Abweichung (MSE) gemessen werden, die der Mittelwert aller quadrierten Differenzen zwischen erwarteten und vorhergesagten Werten ist.
pred = lin_reg.predict(X_test)
mse = np.sqrt(mean_squared_error(y_test,pred))
print(f'Mean error: {mse:3.3} ({mse/np.mean(pred)*100:3.3}%)')Unser Fehler scheint bei etwa 2 Punkten zu liegen, was ~17 % entspricht. Nicht besonders gut. Ein weiterer Indikator für die Modellgüte ist der Bestimmtheitsmaß, der wie folgt erhalten werden kann:
score = lin_reg.score(X_train,y_train)
print('Model determination: ', score)Wenn der Wert 0 ist, bedeutet das, dass das Modell die Eingabedaten nicht berücksichtigt und als schlechtester linearer Prädiktor fungiert, der einfach der Mittelwert der Ergebnisse ist. Ein Wert von 1 bedeutet, dass wir alle erwarteten Ausgaben perfekt vorhersagen können. In unserem Fall liegt der Koeffizient bei etwa 0,06, was ziemlich niedrig ist.
Wir können auch die Testdaten zusammen mit der Regressionslinie plotten, um besser zu sehen, wie die Regression in unserem Fall funktioniert:
plt.scatter(X_test,y_test)
plt.plot(X_test,pred)Eine weitere Form der linearen Regression ist die polynomiale Regression. Während manchmal eine lineare Beziehung zwischen Variablen besteht – je größer der Kürbis im Volumen, desto höher der Preis –, können diese Zusammenhänge manchmal nicht als Ebene oder Gerade dargestellt werden.
✅ Hier sind einige weitere Beispiele für Daten, bei denen polynomiale Regression verwendet werden könnte.
Werfen Sie einen weiteren Blick auf die Beziehung zwischen Datum und Preis. Sieht dieses Streudiagramm so aus, als sollte es unbedingt durch eine Gerade analysiert werden? Können sich Preise nicht schwanken? In diesem Fall können Sie polynomiale Regression ausprobieren.
✅ Polynome sind mathematische Ausdrücke, die aus einer oder mehreren Variablen und Koeffizienten bestehen können.
Die polynomiale Regression erstellt eine gebogene Linie, um nichtlineare Daten besser zu modellieren. In unserem Fall, wenn wir eine quadrierte DayOfYear-Variable in die Eingabedaten aufnehmen, sollten wir in der Lage sein, unsere Daten mit einer parabolischen Kurve zu approximieren, die einen Minimalwert an einem bestimmten Punkt im Jahr hat.
Scikit-learn bietet eine hilfreiche Pipeline-API, um verschiedene Schritte der Datenverarbeitung zu kombinieren. Eine Pipeline ist eine Kette von Estimatoren. In unserem Fall erstellen wir eine Pipeline, die zuerst polynomiale Merkmale zum Modell hinzufügt und dann die Regression trainiert:
from sklearn.preprocessing import PolynomialFeatures
from sklearn.pipeline import make_pipeline
pipeline = make_pipeline(PolynomialFeatures(2), LinearRegression())
pipeline.fit(X_train,y_train)Die Verwendung von PolynomialFeatures(2) bedeutet, dass alle Polynome zweiten Grades aus den Eingabedaten enthalten sind. In unserem Fall heißt das nur DayOfYear2, aber bei zwei Eingabevariablen X und Y fügt dies X2, XY und Y2 hinzu. Wir können auch Polynome höheren Grades verwenden, wenn wir möchten.
Pipelines können auf die gleiche Weise wie das ursprüngliche LinearRegression-Objekt verwendet werden, d.h. wir können die Pipeline fit-ten und dann mit predict die Vorhersagen erhalten. Hier ist die Grafik, die die Testdaten und die Approximationskurve zeigt:
Mit Polynomial Regression können wir etwas niedrigere MSE und höhere Bestimmtheitsmaßwerte erreichen, aber nicht signifikant. Wir müssen auch andere Merkmale berücksichtigen!
Sie können sehen, dass die minimalen Kürbisspreise irgendwo rund um Halloween beobachtet werden. Wie können Sie das erklären?
🎃 Herzlichen Glückwunsch, Sie haben gerade ein Modell erstellt, das helfen kann, den Preis von Pie-Kürbissen vorherzusagen. Sie können das gleiche Verfahren wahrscheinlich für alle Kürbissorten wiederholen, aber das wäre mühsam. Lernen wir nun, wie wir Kürbissorten in unser Modell einbeziehen können!
In einer idealen Welt möchten wir in der Lage sein, Preise für verschiedene Kürbissorten mit demselben Modell vorherzusagen. Die Spalte Variety ist jedoch etwas anders als Spalten wie Month, da sie nichtnumerische Werte enthält. Solche Spalten nennt man kategorisch.
🎥 Klicken Sie auf das obige Bild für eine kurze Videoübersicht zur Verwendung kategorialer Merkmale.
Hier sehen Sie, wie der Durchschnittspreis von der Sorte abhängt:
Um die Sorte zu berücksichtigen, müssen wir sie zunächst in eine numerische Form umwandeln oder kodieren. Es gibt mehrere Möglichkeiten, dies zu tun:
- Eine einfache numerische Kodierung erstellt eine Tabelle mit verschiedenen Sorten und ersetzt dann den Sortennamen durch einen Index in dieser Tabelle. Dies ist keine gute Idee für lineare Regression, da lineare Regression den tatsächlichen numerischen Wert des Index nimmt und diesen mit einem Koeffizienten multipliziert und zum Ergebnis addiert. In unserem Fall ist der Zusammenhang zwischen der Indexnummer und dem Preis eindeutig nicht linear, selbst wenn wir sicherstellen, dass die Indizes in einer bestimmten Reihenfolge angeordnet sind.
- One-Hot-Kodierung ersetzt die Spalte
Varietydurch 4 verschiedene Spalten, eine für jede Sorte. Jede Spalte enthält1, wenn die entsprechende Zeile zu dieser Sorte gehört, und0sonst. Das bedeutet, dass es vier Koeffizienten in der linearen Regression gibt, einen für jede Kürbissorte, der für den „Startpreis“ (bzw. „zusätzlichen Preis“) für diese Sorte verantwortlich ist.
Der folgende Code zeigt, wie wir eine Sorte one-hot kodieren können:
pd.get_dummies(new_pumpkins['Variety'])| ID | FAIRYTALE | MINIATURE | MIXED HEIRLOOM VARIETIES | PIE TYPE |
|---|---|---|---|---|
| 70 | 0 | 0 | 0 | 1 |
| 71 | 0 | 0 | 0 | 1 |
| ... | ... | ... | ... | ... |
| 1738 | 0 | 1 | 0 | 0 |
| 1739 | 0 | 1 | 0 | 0 |
| 1740 | 0 | 1 | 0 | 0 |
| 1741 | 0 | 1 | 0 | 0 |
| 1742 | 0 | 1 | 0 | 0 |
Um die lineare Regression mit der one-hot-kodierten Sorte als Eingabe zu trainieren, müssen wir X und y nur richtig initialisieren:
X = pd.get_dummies(new_pumpkins['Variety'])
y = new_pumpkins['Price']Der Rest des Codes ist derselbe wie oben beim Trainieren der linearen Regression. Wenn Sie es ausprobieren, werden Sie sehen, dass die mittlere quadratische Abweichung ungefähr gleich ist, aber wir einen viel höheren Bestimmtheitsmaß (~77 %) erreichen. Um noch genauere Vorhersagen zu erhalten, können wir weitere kategoriale Merkmale sowie numerische Merkmale wie Month oder DayOfYear berücksichtigen. Um ein großes Array von Merkmalen zu erhalten, können wir join verwenden:
X = pd.get_dummies(new_pumpkins['Variety']) \
.join(new_pumpkins['Month']) \
.join(pd.get_dummies(new_pumpkins['City'])) \
.join(pd.get_dummies(new_pumpkins['Package']))
y = new_pumpkins['Price']Hier berücksichtigen wir auch die City und den Package-Typ, was uns eine MSE von 2,84 (10 %) und eine Bestimmtheit von 0,94 ergibt!
Um das beste Modell zu erstellen, können wir kombinierte (one-hot-kodierte kategoriale + numerische) Daten aus dem obigen Beispiel zusammen mit polynomialer Regression verwenden. Hier ist der vollständige Code für Ihre Bequemlichkeit:
# Trainingsdaten einrichten
X = pd.get_dummies(new_pumpkins['Variety']) \
.join(new_pumpkins['Month']) \
.join(pd.get_dummies(new_pumpkins['City'])) \
.join(pd.get_dummies(new_pumpkins['Package']))
y = new_pumpkins['Price']
# Zug- und Testaufteilung durchführen
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=0)
# Pipeline einrichten und trainieren
pipeline = make_pipeline(PolynomialFeatures(2), LinearRegression())
pipeline.fit(X_train,y_train)
# Ergebnisse für Testdaten vorhersagen
pred = pipeline.predict(X_test)
# MSE und Bestimmtheitsmaß berechnen
mse = np.sqrt(mean_squared_error(y_test,pred))
print(f'Mean error: {mse:3.3} ({mse/np.mean(pred)*100:3.3}%)')
score = pipeline.score(X_train,y_train)
print('Model determination: ', score)Dies sollte uns den besten Bestimmtheitsmaß von fast 97 % und eine MSE von 2,23 (~8 % Vorhersagefehler) liefern.
| Modell | MSE | Bestimmtheitsmaß |
|---|---|---|
DayOfYear Linear |
2,77 (17,2 %) | 0,07 |
DayOfYear Polynomial |
2,73 (17,0 %) | 0,08 |
Variety Linear |
5,24 (19,7 %) | 0,77 |
| Alle Merkmale Linear | 2,84 (10,5 %) | 0,94 |
| Alle Merkmale Polynomial | 2,23 (8,25 %) | 0,97 |
🏆 Gut gemacht! Sie haben in einer Lektion vier Regressionsmodelle erstellt und die Modellqualität auf 97 % verbessert. Im abschließenden Abschnitt über Regression werden Sie etwas über logistische Regression lernen, um Kategorien zu bestimmen.
Testen Sie in diesem Notebook verschiedene Variablen, um zu sehen, wie die Korrelation mit der Modellgenauigkeit zusammenhängt.
In dieser Lektion haben wir lineare Regression kennengelernt. Es gibt weitere wichtige Arten von Regressionen. Lesen Sie über Stepwise, Ridge, Lasso und Elasticnet-Techniken. Ein guter Kurs zum Weiterlernen ist der Stanford Statistical Learning Kurs.
Haftungsausschluss:
Dieses Dokument wurde mithilfe des KI-Übersetzungsdienstes Co-op Translator übersetzt. Obwohl wir uns um Genauigkeit bemühen, bitten wir zu beachten, dass automatisierte Übersetzungen Fehler oder Ungenauigkeiten enthalten können. Das Originaldokument in seiner ursprünglichen Sprache ist als maßgebliche Quelle zu betrachten. Bei wichtigen Informationen wird eine professionelle, menschliche Übersetzung empfohlen. Für Missverständnisse oder Fehlinterpretationen, die aus der Nutzung dieser Übersetzung entstehen, übernehmen wir keine Haftung.












