我正在拥有一个数据集,其中包含全球用户访问过的一组位置。数据集如下所示:
1 55 66 22 88
2 11 33
........
........
99 88 22 66 99 55 33
100 33 44 88
第一列是userid,下面的列表示每个列以顺序方式访问的位置。因此,userid-1按顺序访问了位置53,56,22和88。为简单起见,每个位置名称都表示为locationids。我的数据集有100个用户,他们访问了570个不同的位置。因此,用于存储在matlab中的用户位置轨迹数据的100X570矩阵。
问题:我需要从总共100个用户中找到30个用户的样本。因此,当将这30个用户的用户位置矩阵提供给我的数据挖掘算法时,可以在更短的时间内处理挖掘并获得更好的结果。
数据挖掘算法的更好结果和时间效率程序执行因用户位置轨迹矩阵中的公共位置总数而异。
也就是说,如果用户位置矩阵具有100个唯一位置,那么我的数据挖掘算法将比具有300个不同位置的另一个用户位置矩阵花费更少的时间来执行它。 用户访问的位置是顺序的,因此locationid的顺序永远不会改变。
是否有任何采样技术可以解决这个问题,或者我是否应该根据访问位置执行聚类以对用户进行分组?
我在Matlab工作,所以对Matlab的任何建议都会更好。