Page 56 - 《软件学报》2020年第11期
P. 56
3372 Journal of Software 软件学报 Vol.31, No.11, November 2020
著缩小机型选择空间的可能性.
机型数量
时长比例(time share)
Fig.2 Number of device models covering X% time share of game apps
图 2 覆盖游戏类应用 X%时长比例需要的机型数量
由于应用上线之前没有足够的用户数据,无法根据应用自身的历史信息预测未来的情况,运用协同过滤思
想,使用相似应用的用户数据来预测目标应用的用户数据.根据具有相同特征的应用中不同机型用户的接受度
分布,预测该应用的用户接受度分布情况.具体而言,对于应用 A,选取同类别的 K−1 个应用,根据在这 K−1 个应
用中不同机型用户接受度的分布情况预测应用 A 的 N 个主要机型,采用 K 折交叉验证(此处等同于留一验证 [39] )
算法验证预测效果.在 K 个应用中,选择某个应用作为应用 A,对其余的 K−1 个应用,将同一机型的在线使用时长
进行加总,计算出不同机型的在线使用时长,并选取排名前 N 的机型,预测其为应用 A 的主要机型.以机型命中
数、时长覆盖率、平均精准度作为评价指标,其中,机型命中数表示在实际的 N 种主要机型中命中的数量,时长
覆盖率表示预测出的 N 种机型的在线使用时长占实际时长的比例,平均精准度(average precision)则同时考虑了
N 种机型的排序情况.每次选取不同的应用,将这一过程重复 K 次,并对以上 3 种评价指标进行统计.选定
K=100,N=10,对豌豆荚数据集中包含的 14 类应用实验结果见表 1,其中,指标分别为机型命中数的中位数、时长
覆盖率的中位数和平均精准度的平均数(mean average precision).
Table 1 Prediction results of main device models for different app categories
表 1 不同类别应用主要机型预测结果
机型命中数(中位数) 时长覆盖率(中位数) 平均精准度(平均数)
应用类别
算法 1 算法 2 算法 3 算法 1 算法 2 算法 3 算法 1 算法 2 算法 3
商务 5 4 5 82.52 69.01 74.29 0.49 0.29 0.40
媒体 8 5 6.5 96.7 77.84 90.85 0.72 0.39 0.54
购物 7 5 5 91.68 76.44 85.64 0.62 0.33 0.47
通讯 6 5 5 85.92 73.31 81.71 0.53 0.33 0.44
母婴 5 4 5 76.81 62.87 73.24 0.47 0.27 0.41
社交 7 5 5 91.61 71.84 83.65 0.61 0.33 0.45
财务 7 5 6 90.58 77.11 84.43 0.63 0.38 0.49
新闻 7 4 5 90.31 73.13 79.14 0.58 0.32 0.43
工具 7 5 6 92.09 78.4 87.23 0.55 0.35 0.48
游戏 8 5 7 97.35 76.36 92.09 0.75 0.39 0.62
效率 4.5 4 4 61.05 57.62 60.75 0.40 0.27 0.36
旅行 8 5 6 94.77 80.59 88.34 0.69 0.41 0.50
生活 7 5 6 93.30 80.18 87.90 0.61 0.40 0.48
教育 7 5 6 93.20 73.43 85.70 0.65 0.38 0.52
作为对比,将上述预测算法计作算法 1,同时选用两种基于市场占有率的机型预测方法,分别计作算法 2 和
算法 3,同样计算 3 项指标.其中,算法 2 选用 AppBrain 在同一季度的 Android 设备销量排名前 10 的机型,对每
款应用均以此 10 种机型预测其排名前 10 的机型,即对任一应用 A,预测其排名前 10 的机型依次是 AppBrain 公
布的销量排名前 10 的机型.算法 3 则使用豌豆荚数据集统计出的市场占有率排名前 10 的机型,以消除数据集
不同带来的影响.同样,对每款应用均以此 10 种机型进行预测.