e-mission / e-mission-docs

Repository for docs and issues. If you need help, please file an issue here. Public conversations are better for open source projects than private email.
https://e-mission.readthedocs.io/en/latest
BSD 3-Clause "New" or "Revised" License
15 stars 32 forks source link

Start building a recommender system #121

Open shankari opened 9 years ago

shankari commented 9 years ago

Several of us have had the idea of building a recommender system on top of the data gathered by moves. To do this right is complicated, and requires integration with a number of different APIs.

However, it might be interesting to start working on a rudimentary recommender system for short trips so that we can understand the issues involved.

Let's start with something easy - short trips under 3 miles. Trips that are < 1/2 mile can easily be walked, and trips that are < 3 miles can easily be biked. So a simple recommender system might be to say that car trips of those distances could be replaced by the equivalent walk and bike trips.

But there are some complications. If your 1/2 mile or 3 mile "trip" was actually a trip segment of a much larger trip that involved a ~ 15 mile drive, then it may not make as much sense. For example:

And so on and so forth.

So basically, think through some issues for this very narrow and simple recommendation generation and try to build a system. Remember to think about evaluation as well!

Are you generating useful recommendations, or just annoying the user? If your recommendation is not useful, can you figure out why so that you can generate a better recommendation next time?

Shanthi has a rudimentary visualization of this done, so you have some javascript to start working with.

shanthistyle commented 9 years ago

I, @neerajbaid, and @joshzarrabi would like to claim this one.

We were first thinking of displaying the most common trips. Instead, our recommender system could analyze the five most common trips and suggest an improvement as that could have highest impact for the user (i.e. if any of them are less than a mile, walk it). Another facet of the recommender system could be to use the Google API to find better routes at that time and recommend it when they are to take that trip again next time (or more simply, make the suggestion at the end of the day when they are confirming their trips)

shankari commented 9 years ago

@gaukes and @jeffdh5 just filed #97 (detect sub-optimal trips) which is similar. @lechiang, @zacatac and @jimmydief just picked #88 (display common trips) which is also part of your suggestion.

It looks like three teams want to work on recommender systems for this week.

That's great! Let's spend some time on this Thursday deciding exactly what such a system should look like, divvy up the work into three separate projects and have the three teams work together to get it to work.

This is now the fun part, where we work together as a team to build projects that are much bigger than a small three person project.

Also, as I commented in #97, NREL also wants to build a recommender system :) Adding @karunmj to the discussion so that he can track our efforts and learn from them...