-
Notifications
You must be signed in to change notification settings - Fork 9
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Use XGBoost classifier #5
Comments
This looks like a great way to solve for location in 3D. I have a few more ESP32's on the way and will try and see if there is a way to harvest data. |
With the issues you mentioned about python versions, what about moving the logic to the esp32s? Something like this: https://github.com/eloquentarduino/micromlgen This was also quite interesting in terms of modelling the data: https://github.com/filipsPL/cat-localizer |
Cat localizer is very cool. The problem w/ one esp doing the ML is we need all the data from all nodes. |
My proposal: In production the user could simply switch the addon to training-mode and send the labels (rooms) via mqtt or some other input strategy to the container. I guess I will try this out with scikit and a simple random forest. My only issue right now is that I might have to wait 10 seconds for all readings to arrive since the ESPs do not send readings at the same time. Can we improve the 5 second delay per reading? Also, how could we handle different devices since they have different rssi strength depending on the device. We would need some sort of normalizing as preprocessing step I guess. |
Very cool stuff. I think that is a good approach. Using appdaemon leads to pain. I was thinking adding a select dropdown of what room the device is in, then when you switch it to another room use that as a new training point. |
I like the idea of a dropdown. Maybe even the already defined rooms in Home Assistant could be utilized somehow in a polished version. However, I realized after posting my comment that this does not solve the issue of accurate positioning in a coordinate system. I doubt that regression training would be as easy as classification because how would you know the exact values of your position while recording data. Unsupervised training would be interesting research stuff in that area. Maybe it's possible to figure out clusters (rooms) automatically. But simple classification would be a good first step to room occupancy, which might be enough for most use cases. Another idea that I read somewhere here or in the ESPresense issues: We could try to utilize other stationary devices like Echo Dots to improve the rssi readings of nearby placed ESPs to basically figure out the noise levels. |
Yes, this wouldn't try and do any coordinate system. Just the "room" it's in. |
https://www.hackster.io/home_skillet/alexa-where-are-my-keys-aa0e82
The text was updated successfully, but these errors were encountered: