2016-02-06 82 views
1

我是Weka数据挖掘工具的初学者。Weka M5Rules编码

我在想如何将M5Rules的输出模型编码到可嵌入能耗模拟器的C程序中。下面介绍完整的模型。

先验我会希望在C中有一种if-then-else编码,但在这些规则的IF条件中存在奇怪的表达式,这些我不明白。

例如,在Rule: 1,这是IF条件相当于ExecTime <= 959678 && ExecTime > 767156

如何解释Rule: 15Rule: 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%] 

回答

0

规则1相当于ExecTime < = 797926.5 & & ExecTime> 767156(其它条件杂散) 第15条等于ExecTime> 1276509 第16条等于ExecTime> 849021(& & ExecTime < = 1276509) (第一排除这种匹配获胜)