1
我是Weka数据挖掘工具的初学者。Weka M5Rules编码
我在想如何将M5Rules的输出模型编码到可嵌入能耗模拟器的C程序中。下面介绍完整的模型。
先验我会希望在C中有一种if-then-else编码,但在这些规则的IF
条件中存在奇怪的表达式,这些我不明白。
例如,在Rule: 1
,这是IF
条件相当于ExecTime <= 959678 && ExecTime > 767156
?
如何解释Rule: 15
和Rule: 16
相对于849021的条件(这两个条件是否相同)?
我将不胜感激对这些规则可能的C编码的任何帮助:-)。 非常感谢!
JH
************************ M5Rules输出
Rule: 1
IF
ExecTime <= 959678
ExecTime <= 841942.5
ExecTime > 767156
ExecTime <= 797926.5
THEN
EnergyTotal =
0.0474 * _H08Y299NEeOETou3oNmhPQ.x
+ 0.0444 * _H08aFt9NEeOETou3oNmhPQ.x
+ 0.0353 * _H08Yxt9NEeOETou3oNmhPQ.x
+ 0.1149 * _H08ZiN9NEeOETou3oNmhPQ.x
- 3.6692 * _H08aH99NEeOETou3oNmhPQ.y
- 0.0622 * _H08ZRt9NEeOETou3oNmhPQ.y
+ 0.0002 * ExecTime
+ 9283.9945 [905/5.48%]
Rule: 2
IF
ExecTime <= 990800
ExecTime > 841942.5
ExecTime > 891748.5
ExecTime <= 953522.5
THEN
EnergyTotal =
5.7526 * _H08Y999NEeOETou3oNmhPQ.x
+ 0.0241 * _H08aFt9NEeOETou3oNmhPQ.x
- 5.473 * _H08Yxt9NEeOETou3oNmhPQ.x
- 4.7454 * _H08aH99NEeOETou3oNmhPQ.y
- 0.0244 * _H08ZRt9NEeOETou3oNmhPQ.y
+ 0.0002 * ExecTime
+ 9962.3473 [1076/7.136%]
Rule: 3
IF
ExecTime <= 922644.5
ExecTime > 841942.5
ExecTime <= 875547
ExecTime <= 869750.5
THEN
EnergyTotal =
0.0538 * _H08aFt9NEeOETou3oNmhPQ.x
+ 0.0522 * _H08Yxt9NEeOETou3oNmhPQ.x
- 0.2158 * _H08ZiN9NEeOETou3oNmhPQ.x
- 3.025 * _H08ZRt9NEeOETou3oNmhPQ.y
+ 0.0858 * _H08aMd9NEeOETou3oNmhPQ.x
- 4.3856 * _H08Yud9NEeOETou3oNmhPQ.y
+ 0.0001 * ExecTime
+ 9675.1495 [890/5.322%]
Rule: 4
IF
ExecTime > 922644.5
ExecTime <= 1144991.5
ExecTime <= 1100913.5
ExecTime > 990800
ExecTime > 1023515
THEN
EnergyTotal =
0.0177 * _H08aFt9NEeOETou3oNmhPQ.x
+ 0.0212 * _H08Yxt9NEeOETou3oNmhPQ.x
- 0.0141 * _H08ZRt9NEeOETou3oNmhPQ.y
+ 0.2791 * _H08aMd9NEeOETou3oNmhPQ.x
+ 0.1004 * _H08ZAt9NEeOETou3oNmhPQ.x
+ 0.2871 * _H08ZvN9NEeOETou3oNmhPQ.x
+ 0.0029 * ExecTime
+ 7616.5061 [759/5.317%]
Rule: 5
IF
ExecTime > 922644.5
ExecTime <= 1175937.5
ExecTime > 1061802
ExecTime > 1112381.5
THEN
EnergyTotal =
0.1694 * _H08aFt9NEeOETou3oNmhPQ.x
+ 0.03 * _H08Yxt9NEeOETou3oNmhPQ.x
- 0.0678 * _H08ZRt9NEeOETou3oNmhPQ.y
+ 0.0004 * ExecTime
+ 10581.9568 [495/4.516%]
Rule: 6
IF
ExecTime <= 922644.5
ExecTime <= 768103.5
ExecTime > 721726.5
ExecTime <= 729278
ExecTime > 722094
ExecTime <= 724494
THEN
EnergyTotal =
0.4341 * _H08Y999NEeOETou3oNmhPQ.x
+ 0.0958 * _H08aFt9NEeOETou3oNmhPQ.x
+ 11.1267 * _H08Yxt9NEeOETou3oNmhPQ.x
+ 18.5669 * _H08ZiN9NEeOETou3oNmhPQ.x
- 0.2536 * _H08aH99NEeOETou3oNmhPQ.y
- 8.0408 * _H08ZRt9NEeOETou3oNmhPQ.y
+ 0.0942 * _H08aMd9NEeOETou3oNmhPQ.x
- 0.0121 * ExecTime
+ 17795.1451 [294/5.734%]
Rule: 7
IF
ExecTime <= 990800
ExecTime <= 869756.5
ExecTime <= 768103.5
ExecTime > 721636.5
ExecTime <= 730227.5
ExecTime <= 728964
THEN
EnergyTotal =
0.1634 * _H08Y299NEeOETou3oNmhPQ.x
+ 0.3896 * _H08Y999NEeOETou3oNmhPQ.x
+ 0.1997 * _H08aFt9NEeOETou3oNmhPQ.x
+ 0.1235 * _H08Yxt9NEeOETou3oNmhPQ.x
- 0.3961 * _H08ZRt9NEeOETou3oNmhPQ.y
+ 0.1817 * _H08aMd9NEeOETou3oNmhPQ.x
- 0.2828 * _H08Yud9NEeOETou3oNmhPQ.y
+ 0.4399 * _H08ZAt9NEeOETou3oNmhPQ.x
+ 0.0003 * ExecTime
+ 8867.5503 [402/4.404%]
Rule: 8
IF
ExecTime > 1061802
ExecTime <= 1266307
ExecTime > 1144257
ExecTime > 1193767.5
THEN
EnergyTotal =
-0.3281 * _H08Y299NEeOETou3oNmhPQ.x
+ 0.062 * _H08aFt9NEeOETou3oNmhPQ.x
+ 13.1349 * _H08Yxt9NEeOETou3oNmhPQ.x
- 0.0428 * _H08ZRt9NEeOETou3oNmhPQ.y
- 0.254 * _H08Yud9NEeOETou3oNmhPQ.y
+ 0.3602 * _H08ZAt9NEeOETou3oNmhPQ.x
+ 0.0028 * ExecTime
+ 8065.2375 [293/4.695%]
Rule: 9
IF
ExecTime > 1061802
ExecTime <= 1230073
THEN
EnergyTotal =
0.117 * _H08aFt9NEeOETou3oNmhPQ.x
+ 0.0723 * _H08Yxt9NEeOETou3oNmhPQ.x
- 0.0625 * _H08ZRt9NEeOETou3oNmhPQ.y
- 17.6704 * _H08ZvN9NEeOETou3oNmhPQ.x
+ 0.0051 * ExecTime
+ 5341.2406 [283/7.376%]
Rule: 10
IF
ExecTime > 1145764
ExecTime > 1349259.5
THEN
EnergyTotal =
0.1985 * _H08aFt9NEeOETou3oNmhPQ.x
+ 0.12 * _H08Yxt9NEeOETou3oNmhPQ.x
- 0.1002 * _H08ZRt9NEeOETou3oNmhPQ.y
+ 0.005 * ExecTime
+ 5325.0455 [281/6.55%]
Rule: 11
IF
ExecTime <= 922644.5
ExecTime > 869756.5
ExecTime > 881525
THEN
EnergyTotal =
0.151 * _H08Y299NEeOETou3oNmhPQ.x
+ 0.2828 * _H08aFt9NEeOETou3oNmhPQ.x
- 0.6376 * _H08ZiN9NEeOETou3oNmhPQ.x
- 0.0385 * _H08ZRt9NEeOETou3oNmhPQ.y
+ 0.0006 * ExecTime
+ 9300.7835 [253/4.516%]
Rule: 12
IF
ExecTime <= 917420.5
ExecTime > 768103.5
ExecTime <= 869756.5
ExecTime > 806810.5
THEN
EnergyTotal =
0.1013 * _H08Y299NEeOETou3oNmhPQ.x
+ 0.8919 * _H08aFt9NEeOETou3oNmhPQ.x
- 0.0522 * _H08ZRt9NEeOETou3oNmhPQ.y
- 0.0555 * _H08ZAt9NEeOETou3oNmhPQ.x
+ 0.0005 * ExecTime
+ 9049.7419 [228/4.466%]
Rule: 13
IF
ExecTime <= 917420.5
ExecTime > 768103.5
THEN
EnergyTotal =
0.1663 * _H08Y299NEeOETou3oNmhPQ.x
+ 0.3315 * _H08aFt9NEeOETou3oNmhPQ.x
- 0.0572 * _H08ZRt9NEeOETou3oNmhPQ.y
+ 0.0723 * _H08aMd9NEeOETou3oNmhPQ.x
- 0.0782 * _H08ZAt9NEeOETou3oNmhPQ.x
+ 0.0047 * ExecTime
+ 5620.2818 [696/9.48%]
Rule: 14
IF
ExecTime <= 1145764
ExecTime > 845905
ExecTime <= 959678
THEN
EnergyTotal =
-0.5334 * _H08Y999NEeOETou3oNmhPQ.x
+ 0.4001 * _H08aFt9NEeOETou3oNmhPQ.x
- 0.7092 * _H08ZRt9NEeOETou3oNmhPQ.y
+ 0.3418 * _H08aMd9NEeOETou3oNmhPQ.x
+ 0.0004 * ExecTime
+ 9771.3597 [269/4.341%]
Rule: 15
IF
ExecTime > 849021
ExecTime > 1145764
ExecTime > 1276509
THEN
EnergyTotal =
0.9858 * _H08aFt9NEeOETou3oNmhPQ.x
- 0.7268 * _H08ZRt9NEeOETou3oNmhPQ.y
+ 0.3091 * _H08aMd9NEeOETou3oNmhPQ.x
+ 0.0006 * ExecTime
+ 10999.3844 [193/4.635%]
Rule: 16
IF
ExecTime > 849021
THEN
EnergyTotal =
0.682 * _H08aFt9NEeOETou3oNmhPQ.x
- 15.4759 * _H08ZiN9NEeOETou3oNmhPQ.x
- 0.4643 * _H08ZRt9NEeOETou3oNmhPQ.y
+ 0.6401 * _H08aMd9NEeOETou3oNmhPQ.x
- 17.6902 * _H08Yud9NEeOETou3oNmhPQ.y
+ 15.1697 * _H08ZvN9NEeOETou3oNmhPQ.x
+ 0.005 * ExecTime
+ 5395.084 [268/9.01%]
Rule: 17
IF
ExecTime > 657837
ExecTime <= 730227.5
THEN
EnergyTotal =
1.749 * _H08Y299NEeOETou3oNmhPQ.x
+ 1.5395 * _H08aFt9NEeOETou3oNmhPQ.x
- 0.686 * _H08aH99NEeOETou3oNmhPQ.y
- 1.0553 * _H08ZRt9NEeOETou3oNmhPQ.y
+ 22.5421 * _H08aMd9NEeOETou3oNmhPQ.x
- 0.6172 * _H08Yud9NEeOETou3oNmhPQ.y
+ 0.0005 * ExecTime
+ 8690.2253 [161/37.564%]
Rule: 18
EnergyTotal =
12.3579 * _H08Y299NEeOETou3oNmhPQ.x
+ 16.0776 * _H08aMd9NEeOETou3oNmhPQ.x
- 10.38 * _H08ZvN9NEeOETou3oNmhPQ.x
+ 0.005 * ExecTime
+ 5484.0874 [252/25.693%]