By T.Cicek
MEIN PROJEKTPORTFOLIO (wird laufend ergänzt)

Ziele verstehen.
Ideen entwickeln.

Von der Datenanalyse bis zur interaktiven Anwendung: ausgewählte Studienprojekte und eigene Arbeiten aus Data Science, KI und Softwareentwicklung.

Projekte entdecken
  1. 01 / STUDIENPROJEKTE
  2. Machine Learning · Mobilität

    Fahrradnutzung
    prognostizieren.

    Wie verändern Wetter und Tageszeit die Nachfrage nach Mietfahrrädern? Am Beispiel London wurden klassische Regressionsverfahren und ein neuronales Netz zur Vorhersage der stündlichen Fahrradnutzung verglichen.

    Pythonpandasscikit-learnRegressionNeuronale Netze
    Projekt entdecken

    Grundlage waren 17.414 stündliche Beobachtungen von Januar 2015 bis Januar 2017. Die explorative Datenanalyse untersuchte Nutzungsmuster nach Tageszeit, Jahreszeit, Wetter sowie Wochenend- und Feiertagseffekten. Für die Modellierung wurden Zeitmerkmale abgeleitet, Wetterkategorien per One-Hot-Encoding aufbereitet und numerische Wetterdaten mit Min-Max-Skalierung transformiert.

    Verglichen wurden ein Mittelwert-Basismodell, lineare, Ridge- und Lasso-Regression, polynomiale Regression sowie ein mehrschichtiges neuronales Netz (MLP). Ergänzend wurden statistische Merkmalsauswahl und Hyperparameteroptimierung mit GridSearchCV untersucht. Die Bewertung erfolgte anhand des RMSE auf einem zufällig abgetrennten Testdatensatz sowie mittels verschachtelter Kreuzvalidierung.

    Als finales Modell wurde ein MLP mit einer verdeckten Schicht aus zwölf Neuronen ausgewählt. In der im Notebook dokumentierten verschachtelten Kreuzvalidierung erzielte es einen mittleren RMSE von rund 760 Ausleihen pro Stunde. Die Umsetzung erfolgte mit Python, pandas und scikit-learn in Jupyter; Matplotlib und Seaborn dienten der Visualisierung.

    Wetter- und Zeitdaten → Modellvergleich → Nachfrageprognose
  3. Augmented Reality · IoT

    Raumtemperaturen
    per Sprache abrufen.

    Ein im Team entwickelter AR-Prototyp für die Meta Quest 3 macht Temperaturdaten der Hochschule Ludwigshafen im Sichtfeld sichtbar. Räume lassen sich per Sprachbefehl auswählen; die Anzeige aktualisiert sich automatisch alle zwei Sekunden.

    Unity / C#Meta Quest 3Python / FlaskInfluxDB / FluxMeta Voice SDKngrok
    Projekt entdecken

    Die Anwendung erkennt gesprochene Raumangaben einschließlich deutscher Zahlwörter und übersetzt sie in eine Raum-ID. Eine Flask-API fragt die zugehörigen Temperaturmessungen über Flux aus der InfluxDB ab und liefert sie als JSON an Unity. Ein HTTPS-Tunnel über ngrok verbindet die Brille mit dem lokalen Backend.

    Das AR-Overlay zeigt Temperatur, Zeitstempel und Messwertverzögerung. Eine Farbcodierung von Blau über Weiß bis Rot erleichtert die Einordnung. Automatisches Polling, das Zurücksetzen der Anzeige bei Raumwechsel und verständliche Fehlermeldungen unterstützen die Bedienung.

    Nach einem ersten MQTT-Prototyp wechselte das Team zu InfluxDB, um die Messwerte gezielt den Räumen zuzuordnen und auf eine stabilere Datenquelle zuzugreifen. Das Ergebnis ist ein modularer Prototyp für die sprachgesteuerte Visualisierung von Gebäudedaten.

    Raum per Sprache wählen → Temperatur abfragen → in AR anzeigen
  4. Generative AI · Finanzdatenanalyse

    D.A.V.I.S.
    Finanzdaten im Dialog.

    Ein im Team entwickelter KI-Chatbot ermöglicht Fachanwendern, Finanzdaten aus SAP HANA in natürlicher Sprache zu analysieren – ohne eigene SQL-Kenntnisse. Das Praxisprojekt entstand in Zusammenarbeit mit der Windhoff Group.

    Python / FastAPISAP HANAText-to-SQLLlamaIndexSemantic MemoryHTML / CSS / JS
    Projekt entdecken

    D.A.V.I.S. übersetzt Nutzerfragen in SQL-Abfragen, ruft die passenden Daten aus SAP HANA ab und erläutert die Ergebnisse in verständlicher Sprache. FastAPI steuert den Ablauf und verarbeitet Anfragen asynchron. Die modulare Architektur trennt Anfrageverarbeitung, SQL-Generierung, Datenbankzugriff und Antwortgenerierung.

    Ein semantisches Gesprächsgedächtnis mit LlamaIndex bewahrt relevante Gesprächsinhalte und unterstützt Folgefragen im bisherigen Kontext. Ein mehrstufiger Cache berücksichtigt die Absicht und Bedeutung ähnlicher Fragen und hält Abfrageergebnisse sowie fertige Antworten vor. So lassen sich vorhandene Ergebnisse wiederverwenden und unnötige KI- und Datenbankaufrufe reduzieren.

    Die Verarbeitung richtet sich nach der Größe der Abfrageergebnisse: Kleine Datenmengen werden direkt verarbeitet, größere Ergebnisse gesondert behandelt, um Token-Limits und Ressourcenverbrauch zu berücksichtigen. Im Projekt wurden die Komponenten durchgängig integriert und anhand verschiedener Nutzeranfragen auf Ergebnisqualität und Stabilität geprüft.

    Nutzerfrage → Kontext- und Cache-Prüfung → bei Bedarf SQL-Abfrage → verständliche Antwort
  5. Computer Vision · Big Data

    Bildinhalte erkennen.
    Wissen auffindbar machen.

    Ein skalierbares Big-Data-System erzeugt automatisch Bildlabels für Social-Media-Inhalte und macht die Bilder über diese Labels durchsuchbar.

    Microsoft AzurePyTorchEfficientNet-B0Power BI
    Projekt entdecken

    Ein vortrainiertes EfficientNet-B0 wurde mittels Transfer Learning als Multi-Label-Image-Classifier eingesetzt. Dadurch lassen sich einem Bild mehrere inhaltlich passende Labels zuordnen.

    Die End-to-End-Architektur verbindet Azure Blob Storage, Azure Synapse Analytics und Azure Cosmos DB. Ein Power-BI-Dashboard unterstützt die Validierung und Visualisierung der Suchergebnisse. Die Umsetzung erfolgte mit Python und PyTorch in Visual Studio Code.

    Bilder → Klassifikation → durchsuchbare Labels
  6. Web Development

    Wissen vertiefen.
    Frage für Frage.

    Eine webbasierte Quizplattform verbindet persönliche Nutzerkonten mit einem Fragenkatalog aus unterschiedlichen Themenbereichen.

    JavaMySQLHTML / CSS / JSEclipse
    Projekt entdecken

    Konzeption und Umsetzung einer Quizplattform mit Registrierung und Anmeldung. Nutzer können nach dem Login Fragen aus verschiedenen Kategorien beantworten. Frontend: HTML, CSS und JavaScript. Backend: Java und MySQL. Entwicklungsumgebung: Eclipse.

    Registrieren → Kategorie wählen → Quiz beantworten
  7. App Development · Smart City

    Meet.
    Nachbarschaft verbinden.

    Ein iOS-Prototyp macht die Organisation von Nachbarschaftstreffen erlebbar: Aktivitäten entdecken, eigene Treffen anlegen und gemeinsam teilnehmen. Entstanden im Rahmen eines Smart-City-Projekts mit der Stadt Ludwigshafen.

    SwiftUISwiftXcodeiOSPrototyping
    Projekt entdecken

    Der Einstieg verbindet eine Sprachwahl für Deutsch, Englisch, Türkisch und Arabisch mit der Eingabe eines einfachen Nutzerprofils. Zentrale Bedienelemente sind in diesen vier Sprachen hinterlegt. Eine Übersicht führt zu den Treffendetails; neue Aktivitäten lassen sich mit Titel, Ort, Datum und Uhrzeit, Beschreibung sowie einer maximalen Teilnehmerzahl anlegen.

    Die Teilnahmefunktion führt eine Teilnehmerliste und berücksichtigt sowohl bereits eingetragene Namen als auch die Kapazitätsgrenze. Ein treffensbezogener Fragen-und-Antworten-Bereich demonstriert den Austausch von Nachrichten mit Absendernamen. Beispielaktivitäten wie Gartenarbeit, Kaffeerunden und Spaziergänge veranschaulichen den Einsatz im Quartier.

    Die Umsetzung erfolgt in Swift und SwiftUI mit Xcode. Ein zentraler ObservableObject-Store und SwiftUI-Bindings halten die Ansichten bei Änderungen synchron. Treffen, Profile und Nachrichten werden im Prototyp lokal im Arbeitsspeicher verwaltet. Der Schwerpunkt liegt auf der Gestaltung und Demonstration der Nutzerabläufe.

    Profil anlegen → Treffen entdecken → teilnehmen und austauschen
  8. 02 / EIGENSTÄNDIGE PROJEKTE
  9. Regressionsanalysen

    Zusammenhänge
    modellieren.

    Regressionsanalysen modellieren Unternehmensgewinne anhand der Filialanzahl und untersuchen den Zusammenhang zwischen Schlaf und emotionalem Wohlbefinden.

    Pythonscikit-learnLineare RegressionPolynomiale Regression
    Projekt entdecken

    Auf Basis von 100 Beobachtungen wurde der Zusammenhang zwischen Filialanzahl und Unternehmensgewinn mit einer einfachen linearen Regression modelliert. Die Daten wurden zufällig in 80 Trainings- und 20 Testfälle aufgeteilt. Streudiagramm und Regressionsgerade veranschaulichen den Zusammenhang; Steigung und Achsenabschnitt machen die Modellparameter interpretierbar.

    Auf den Testdaten erreichte das Modell einen mittleren absoluten Fehler (MAE) von rund 390.048 in der Einheit der Gewinnvariable. Die Umsetzung erfolgte mit Python, pandas, scikit-learn und Seaborn.

    Eine weitere Analyse modelliert den Zusammenhang zwischen Schlafdauer und emotionalem Wohlbefinden anhand von 90 Beobachtungen. Die Schlafdauer wird um ihr Quadrat als zusätzliches Merkmal erweitert. Eine polynomiale Regression zweiten Grades bildet damit einen nichtlinearen Zusammenhang im Datensatz ab.

    Für die Bewertung wurden die Daten zufällig in 72 Trainings- und 18 Testfälle aufgeteilt. Auf den Testdaten erzielte das Modell einen mittleren absoluten Fehler (MAE) von rund 0,50 Punkten der verwendeten Wohlbefindensskala. Streudiagramm und Regressionskurve visualisieren die Modellanpassung; die Koeffizienten beschreiben den geschätzten Verlauf. Die Umsetzung erfolgte mit Python, pandas, scikit-learn, Matplotlib und Seaborn.

    Beobachtungen → Zusammenhänge → Prognosen
  10. Zeitreihenanalysen

    Zeitliche Muster
    für Prognosen nutzen.

    Analysen von COVID-19-Neuinfektionen und Aktienkursen untersuchen, wie sich zeitliche Entwicklungen modellieren und prognostizieren lassen.

    PythonTime-Series ForecastingLineare RegressionLag-Featuresscikit-learn
    Projekt entdecken

    Das COVID-19-Projekt untersucht 120 tägliche Beobachtungen von November 2020 bis März 2021. Eine Analyse der partiellen Autokorrelation (PACF) unterstützt die Auswahl von vier zeitversetzten Merkmalen: den Neuinfektionen der jeweils vorausgehenden vier Tage. Ein lineares Regressionsmodell nutzt diese Lag-Features zur Vorhersage des nächsten Tages. Die Aufteilung in 80 Prozent Trainings- und 20 Prozent Testdaten erfolgt chronologisch.

    Verglichen wurden Vorhersagen mit bekannten Vortageswerten und rekursive Mehrschrittprognosen, bei denen eigene Vorhersagen wieder als Eingabe dienen. Auf den 24 Testtagen lag der mittlere absolute Fehler (MAE) bei 49,74 Neuinfektionen für die Ein-Schritt-Prognose und bei 170,72 für die rekursive Prognose. Der Vergleich verdeutlicht, wie sich Fehler über mehrere Prognoseschritte fortsetzen können.

    Ergänzend wurden eine rekursive 30-Tage-Prognose und ein Multioutput-Modell für sieben aufeinanderfolgende Tageswerte untersucht. Matplotlib und Seaborn visualisieren die beobachteten Verläufe und Prognosen. Die Umsetzung nutzt Python, pandas, scikit-learn und statsmodels. Ein weiteres eigenständiges Zeitreihenprojekt beschäftigt sich mit Aktienkursen.

    Zeitreihen → Muster → Vorhersage
  11. Klassifikation · NLP

    Daten einordnen.
    Inhalte verstehen.

    Vier Anwendungsfälle verbinden Klassifikation und Sprachverarbeitung: Kaufentscheidungen, Zielgruppen, Trinkwasserqualität und Kundenbewertungen.

    PythonDecision TreeLogistische RegressionRandom ForestNLPNLTKNaive Bayes
    Projekt entdecken

    Ein weiterer Anwendungsfall untersucht Kaufentscheidungen anhand der Verweildauer. Ein DecisionTreeClassifier lernt aus einem Beispieldatensatz mit 20 Beobachtungen und gleich vielen Käufen wie Nichtkäufen. Die Visualisierung des Entscheidungsbaums macht die erlernten Schwellenwerte und Entscheidungswege nachvollziehbar. Nach einer 80/20-Aufteilung wurden drei von vier Testfällen korrekt klassifiziert (75 Prozent Accuracy). Aufgrund der kleinen Testmenge dient das Ergebnis der Demonstration des Verfahrens.

    Logistische Regression unterstützt die Zielgruppenidentifikation für eine Marktexpansion. Ein Random Forest Classifier wird zur Vorhersage der Trinkwasserqualität eingesetzt. Umsetzung mit Python und Visual Studio Code.

    Im E-Commerce-Anwendungsfall wurden 3.526 englischsprachige Bekleidungsbewertungen analysiert, um anhand des Rezensionstextes hohe Kundenzufriedenheit zu erkennen. NLTK übernimmt Tokenisierung, Kleinschreibung und Wortartenerkennung; Adjektive, Nomen und Adverbien werden ausgewählt und lemmatisiert. Ein Bag-of-Words-Modell mit CountVectorizer bildet die Texte auf 100 Wortmerkmale ab.

    Ein multinomialer Naive-Bayes-Klassifikator unterscheidet zwischen hoher und nicht hoher Zufriedenheit. Die Daten wurden unter Beibehaltung der Klassenverteilung in 80 Prozent Trainings- und 20 Prozent Testdaten aufgeteilt. Auf den 706 Testbewertungen erreichte das Modell eine Accuracy von 70,96 Prozent. Eine Konfusionsmatrix ergänzt die Auswertung um die Verteilung der Fehlklassifikationen. Die Umsetzung nutzt Python, pandas, NLTK und scikit-learn.

    Daten → Klassifikation → Einordnung
  12. Machine Learning · Immobilien

    Wohnlagen verstehen.
    Mietpreise prognostizieren.

    Eine Machine-Learning-Pipeline schätzt die monatliche Miete von WG-Zimmern in Frankfurt anhand von Größe, Ausstattung und Lage. Geografisches Clustering verbindet Standortinformationen mit einer Random-Forest-Regression.

    Pythonscikit-learnK-MeansRandom ForestFeature Engineering
    Projekt entdecken

    Grundlage waren 574 Datensätze zu Frankfurter WG-Zimmern mit Angaben zu Zimmermaßen, Küchengröße, Renovierungszustand, Koordinaten und Monatsmiete. Die Datenaufbereitung ergänzt fehlende Werte, berechnet die Zimmerfläche und kodiert kategoriale Merkmale. Standardisierte Standortkoordinaten werden durch K-Means in sechs geografische Cluster eingeteilt, die als zusätzliches Merkmal in die Mietpreisprognose eingehen.

    Ein ColumnTransformer bündelt die Verarbeitungsschritte in einer gemeinsamen scikit-learn-Pipeline mit einem Random-Forest-Regressor. GridSearchCV optimiert Baumanzahl und maximale Tiefe mittels vierfacher Kreuzvalidierung. Die ausgewählte Konfiguration umfasst 150 Bäume mit einer maximalen Tiefe von zehn.

    Auf dem zurückgehaltenen Testdatensatz mit 20 Prozent der Beobachtungen erreichte das Modell einen mittleren absoluten Fehler (MAE) von 59,24 Euro bei der monatlichen Miete. Die Umsetzung erfolgte mit Python, pandas und scikit-learn; Seaborn visualisiert die räumliche Verteilung und die Cluster.

    Zimmer- und Lagedaten → Feature Engineering → Mietpreisprognose
NEUGIER ALS ANTRIEB

Weiterdenken. Ausprobieren. Dazulernen.

Diese Projekte geben einen Einblick in meine Arbeiten.

Projekte noch einmal ansehen ↑