Seite 1 von 1

SyntaxError: invalid syntax bei Verwendung von lambda Parameter des XGBRFClassifiers

Verfasst: Donnerstag 6. Oktober 2022, 18:52
von nichtSoGuter
Ich möchte eine Instanz der Klasse xgboost.XGBRFClassifiers erstellen. Wenn ich den Parameter lambda=0.999999999 verwende dann erhalte ich einen SyntaxError. Ich finde den Fehler aber leider nicht.

Code: Alles auswählen

# Dieser Code funktioniert einwandfrei:
model=XGBRFClassifier(eta=0.049999999999999996, gamma=0.2, max_depth=20, min_child_weight=1.2,objective='multi:softprob',subsample=0.7)

Code: Alles auswählen

# Dieser Code erzeugt folgenden Error: SyntaxError: invalid syntax
XGBRFClassifier(eta=0.049999999999999996, gamma=0.2, lambda=0.9999999999999999, max_depth=20, min_child_weight=1.2, objective='multi:softprob', subsample=0.7)
Der Parameter "lambda" erzeugt also diesen error. "lambda" ist aber ein Parameter wie alle anderen auch. Wieso wird ein Error erzeugt?
(Link zu der Dokumentation: https://xgboost.readthedocs.io/en/stable/parameter.html)

Vielen Dank im Voraus!

Re: SyntaxError: invalid syntax bei Verwendung von lambda Parameter des XGBRFClassifiers

Verfasst: Donnerstag 6. Oktober 2022, 18:56
von nichtSoGuter
Ich habe auch schon die Antwort darauf gefunden link: https://stackoverflow.com/questions/529 ... or-xgboost

Re: SyntaxError: invalid syntax bei Verwendung von lambda Parameter des XGBRFClassifiers

Verfasst: Donnerstag 6. Oktober 2022, 18:58
von __blackjack__
@nichtSoGuter: ``lambda`` ist eben kein Parameter wie alle anderen sondern ein Schlüsselwort in Python, wie ``def``, ``import``, ``class``, ``for``, und so weiter. Die kann man auch alle nicht als Namen verwenden. Mit ``lambda`` werden anonyme Funktionen definiert. Die Syntax sieht so aus ``lambda <argumentlist>: <expression>``.

Re: SyntaxError: invalid syntax bei Verwendung von lambda Parameter des XGBRFClassifiers

Verfasst: Donnerstag 6. Oktober 2022, 19:03
von Sirius3
`lambda` ist in Python ein Schlüsselwort, kann also nicht als Paramete benutzt werde, deswegen heißt der auch `reg_lambda`.

Re: SyntaxError: invalid syntax bei Verwendung von lambda Parameter des XGBRFClassifiers

Verfasst: Dienstag 11. Oktober 2022, 17:11
von nichtSoGuter
Stimmt vielen Dank für die Antworten!