Friday, December 8, 2017

We continue discussing the personal coder. The personal coder can also become the personal recommender.The recommender is a personal advisor who can use intelligent correlation algorithms. For example, it can perform collaborative filtering using the owner's friends as data point. In this technique, the algorithm finds people with tastes similar to the owner and evaluates a list to determine the collective rank of items. While standard collaborative filtering uses viewpoints from a distributed data set, the recommender may adapt it to include only the owner's friends. 
 The recommender might get geographical location of the user, the time of the day and search terms from the owner. These are helpful to predict the activity the owner may take. The recommender does not need to rebuild the activity log for the owner but it can perform correlations for the window it operates on. If it helps to build the activity log for year to date, then the correlation can become easier by translating to queries and data mining over the activity log. The recommender does not have to take any actions. Whether the owner chooses to act on the recommendations or publish it on Facebook is entirely her choice. This feedback loop may be appealing to her friends and their social engineering application and it is a choice for the friends to participate The recommender is also enabled to query trends and plot charts to analyze data in both spatial and temporal dimensions. It could list not only the top 5 in any category but also the items that remained in the top 5 week-after-week. These and such other aggregation and analysis techniques indicate tremendous opportunity for the recommender to draw the most appealing and intuitive information layer over any map.  A recommender can query many data sources over the web. For example, it can query credit card statements to find patterns in spending and use it to highlight related attractions in a new territory. Wouldn’t it be helpful to have our login pull up restaurants that match our eating habits instead of cluttering up the map with all those in the area? Similarly, wouldn't it be helpful to use our social graph to annotate venues that our friends visited? The recommender may be uniquely positioned to tie in a breadth of resources from public and private data sources. Many web applications such as del.icio.us and Kayak make data available for browsing and searching.  
#codingexercise

We were discussing finding closest numbers between the elements of three sorted integer arrays. 
Another usage of finding the closest numbers in these arrays to a given input value is to discover overlapping range of sorted numbers. In order to do this on number line, we could choose max(start1,start2,start3) and min(end1,end2,end3) for (start,end) pair for every array. But by finding the closest of the min and max values, we can determine the overlapping range projection on any one of three arrays. Then we can choose the projection with the smallest number of elements 
Determining the overlapping region projections helps shrink the search space for any operations involving all three arrays. It may not be useful for sum, average, mode or median but it is helpful for partitioning the number line to determine the presence of a number in any array. If the number is not in the overlapping range then we exclude one of the arrays and binary search for it outside the projections in other two arrays.

No comments:

Post a Comment