Data-Science-Gehälter

Das Projekt "Data-Science-Gehälter" analysiert und prognostiziert Gehälter in der Data-Science-Branche auf Grundlage eines Datensatzes von Kaggle. Der Datensatz beinhaltet umfassende Informationen zu verschiedenen Berufsrollen, Erfahrungsstufen, Unternehmensgrößen, Ländern und Homeoffice-Anteilen, die sich auf die Gehaltsstrukturen auswirken. Das Projekt zielt darauf ab, Einblicke in die Gehaltsverteilungen zu gewinnen und mithilfe von maschinellem Lernen ein Modell zu erstellen, das die Gehälter für verschiedene Jobkonfigurationen prognostizieren kann. Das Ziel ist, Nutzern ein besseres Verständnis der Gehaltslandschaft in diesem schnell wachsenden Bereich zu vermitteln.




Das voraussichtliche Gehalt (Dollar $) beträgt:

Modelltraining und -bewertung für das Kaggle-Datenset "Data Science Salaries"

In diesem Projekt wurde das Kaggle-Datenset Data Science Salaries verwendet, um verschiedene Regressionsmodelle zu trainieren und Gehaltsvorhersagen für Data-Science-Berufe zu treffen. Der Prozess umfasst die Datenvorbereitung, das Trainieren von fünf verschiedenen Regressionsmodellen und die anschließende Modellbewertung. Hier ist eine detaillierte Beschreibung des gesamten Prozesses.

Datenvorverarbeitung

  • Das Training der Modelle begann mit einer sorgfältigen Vorbereitung der Daten. Die Originaldaten enthielten verschiedene kategoriale und numerische Variablen, die für die Verarbeitung durch die Modelle aufbereitet wurden. Im Einzelnen wurden folgende Schritte durchgeführt:
  • Kategorische Variablen (wie „Berufsbezeichnung“, „Erfahrungsstufe“, „Sitz des Arbeitnehmers“, „Standort des Unternehmens“, „Unternehmensgröße“) wurden mittels One-Hot-Encoding in numerische Repräsentationen umgewandelt.
  • Die Zielvariable für die Modelle war das Jahresgehalt in USD (salary_in_usd).
  • Die Spaltenumwandlung wurde mithilfe des ColumnTransformer durchgeführt, um sicherzustellen, dass alle Eingaben korrekt skaliert und verarbeitet wurden.

Anschließend wurde der Datensatz in Trainingsdaten (80%) und Testdaten (20%) aufgeteilt, um die Modelle zu trainieren und zu bewerten.

Modelltraining

Im Rahmen der Modellbewertung erfolgte eine Evaluation diverser Regressionsmodelle anhand des vorbereiteten Datasets. Ziel dieser Evaluierung war die Prüfung und der Vergleich unterschiedlicher Algorithmen. Zu diesem Zweck wurden folgende Modelle herangezogen:

  • Lineare Regression (LinearRegression)
  • RandomForestRegressor
  • K-Nearest Neighbors Regressor (KNeighborsRegressor)
  • Support Vector Regressor (SVR)
  • Decision Tree Regressor (DecisionTreeRegressor)
  • Polynomiale Regression (unter Verwendung von PolynomialFeatures und LinearRegression)
  • Ridge-Regression (Ridge)
  • Lasso-Regression (Lasso)

Für jedes Modell wurde der Trainingsprozess durch die Methode .fit() auf den Trainingsdaten durchgeführt, was die Optimierung der Gewichte und Parameter des jeweiligen Modells bedeutete.

Bewertung der Modellleistung

Im Rahmen der Evaluierung der Modelle wurden mehrere Metriken herangezogen, die für die Einschätzung der Güte der Prognosen sowie der Resilienz des Modells von entscheidender Bedeutung sind. Insbesondere wurden folgende Metriken verwendet:

  • Der R²-Score, auch als Bestimmtheitsmaß bezeichnet, dient der Beurteilung der Güte einer Regressionsanalyse. Die vorliegende Metrik gibt Aufschluss über die Güte der Modellierung der Varianz der Zielvariablen. Ein R²-Wert von 1 bedeutet eine perfekte Vorhersage, während ein Wert von 0 oder negativ darauf hinweist, dass das Modell als inadäquat zu betrachten ist.
  • Der Mean Squared Error (MSE) stellt ein Maß für die durchschnittliche quadratische Abweichung zwischen den tatsächlichen und den vorausgesagten Werten dar. Somit lässt sich festhalten, dass ein geringer Wert als optimal zu betrachten ist.

Hier ist eine detaillierte Bewertung der Modelle basierend auf den vorliegenden Trainings- und Testmetriken:

1. Lineare Regression:

  • Training:
    • R²: 0.705. Das Modell erklärt etwa 70,5 % der Varianz in den Trainingsdaten, was auf eine gute Anpassung hindeutet.
    • RMSE: 39,574 USD.
  • Test:
    • R²: 0.053. Auf den Testdaten ist die Anpassung jedoch sehr schwach, das Modell kann fast keine Varianz in den neuen Daten erklären.
    • RMSE: 60,234 USD. Der RMSE-Wert auf den Testdaten ist wesentlich höher als auf den Trainingsdaten, was auf Overfitting hinweist: Das Modell passt sich gut an die Trainingsdaten an, generalisiert jedoch schlecht auf neue Daten.

Fazit: Dieses Modell ist nicht in der Lage, die Gehälter zuverlässig auf neuen, unbekannten Daten vorherzusagen. Die Testleistung zeigt erhebliche Schwächen in der Generalisierung.

2. Random Forest Regressor

  • Training:
    • R²: 0.825. Das Modell erklärt 82,5 % der Varianz in den Trainingsdaten, was eine sehr gute Anpassung darstellt.
    • RMSE: 30,461 USD
  • Test:
    • R²: 0.533. Eine deutliche Verbesserung im Vergleich zur linearen Regression. Das Modell erklärt 53,3 % der Varianz in den Testdaten, was auf eine angemessene Generalisierung hinweist.
    • RMSE: 42,311 USD. Der Unterschied zwischen Training und Test ist vorhanden, aber weniger extrem als bei der linearen Regression. Dies deutet auf ein robusteres Modell hin.

Fazit: Der Random Forest Regressor zeigt eine gute Balance zwischen Modellkomplexität und Generalisierung, mit einer angemessenen Vorhersagefähigkeit auf den Testdaten. Dies ist eines der stärkeren Modelle in dieser Analyse.

3. KNeighbors Regressor

  • Training:
    • R²: 0.559. Das Modell erklärt 55,9 % der Varianz in den Trainingsdaten, was eine moderate Anpassung darstellt.
    • RMSE: 48,390 USD
  • Test:
    • R²: 0.410. Auf den Testdaten zeigt sich eine deutlich schlechtere Leistung im Vergleich zum Random Forest, jedoch besser als bei der linearen Regression.
    • RMSE: 47,543 USD. Interessanterweise sind die RMSE-Werte für Training und Test relativ ähnlich, was darauf hinweist, dass das Modell nicht stark überfittet, sondern eher eine unterdurchschnittliche Anpassung auf beide Datensätze hat.

Fazit: KNeighbors hat eine stabile, aber schwache Leistung. Das Modell zeigt keine starken Überanpassungstendenzen, aber auch keine besonders starke Vorhersagegenauigkeit.

4. SVR (Support Vector Regressor)

  • Training:
    • R²: -0.031. Ein negativer Wert bedeutet, dass das Modell schlechter als eine einfache Mittelwertvorhersage ist.
    • RMSE: 74,004 USD
    • R²: -7.01e-05. Auch auf den Testdaten liegt der R²-Wert nahe null, was auf eine sehr schlechte Vorhersagefähigkeit hinweist.
    • RMSE: 61,909 USD. Beide RMSE-Werte sind extrem hoch, was darauf hinweist, dass das Modell keine sinnvollen Vorhersagen trifft.

Fazit: Das SVR-Modell zeigt eine katastrophale Leistung. Es kann weder in den Trainings- noch in den Testdaten die Gehälter zuverlässig vorhersagen. Dieses Modell sollte nicht verwendet werden.

5. Decision Tree Regressor

  • Training:
    • R²: 0.884. Das Modell passt sich sehr gut an die Trainingsdaten an, was auf ein potenzielles Overfitting hindeutet.
    • RMSE: 24,782 USD
  • Test:
    • R²: 0.488. Obwohl die Testleistung solide ist, fällt sie im Vergleich zur Trainingsleistung stark ab, was auf eine zu starke Anpassung an die Trainingsdaten hinweist.
    • RMSE: 44,311 USD. Der starke Unterschied zwischen den RMSE-Werten zeigt eine deutliche Überanpassung, was typisch für Entscheidungsbäume ist, die ohne Regularisierung arbeiten.

Fazit: Der Decision Tree Regressor overfittet, obwohl er auf den Testdaten immer noch brauchbare Ergebnisse liefert. Eine Regularisierung oder Ensemble-Methode (wie der Random Forest) könnte helfen.

6. Polynomial Regression

  • Training:
    • R²: 0.878. Ein hoher R²-Wert im Training, was auf eine starke Anpassung hindeutet.
    • RMSE: 25,446 USD
  • Test:
    • R²: -0.299. Ein stark negativer Wert auf den Testdaten bedeutet, dass das Modell auf neuen Daten völlig versagt.
    • RMSE: 70,578 USD. Der RMSE-Wert auf den Testdaten ist extrem hoch, was auf ein massives Overfitting hindeutet.

Fazit: Die polynomialen Features führen dazu, dass das Modell zu stark auf die Trainingsdaten angepasst ist und auf den Testdaten extrem schlecht abschneidet. Dieses Modell ist nicht empfehlenswert.

7. Ridge Regression

  • Training:
    • R²: 0.667. Das Modell erklärt etwa 66,7 % der Varianz in den Trainingsdaten, was auf eine ordentliche Anpassung hindeutet.
    • RMSE: 42,059 USD
  • Test:
    • R²: 0.525. Eine gute Testleistung, ähnlich wie beim Random Forest.
    • RMSE: 42,653 USD. Die RMSE-Werte sind sehr ähnlich, was auf eine gute Generalisierung hindeutet.

Fazit: Die Ridge Regression ist ein robustes Modell, das eine ordentliche Balance zwischen Training und Test erreicht und keine Überanpassung zeigt. Es ist eine gute Wahl, wenn man Regularisierung in Betracht zieht.

8. Lasso Regression

  • Training:
    • R²: 0.705. Die Anpassung auf den Trainingsdaten ist ähnlich wie bei der linearen Regression.
    • RMSE: 39,574 USD
  • Test:
    • R²: -0.049. Auf den Testdaten schneidet das Modell jedoch schlecht ab und liefert fast keine brauchbaren Vorhersagen.
    • RMSE: 63,394 USD. Der hohe RMSE-Wert auf den Testdaten zeigt, dass das Modell überfittet und schlecht generalisiert.

Fazit: Die Lasso Regression zeigt keine Verbesserung gegenüber der einfachen linearen Regression und leidet unter einer schwachen Testleistung.

Gesamtfazit

Top-Modelle:

  • Random Forest Regressor: Liefert die beste Kombination aus Training und Testleistung, mit solider Vorhersagegenauigkeit.
  • Ridge Regression: Ein einfacheres, aber gut generalisierendes Modell, das eine stabile Leistung auf den Testdaten bietet.

Schwache Modelle:

  • SVR, Polynomial Regression, und Lasso Regression haben auf den Testdaten stark versagt und sollten vermieden werden.

Die Auswahl fiel auf die Modelle "Random Forest Regressor" und "Ridge Regression", da diese eine optimale Balance zwischen Anpassung und Generalisierung aufweisen. Der Random Forest Regressor zeigt eine exzellente Leistung auf den Trainingsdaten sowie eine solide Generalisierung auf die Testdaten. Die Fähigkeit, nichtlineare Zusammenhänge und Interaktionen zwischen den Features zu erfassen, macht das Modell besonders robust. Des Weiteren weist das Modell eine vergleichsweise geringe Abweichung zwischen Trainings- und Test-RMSE auf, was auf eine hohe Vorhersagequalität hindeutet.

Die Ridge-Regression hingegen besticht durch ihre Einfachheit und Stabilität, obgleich sie weniger komplex ist. Die Ergebnisse zeigen, dass das Modell eine konsistente und verlässliche Leistung mit ähnlich niedrigen RMSE-Werten auf beiden Datensätzen liefert. Dies weist auf eine hohe Generalisierungsfähigkeit hin, ohne die Gefahr des Overfittings. Die Ridge Regression profitiert von der Regularisierung, welche es dem Modell ermöglicht, sowohl lineare als auch schwach nichtlineare Zusammenhänge adäquat zu erfassen, ohne die Varianz zu stark zu erhöhen. Die beiden Modelle wurden aufgrund ihrer Kombination aus starker Vorhersagekraft, Robustheit und guter Generalisierbarkeit ausgewählt und stellen somit die optimalen Kandidaten für die zuverlässige Vorhersage von Gehältern dar.