I created user sessions from server log data. Based on the URLs I categorized each server request according to the respective page content (e.g. topic_1 = main page, topic_2 = team members, etc.). The Table shows the number of times the user requested a page belonging to a topic in one session.
I want to cluster the sessions to find groups of sessions with similar interests and respectively similar browsing patterns. There are about 100 topics. The first 15 topics are requested frequently. The other topics are like a sparse matrix, but important to differentiate the sessions.
Its an exploratory data mining project. I don’t know how many interest groups there are. So I’m looking for an algorithm that doesn’t need a specified number of clusters (so no k-means or the like). The database contains about 1 million sessions. Perhaps you can suggest an implementation in R.
user_session topic_1 topic_2 topic_3 topic_4 topic_99 topic_100
------------------------------------------------ - - ------------------
1 1 4 0 0 0 0
2 1 2 0 0 1 0
3 1 0 5 2 0 0
4 1 0 6 3 0 1
...