ML Algroithmus für unsupervised Datensatz

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
MVTUM
User
Beiträge: 5
Registriert: Montag 10. Dezember 2018, 14:38

Hallo miteinander,

vorweg ich bin noch recht am Anfang was Machine Learning angeht daher bräuchte ich auch wohl etwas Starthilfe.
Folgende Aufgabe habe ich, und zwar habe ich einen Datensatz mit Raumklimaparametern. Im Datensatz selber sind sowohl der Wochentag, Messzeitpunkt, Lufttemperatur, CO2, Luftfeuchtigkeit etc. (alles minütlich aufgelöst). Die Daten wurden über ca. 2,5 Wochen erhoben (Mein Messsystem läuft seit Anfang Dezember 2018...an mehr Daten zu kommen ist also kein Problem)...mir geht es auch eher um die Methodik.
Anhand der Daten will ich jetzt heraus finden, wann Menschen anwesend waren. Wenn ich mir ein plot der Daten anschaue sieht man bereits sehr deutliche Änderungen im CO2-Gehalt.
Das ganze möchte ich jetzt mit einem ML Algorithmus analysieren. Ziel soll sein, dass der Algorithmus mir sagt, wann Menschen anwesend sind.
Jetzt komm ich aber an die Stelle bei der ich nicht recht weis was für einen Algorithmus ich anwenden soll.

Clustering mit 2 Klassen (Anwensend und nicht-Anwesend), k-means, Two-class SVM, Two-class decision tree?

Kann mir hier jemand bei der Entscheidung helfen? Oder ist es ggf. so, dass ich mehrere Algorithmen testen muss um zu schauen welcher besser funktioniert?

Vielen Dank und Grüße
Michael
Benutzeravatar
ThomasL
User
Beiträge: 1378
Registriert: Montag 14. Mai 2018, 14:44
Wohnort: Kreis Unna NRW

Ich würde die letzte Frage mal mit Ja beantworten. Den "besten" Algorithmus gibt es nicht.
Du hast als Datengenerierer aber einen Vorteil. Du kannst deine verschiedenen Modelle an Datensätzen testen, von denen du das Label kennst.
(ich gehe davon aus, du kannst Zeiträume eingrenzen, an denen Personen anwesend waren)
Diese Datensätze benutzt du natürlich nicht zum trainieren.
Beispiel: Du trainierst mit allen Tagen, außer dem letzten, das ist dein Testdatensatz.
Diesen unterteilst du in Zeiten ohne Anwesenheit und mit Anwesenheit und schickst diese durch deine Modelle.
Anhand der Accuracy der Prediction kannst du dann deine Modelle in gute und nicht so gute einteilen.
Ich bin Pazifist und greife niemanden an, auch nicht mit Worten.
Für alle meine Code Beispiele gilt: "There is always a better way."
https://projecteuler.net/profile/Brotherluii.png
ArtooDetoo
User
Beiträge: 60
Registriert: Dienstag 4. Dezember 2018, 16:57

Für mich klingt das ein wenig als wolltest du hier mit Kanonen auf Spatzen schießen. Eine einfache Schwellwertunterscheidung z.B. beim CO2-Gehalt sollte doch ausreichen.

Falls du trotzdem Richtung ML gehen möchtest, wäre hier imho ganz normale überwachte Klassifikation angebracht. Um einen guten Trainingsdatensatz zu erstellen, musst du wissen, wann in diesen Zeiträumen genau Menschen anwesend waren und wann nicht. Selbst eine SVM mit linearem Kernel sollte das eigentlich dann lernen können.
__deets__
User
Beiträge: 14545
Registriert: Mittwoch 14. Oktober 2015, 14:29

@ArtooDetoo: ein Entscheidungsbaumverfahren sollte das ja dann problemlos ergeben. Mal abgesehen davon, dass die wenigsten Aufgaben zum Ziel haben, ein Problem so einfach wie möglich zu lösen. Sondern etwas komplexeres nahe zu bringen. Als Student oder Schüler schreibt man ja auch mal nen quicksort.
nezzcarth
User
Beiträge: 1756
Registriert: Samstag 16. April 2011, 12:47

ArtooDetoo hat geschrieben: Donnerstag 20. Dezember 2018, 00:30 Für mich klingt das ein wenig als wolltest du hier mit Kanonen auf Spatzen schießen. Eine einfache Schwellwertunterscheidung z.B. beim CO2-Gehalt sollte doch ausreichen.
Zu dem Thema gibt es nach meinem Eindruck durchaus auch recht aktuelle Forschungsliteratur (s. z.B https://www.sciencedirect.com/science/a ... 2314004223). Insofern ist das vielleicht doch nicht ganz so trivial, wie es im ersten Moment erscheinen mag (wobei die zusätzliche Schwierigkeit hier sicher auch in der Erkennung der Personenanzahl liegt). Ein machine-learning Ansatz ist daher vielleicht gar keine schlechte Idee.
MVTUM
User
Beiträge: 5
Registriert: Montag 10. Dezember 2018, 14:38

@ThomasL: Vielen Dank für die Hinweise, dann werde ich nicht umher kommen einfach mehrere Methoden zu testen.

@ArtooDetoo: Ja es mag vielleicht echt "einfachere" Methoden geben aber ich möchte mit dem Beispiel eben in die ML einsteigen. Zumal ich die Datenqualität und die Ergebnisse daraus für mich sinnvoll interpretieren kann. Anders wäre es wenn ich mit irgendwelchen Daten ein Beispiel/Turorial durchrechne. Das grundlegendere Problem dabei ist auch, dass im Bauwesen (und in der Planung) solche Methoden noch quasi überhaupt nicht zum Einsatz kommen und da will ich eben nach Potentialen und Anwendungsbereichen schauen.

Wir wollen nämlich dann auch noch einen Schritt weiter gehen und das menschliche Verhalten im Gebäude prognostizieren, also wann er das Fenster öffnet, Raum verlässt, Heizung/Kühlung bedient.

Ihr habt mir alle sehr weiter geholfen, vielen Dank dafür!
ArtooDetoo
User
Beiträge: 60
Registriert: Dienstag 4. Dezember 2018, 16:57

Ja, ihr habt recht!
Ein so komplexes Modell, wie in dem Papier, das nezzcarth da gefunden hat, kann vielleicht noch bessere Ergebnisse liefern.
Die Autoren verweisen übrigens auf einen simpleren Ansatz, der nur den Gradienten des CO2 Gehalts analysiert. Vermutlich ist der für die Klassifikation noch besser geeignet als der absolute Gehalt.
Antworten