Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Jupyter Notebook für die Aufgabe zur logistischen Regression scheint nicht die im Text dargestellte Klassifikation zu erzeugen #376

Open
cagix opened this issue Oct 29, 2024 · 4 comments
Assignees

Comments

@cagix
Copy link
Member

cagix commented Oct 29, 2024

Auf dem Blatt zur logistischen Regression gibt es als Vorgabe ein Jupyter-Notebook, welches die Studierenden verwenden können.

Einige Studierende haben berichtet, dass die Klassifikation der generierten Datenpunkte nicht ganz zur Aufgabe passt. Dort sollte eine Gerade durch den Datenraum gelegt werden und alle Punkte auf der einen Seite eine Klasse und die anderen die andere Klasse bekommen. Im Jupyter-Notebook scheint es dagegen immer Ausreisser zu geben?

Screenshot 2024-10-28 at 17 42 21

@cyildiz Kannst Du bitte mal schauen, ob das wirklich ein Bug ist oder ob das so gewollt ist?

@cyildiz
Copy link
Contributor

cyildiz commented Oct 29, 2024

Ja, das ist gewollt so und demonstirert folgenden Fall:
Die Daten (der Zusammenhang) ist vielleicht an sich linear, aber die Daten enthalten ein paar Ausreißer aufgrund von Noise. Der Gradientenabstieg ist weiterhin in der Lage, die optimale Lösung zu finden; nur das Minimum der Kostenfunktion ist in diesem Fall nicht gleich Null.
Die Frage zu der Training Accuracy deutet in diese Richtung.

Mit dem zusätzlichen Argument class_sep=1.5 könnte man den Abstand zwischen den zwei Daten-Clustern etwas erhöhen, sodass sie linear trennbar sind.

@cagix
Copy link
Member Author

cagix commented Oct 29, 2024

@cyildiz Ah, verstehe :)

Die Studis waren etwas verwirrt, weil sie dachten, dass das Notebook ihnen die Daten erzeugt. Aber da das eine Aufgabe für die Studis war, hätten sie das noch selbst schreiben müssen.

Ich überlege, ob man noch eine Bemerkung auf das Übungsblatt schreiben sollte, weil die Rückfrage bisher in jeder Gruppe kam? Sonst kann hier zu.

@cyildiz
Copy link
Contributor

cyildiz commented Nov 7, 2024

Ganz unten am Ende der Frage ist im Moment folgender Hinweis vorhanden:

Sie können auch ... einen anderen Datensatz (z.B. zufällig generierter Datensatz mittels Numpy and Scikit-Learn) verwenden.

D.h. die Studierenden müssen den Datensatz nicht unbedingt manuell generieren (wie im ersten Punkt beschrieben), sondern können den Datensatz im Notebook verwenden oder mittels Scikit-Learn einen eigenen zufälligen Datensatz generieren.

Vielleicht sollte ich diesen Hinweis etwas ausbauen:

Sie können auch mittels Scikit-Learn einen eigenen zufälligen Datensatz generieren (ein Beispiel dazu finden Sie im Notebook).

Beachten Sie, dass die Daten in diesem Fall Rauschen (engl. Noise) enthalten können und der Datensatz möglicherweise nicht linear separierbar ist. Wie wirkt sich dies auf den Ablauf des Lernalgorithmus und die Ergebnisse aus?

@cagix
Copy link
Member Author

cagix commented Nov 7, 2024

@cyildiz Ich würde einfach nur in der Aufgabe, wo sie den Datensatz erzeugen sollen, noch einen Satz dazu schreiben: "Sie können auch mit dem Code in der Vorgabe (Jupyter-Notebook) die Daten erzeugen - diese sind aber mit Rauschen (engl. Noise) versehen und möglicherweise nicht linear separabel." ... Das sollte reichen.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants