🚒
Firefighting-operations-SW | Feuerwehreinsätze-SW | Dieses Repository enthält eine Analyse von Feuerwehreinsätzen aus der Stadt und dem Landkreis Schweinfurt.
🌱
Motivation Ich bin aktives Mitglied der Freiwilligen Feuerwehr und zugleich leidenschaftlicher Data Scientist
Daten
Die Daten stammen von der Webseite des KFV Schweinfurt und enthalten Informationen über alle Einsätze in Stadt und Landkreis Schweinfurt. Die Datensammlung beginnt am 19.05.2001 und wird täglich aktualisiert. Bitte beachten Sie, dass die Daten nur aus öffentlichen Quellen stammen und möglicherweise nicht vollständig oder fehlerfrei sind.
Datenerfassung
Ich habe die Daten mithilfe von Webscraping von der Webseite extrahiert und heruntergeladen. Mein Datensatz umfasst alle Einsätze im Zeitraum vom 19.05.2001 bis zum 31.12.2022 und enthält insgesamt 15.440 Einträge. Das Scrapen der Daten dauert mindestens 2,5 Stunden
Dataset erstellen
- In der Datei webscraping.py:
- In der while-Schleife die ID der letzten Webseite eingeben
- Das Skript starten und
all
beim Input eingeben
- Das Skript dataset.py starten und
create
beim Input eingeben
Bitte alle Ausgaben beachten und ausführen.
Dataset erweitern
- Das Skript webscraping.py starten und
latest
beim Input eingeben - Das Skript dataset.py starten und
extend
beim Input eingeben
Bitte alle Ausgaben beachten und ausführen.
📊
Analyse Erster Einblick
Es ist ein deutlicher Trend
Die beiden häufigsten Einsatztypen sind "Technische Hilfe" und "Brand".
Vorgehen
Ich bin systematisch jedes Feature durchgegangen und habe dazu interessante Diagramme erstellt. Zusätzlich habe ich zu jedem Plot Kommentare hinzugefügt, um meine Beobachtungen zu erläutern. Alle Diagramme, die in meiner Analyse enthalten sind, sind im Ordner Plots gespeichert und können einzeln betrachtet werden.
✨
Machine Learning Im Anschluss an meine Analyse habe ich überlegt, welche weiteren Anwendungsmöglichkeiten die Daten bieten. Ich habe eine Text-Klassifikation implementiert, die mithilfe des Kurzbericht-Features den Einsatztyp vorhersagt. Die Vorhersage funktioniert derzeit nur für die Einsatztypen "Technische Hilfe" und "Brand", da nur für diese Klassen ausreichend einzigartige Kurzberichte vorhanden sind. Die Genauigkeit der Vorhersage beträgt 97%
Beispiel
Input: Wohnung öffnen akut
Output: Technische Hilfe
Diese Vorhersage ist korrekt.
Entwicklung
- Visual Studio Code
- Unterstützung durch GitHub Copilot
- Python 3.10.9
Tests
Um die korrekte Funktionsweise des Codes zu gewährleisten, wurden verschiedene Tests implementiert, die mithilfe des Skripts test.py ausgeführt werden können. Dabei werden Funktionen aus den Bereichen dataset, text classification ml und webscraping getestet sowie ein allgemeiner selftest durchgeführt.
📁
Übersicht über die Datei- und Ordnerstruktur Dateien | Beschreibung |
---|---|
Dataset | Ordner enthält den Datensatz |
Plots | Ordner enthält gespeicherte Plots |
CONTRIBUTING.md | Informationen wie man unterstützen kann |
dataset.py | Funktionen um den Datensatz zu erstellen und zu erweitern |
exploratory_data_analysis.html | HTML Datei des Jupyter notebooks für die Explorative Datenanalyse |
exploratory_data_analysis.ipynb | Jupyter notebook für die Explorative Datenanalyse |
requirements.txt | Enthält alle benötigten Python-Pakete |
selftest.py | Klasse für allgemeine Checks des Pythoncodes |
test.py | Klassen für das Testen des Pythoncodes |
text_classification_ml.html | HTML Datei des Jupyter notebook für die Text-Klassifikation |
text_classification_ml.ipynb | Jupyter notebook für die Text-Klassifikation |
text_classification_ml.py | Funktionen für eine Text-Klassifikation |
webscraping.py | Funktionen für das Webscraping von der KFV-SW Webseite |
Viel Spaß beim lesen und validieren!
Lizenz
Dieses Projekt ist unter der Apache-2.0-Lizenz lizenziert.