0

我使用RapidMiner,我有一个包含 40 行的数据集,每行有 14 列。行是Android应用程序的不同类型的指标+,行尾是google-play排名(第一行是包含指标名称的标题)。

(所以目标是根据指标预测 google play 排名。)

数据集: http: //pastebin.com/Cw1BR4K6

  • 第 1-13 列:不同类型的指标
  • 第十四栏:google play排名
  • 第 2-40 行:Android 项目的指标

我在 RapidMiner 中使用了PolynomialRegression ,我得到了这个结果:

- 6.723 * lloc ^ 1.000
+ 1.187 * nid ^ 2.000
- 47.730 * nle ^ 1.000
- 36.433 * nel ^ 1.000
- 1.466 * nip ^ 2.000
- 97.187 * activites ^ 1.000
- 50.080 * inside-permissions ^ 1.000
- 60.291 * outside-permissions ^ 1.000
- 52.472 * all-permissions ^ 4.000
- 2.309 * jtlloc ^ 1.000
+ 36.058 * jtnm ^ 1.000
+ 9.924 * jtna ^ 1.000
+ 40.504 * jtncl ^ 1.000
+ 9.455

我的问题: 我如何检查这个结果是否正确?如何将此结果检查到已经可用的线路?例如,我想将此结果应用于第 25 行:25,8,5,10,0,1,0,0,0,239,10,14,4,3.8

我的另一个问题: 我可以用什么方法来预测这个集合?最好的方法是什么?如果可能的话,我想请你向我解释一下。

在此先感谢,彼得

4

1 回答 1

0

多项式回归的结果是经过训练的模型。如果要将模型应用于数据集并查看结果,请使用Apply Model运算符。它需要两个输入:模型和数据。该算子的输出是具有一个属性的数据集:回归结果。

但是使用与训练时相同的数据来评估模型的性能是一个非常糟糕的主意。(过度拟合)。要正确评估模型的性能,请将数据拆分为训练集(用于训练模型)和测试集(用于评估性能)。或者使用实际上是相同的交叉验证,但要进行多次并取平均值。(在 Rapidminer 中:编辑 -> 新构建块 -> 数值 X 验证)

选择哪种回归方法是一个难题,取决于您的具体需求。您的唯一标准是回归错误吗?你需要人类可读的输出吗?您肯定需要尝试多种方法。而且我不确定你会用这个小数据集得到一些结论性的结果。

于 2013-06-03T16:14:37.030 回答