Skip to content

Commit 1ade4f3

Browse files
committed
Removed strange mincov adjustment (results may change).
1 parent 0a22c07 commit 1ade4f3

13 files changed

+16
-47
lines changed

adaa.analytics.rules/build.gradle

+1-1
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ codeQuality {
2727
}
2828

2929
sourceCompatibility = 1.8
30-
version = '1.7.10'
30+
version = '1.7.11'
3131

3232

3333
jar {

adaa.analytics.rules/src/main/java/adaa/analytics/rules/logic/induction/AbstractFinder.java

+1-4
Original file line numberDiff line numberDiff line change
@@ -358,10 +358,7 @@ protected Set<Attribute> names2attributes(Set<String> names, ExampleSet dataset)
358358
return fractionCurrentGeneration * sizeToCover;
359359
}else
360360
{
361-
return Math.min(
362-
params.getAbsoluteMinimumCovered(size),
363-
Math.max(1.0, 0.2 * size));
364-
361+
return params.getAbsoluteMinimumCovered(size);
365362
}
366363
}
367364

adaa.analytics.rules/src/main/java/adaa/analytics/rules/logic/induction/ActionFinder.java

+1-3
Original file line numberDiff line numberDiff line change
@@ -232,9 +232,7 @@ public boolean tryAddCondition(
232232
}
233233

234234
// analyse stopping criteria
235-
double adjustedMinCov = Math.min(
236-
params.getMinimumCovered(),
237-
Math.max(1.0, 0.2 * ct.weighted_P));
235+
double adjustedMinCov = params.getMinimumCovered();
238236

239237
if (ct.weighted_p < adjustedMinCov) {
240238
if (rule.getPremise().getSubconditions().size() == 0) {

adaa.analytics.rules/src/main/java/adaa/analytics/rules/logic/induction/ApproximateClassificationSnC.java

-1
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@
1919
public class ApproximateClassificationSnC extends ClassificationSnC {
2020
public ApproximateClassificationSnC(AbstractFinder finder, InductionParameters params) {
2121
super(finder, params);
22-
numClassThreads = 1; // fix number of class threads
2322
}
2423

2524
@Override

adaa.analytics.rules/src/main/java/adaa/analytics/rules/logic/induction/ClassificationExpertFinder.java

+4-10
Original file line numberDiff line numberDiff line change
@@ -361,16 +361,10 @@ public int grow(
361361
*/
362362
@Override
363363
protected boolean checkCandidate(ElementaryCondition cnd, double classId, double p, double n, double new_p, double P,double uncoveredSize, int ruleOrderNum) {
364-
double adjustedMinCov =
365-
Math.min(
366-
params.getAbsoluteMinimumCovered(P),
367-
Math.max(1.0, 0.2 * P));
368-
if (new_p >= adjustedMinCov && p >= params.getAbsoluteMinimumCoveredAll(P)) {
369-
return true &&
370-
!knowledge.isForbidden(cnd.getAttribute(), cnd.getValueSet(), (int)classId);
371-
} else {
372-
return false;
373-
}
364+
365+
return new_p >= params.getAbsoluteMinimumCovered(P)
366+
&& p >= params.getAbsoluteMinimumCoveredAll(P)
367+
&& !knowledge.isForbidden(cnd.getAttribute(), cnd.getValueSet(), (int)classId);
374368
}
375369

376370

adaa.analytics.rules/src/main/java/adaa/analytics/rules/logic/induction/ClassificationFinder.java

+3-7
Original file line numberDiff line numberDiff line change
@@ -906,13 +906,9 @@ public boolean tryAddCondition(
906906
* @return
907907
*/
908908
protected boolean checkCandidate(ElementaryCondition cnd, double classId, double p, double n, double new_p, double P,double uncoveredSize, int ruleOrderNum) {
909-
double adjustedMinCov =
910-
countAbsoluteMinimumCovered(P, ruleOrderNum, uncoveredSize);
911-
if (new_p >= adjustedMinCov && p >= params.getAbsoluteMinimumCoveredAll(P)) {
912-
return true;
913-
} else {
914-
return false;
915-
}
909+
910+
return new_p >= countAbsoluteMinimumCovered(P, ruleOrderNum, uncoveredSize)
911+
&& p >= params.getAbsoluteMinimumCoveredAll(P);
916912
}
917913

918914

adaa.analytics.rules/src/main/java/adaa/analytics/rules/logic/induction/ClassificationSnC.java

-2
Original file line numberDiff line numberDiff line change
@@ -45,8 +45,6 @@ public class ClassificationSnC extends AbstractSeparateAndConquer {
4545
*/
4646
protected AbstractFinder finder;
4747

48-
protected int numClassThreads = 1;
49-
5048
public ClassificationSnC(AbstractFinder finder, InductionParameters params) {
5149
super(params);
5250
this.finder = finder;

adaa.analytics.rules/src/main/java/adaa/analytics/rules/logic/induction/InductionParameters.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ public class InductionParameters implements Serializable {
7777

7878
public double getMinimumCovered() {return minimumCovered;}
7979
public double getAbsoluteMinimumCovered(double size) {
80-
return minimumCovered * (minimumCovered >= 1 ? 1 : size);
80+
return Math.max(1, minimumCovered * (minimumCovered >= 1 ? 1 : size));
8181
}
8282
public void setMinimumCovered(double minimumCovered) {this.minimumCovered = minimumCovered;}
8383

adaa.analytics.rules/test/resources/reports/ClassificationExpertSnCTest/test_seismic-bumps.guided-c2, gimpuls_750 extended.seismic-bumps-train-minimal.txt

+1-3
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,4 @@
33
Rules
44
IF [gimpuls = (-inf, 1350.50)] THEN class = {0}
55
IF goenergy = <-32.50, inf) AND gimpuls = (-inf, 2784) AND goimpuls = <-39, 111) AND nbumps = (-inf, 5.50) THEN class = {0}
6-
IF [gimpuls = <1350.50, inf)] AND genergy = (-inf, 344875) AND senergy = (-inf, 4650) THEN class = {1}
7-
IF ghazard = {a} AND gimpuls = (-inf, 1758.50) AND goimpuls = (-inf, 10.50) AND genergy = <17495, inf) AND senergy = <2650, 8250) AND nbumps2 = <0.50, inf) THEN class = {1}
8-
IF ghazard = {a} AND goenergy = <-21, 9) AND gimpuls = (-inf, 688.50) AND goimpuls = (-inf, 17.50) AND genergy = <24830, 36505) THEN class = {1}
6+
IF [gimpuls = <408.50, inf)] AND ghazard = {a} AND goenergy = (-inf, 94.50) AND maxenergy = (-inf, 6500) AND genergy = <35165, 294530) AND senergy = (-inf, 8750) AND nbumps3 = (-inf, 2.50) THEN class = {1}

adaa.analytics.rules/test/resources/reports/ClassificationExpertSnCTest/test_seismic-bumps.guided-c3, gimpuls_genergy_senergy.seismic-bumps-train-minimal.txt

+1-3
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,4 @@ Rules
55
IF [gimpuls = (-inf, 1350.50)] AND [senergy = (-inf, 5750)] AND goenergy = <-73.50, inf) AND nbumps = (-inf, 2.50) THEN class = {0}
66
IF [gimpuls = (-inf, 1350.50)] AND [genergy = (-inf, 122140)] AND goenergy = <-73.50, inf) AND nbumps = (-inf, 5.50) THEN class = {0}
77
IF [gimpuls = (-inf, 2784)] AND [senergy = (-inf, 5750)] AND goenergy = <-73.50, inf) AND goimpuls = (-inf, 107.50) THEN class = {0}
8-
IF [gimpuls = <1350.50, inf)] AND [genergy = (-inf, 344875)] AND senergy = (-inf, 4650) THEN class = {1}
9-
IF [genergy = <18890, inf)] AND [senergy = <950, inf)] AND ghazard = {a} AND goenergy = (-inf, 52.50) AND maxenergy = <1450, 45000) AND nbumps3 = (-inf, 2.50) AND nbumps2 = <0.50, inf) THEN class = {1}
10-
IF [genergy = <18890, inf)] AND [gimpuls = <174.50, inf)] AND ghazard = {a} AND goenergy = (-inf, 9) AND maxenergy = (-inf, 6500) AND goimpuls = <-72, 17.50) THEN class = {1}
8+
IF [genergy = <18890, inf)] AND [senergy = <950, inf)] AND ghazard = {a} AND goenergy = (-inf, 12) AND maxenergy = (-inf, 6500) AND gimpuls = (-inf, 1845.50) AND goimpuls = (-inf, 10.50) AND shift = {W} AND nbumps3 = <0.50, inf) THEN class = {1}

adaa.analytics.rules/test/resources/reports/ClassificationExpertSnCTest/test_seismic-bumps.guided-c4, seismic OR seismoacoustic OR ghazard.seismic-bumps-train-minimal.txt

+1-4
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,4 @@ Rules
99
IF [seismoacoustic = {a}] AND gimpuls = (-inf, 1350.50) AND goimpuls = <-39.50, inf) THEN class = {0}
1010
IF genergy = (-inf, 25125) AND nbumps = (-inf, 1.50) THEN class = {0}
1111
IF goenergy = <-73.50, inf) AND gimpuls = (-inf, 1350.50) AND nbumps = (-inf, 2.50) THEN class = {0}
12-
IF [seismic = {b}] AND gimpuls = (-inf, 1878) AND genergy = <117615, 225545) THEN class = {1}
13-
IF goenergy = <-41, inf) AND gimpuls = <1350.50, inf) AND maxenergy = (-inf, 45000) AND genergy = (-inf, 1158410) AND nbumps = (-inf, 3.50) THEN class = {1}
14-
IF ghazard = {a} AND gimpuls = (-inf, 1758.50) AND goimpuls = (-inf, 10.50) AND genergy = <17495, inf) AND senergy = <2650, 8250) AND nbumps2 = <0.50, inf) THEN class = {1}
15-
IF ghazard = {a} AND goenergy = <-21, 9) AND gimpuls = (-inf, 688.50) AND goimpuls = (-inf, 17.50) AND genergy = <24830, 36505) THEN class = {1}
12+
IF [seismic = {b}] AND ghazard = {a} AND goenergy = <-39, 94.50) AND maxenergy = (-inf, 45000) AND genergy = <25125, inf) AND goimpuls = <-15.50, inf) THEN class = {1}

adaa.analytics.rules/test/resources/reports/ClassificationExpertSnCTest/test_seismic-bumps.guided-c5, +seismic +nbumps +energy +maxenergy +shift.seismic-bumps-train-minimal.txt

+1-4
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,4 @@ Rules
55
IF goenergy = <-73.50, inf) AND nbumps = (-inf, 1.50) THEN class = {0}
66
IF goenergy = <-73.50, inf) AND genergy = (-inf, 117615) AND nbumps2 = (-inf, 1.50) THEN class = {0}
77
IF nbumps = (-inf, 5.50) THEN class = {0}
8-
IF senergy = <2650, 3850) AND nbumps = <1.50, inf) THEN class = {1}
9-
IF goenergy = (-inf, 11) AND genergy = <17495, 401025) AND senergy = <2650, 8250) AND nbumps2 = <0.50, inf) THEN class = {1}
10-
IF goenergy = <-21, 9) AND genergy = <24830, 36280) AND senergy = (-inf, 1500) AND nbumps2 = (-inf, 0.50) THEN class = {1}
11-
IF goenergy = (-inf, 50) AND maxenergy = (-inf, 45000) AND genergy = <62050, 1158410) AND nbumps = (-inf, 3.50) THEN class = {1}
8+
IF goenergy = (-inf, 9) AND maxenergy = (-inf, 6500) AND genergy = <18890, 314675) AND shift = {W} AND nbumps3 = <0.50, inf) THEN class = {1}

adaa.analytics.rules/test/resources/reports/ClassificationExpertSnCTest/test_seismic-bumps.guided-c6, +seismoacoustic +shift +genergy +gimpuls +genergy +goimpuls +ghazard.seismic-bumps-train-minimal.txt

+1-4
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,4 @@
33
Rules
44
IF gimpuls = (-inf, 1350.50) THEN class = {0}
55
IF goenergy = <-32.50, inf) AND gimpuls = (-inf, 2784) AND goimpuls = <-39, 111) THEN class = {0}
6-
IF gimpuls = <1350.50, 1507.50) AND genergy = (-inf, 792375) THEN class = {1}
7-
IF genergy = <18890, 27830) AND goimpuls = (-inf, -35.50) THEN class = {1}
8-
IF goenergy = <5, 9) AND genergy = <18890, inf) AND goimpuls = <1.50, inf) THEN class = {1}
9-
IF goenergy = (-inf, -15) AND gimpuls = <387, inf) AND genergy = <24830, inf) AND goimpuls = (-inf, -5.50) AND seismoacoustic = {a} THEN class = {1}
6+
IF ghazard = {a} AND goenergy = <-38.50, 9) AND gimpuls = <263, 1878) AND genergy = <24830, 314675) AND goimpuls = (-inf, 17.50) AND shift = {W} THEN class = {1}

0 commit comments

Comments
 (0)