2017-09-24 2 views
-1

Ich arbeite an einem persönlichen Projekt, bei dem ich die Daten des Fahrradverleihservice meiner Stadt in einer MySQL-Datenbank protokolliere. Ein Skript läuft alle 30 Minuten und protokolliert Daten für jede Fahrradstation und die kostenlosen Fahrräder, die jeder hat. Dann mittle ich in meiner Datenbank die Verfügbarkeit jeder Station für jeden Tag zu dieser gegebenen Zeit und mache so wie heute eine ungefähre Vorhersage mit 2 Monaten Datenprotokollierung.Wie können Sie feststellen, ob Sie Machine Learning auf ein Projekt anwenden können?

Ich habe ein wenig über maschinelles Lernen gelesen und möchte etwas lernen. Wäre es möglich, ein Modell mit meinen Daten zu trainieren und in Zukunft bessere Vorhersagen mit ML zu treffen?

Antwort

1

Die Antwort ist sehr wahrscheinlich ja.

Der erste Schritt ist, einige Daten zu haben, und es klingt wie du es tust. Sie haben eine Antwort (kostenlose Fahrräder) und einige Funktionen, auf denen es variiert (Zeit, Ort). Sie haben bereits ein grundlegendes Konditionalmittelmodell angewendet, indem Sie Werte über Faktoren gemittelt haben. Sie könnten die Daten, die Sie über Standorte kennen, mit einigen Kalenderereignissen wie Feiertags- oder lokalen Ereignismarkierungen ergänzen.

Bereiten Sie einen Datensatz mit einer Zeile pro Beobachtung vor und vergleichen Sie die Genauigkeit Ihres aktuellen Prognoseprozesses für einen bestimmten Zeitraum mit einer Metrik wie dem mittleren absoluten Fehler (MAPE). Stellen Sie sicher, dass Ihre Vorhersagen (Durchschnittswerte) für den Gültigkeitszeitraum keine Daten innerhalb des Gültigkeitszeitraums enthalten! Verwenden Sie die Daten für diesen Zeitraum, um andere von Ihnen getestete Modelle zu validieren.

Teilen Sie einen Teil der verbleibenden Daten in einen Testsatz und verwenden Sie den Rest für das Training. Wenn Sie viele Daten haben, ist ein gemeinsamer Trainings-/Test-Split 70/30. Wenn die Daten klein sind, können Sie auf 90/10 heruntergehen.

Lernen Sie ein oder mehrere Machine-Learning-Modelle auf dem Trainingssatz und überprüfen Sie die Leistung regelmäßig auf dem Test-Set, um sicherzustellen, dass die Generalisierungsleistung noch zunimmt. Viele Implementierungen von Trainingsalgorithmen verwalten dies für Sie und stoppen automatisch, wenn die Testleistung aufgrund von Überanpassungen abnimmt. Dies ist ein großer Vorteil des maschinellen Lernens über den aktuellen Durchschnitt, die Fähigkeit zu lernen, was verallgemeinert wird und was nicht.

Validieren Sie jedes Modell, indem Sie über den Validierungssatz vorhersagen, berechnen Sie die MAPE und vergleichen Sie die MAPE des Modells mit der des ursprünglichen Prozesses im selben Zeitraum. Viel Glück und viel Spaß beim Lernen!

Verwandte Themen