aboutsummaryrefslogtreecommitdiffstats
path: root/Metrics/Metrics-Calculation/ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator/src/ca/mcgill/ecse/dslreasoner/realistic/metrics/calculator/app/PartialInterpretationMetricDistance.xtend
diff options
context:
space:
mode:
Diffstat (limited to 'Metrics/Metrics-Calculation/ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator/src/ca/mcgill/ecse/dslreasoner/realistic/metrics/calculator/app/PartialInterpretationMetricDistance.xtend')
-rw-r--r--Metrics/Metrics-Calculation/ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator/src/ca/mcgill/ecse/dslreasoner/realistic/metrics/calculator/app/PartialInterpretationMetricDistance.xtend28
1 files changed, 16 insertions, 12 deletions
diff --git a/Metrics/Metrics-Calculation/ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator/src/ca/mcgill/ecse/dslreasoner/realistic/metrics/calculator/app/PartialInterpretationMetricDistance.xtend b/Metrics/Metrics-Calculation/ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator/src/ca/mcgill/ecse/dslreasoner/realistic/metrics/calculator/app/PartialInterpretationMetricDistance.xtend
index d68eb9d2..66dcdff6 100644
--- a/Metrics/Metrics-Calculation/ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator/src/ca/mcgill/ecse/dslreasoner/realistic/metrics/calculator/app/PartialInterpretationMetricDistance.xtend
+++ b/Metrics/Metrics-Calculation/ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator/src/ca/mcgill/ecse/dslreasoner/realistic/metrics/calculator/app/PartialInterpretationMetricDistance.xtend
@@ -5,11 +5,13 @@ import ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator.distance.JSDistan
5import ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator.distance.KSDistance 5import ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator.distance.KSDistance
6import ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator.distance.StateData 6import ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator.distance.StateData
7import ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator.graph.PartialInterpretationGraph 7import ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator.graph.PartialInterpretationGraph
8import ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator.io.RepMetricsReader
8import ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator.metrics.Metric 9import ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator.metrics.Metric
10import ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator.metrics.MetricSampleGroup
9import ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator.metrics.MultiplexParticipationCoefficientMetric 11import ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator.metrics.MultiplexParticipationCoefficientMetric
10import ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator.metrics.NodeActivityMetric 12import ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator.metrics.NodeActivityMetric
13import ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator.metrics.NodeTypeMetric
11import ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator.metrics.OutDegreeMetric 14import ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator.metrics.OutDegreeMetric
12import ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator.metrics.TypedOutDegree
13import ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator.predictor.LinearModel 15import ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator.predictor.LinearModel
14import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialInterpretation 16import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialInterpretation
15import java.util.ArrayList 17import java.util.ArrayList
@@ -18,7 +20,6 @@ import java.util.List
18import java.util.Map 20import java.util.Map
19import org.apache.commons.math3.stat.regression.OLSMultipleLinearRegression 21import org.apache.commons.math3.stat.regression.OLSMultipleLinearRegression
20import org.eclipse.xtend.lib.annotations.Accessors 22import org.eclipse.xtend.lib.annotations.Accessors
21import ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator.metrics.NodeTypeMetric
22 23
23class PartialInterpretationMetricDistance { 24class PartialInterpretationMetricDistance {
24 25
@@ -28,15 +29,17 @@ class PartialInterpretationMetricDistance {
28 var Map<Object, StateData> stateAndHistory; 29 var Map<Object, StateData> stateAndHistory;
29 var OLSMultipleLinearRegression regression; 30 var OLSMultipleLinearRegression regression;
30 List<StateData> samples; 31 List<StateData> samples;
31 32 var MetricSampleGroup g;
32 @Accessors(PUBLIC_GETTER) 33 @Accessors(PUBLIC_GETTER)
33 var LinearModel linearModel; 34 var LinearModel linearModel;
34 35
35 36
36 new(){ 37 new(){
37 ks = new KSDistance(Domain.Yakinduum); 38 var metrics = RepMetricsReader.read(Domain.Yakinduum);
38 js = new JSDistance(Domain.Yakinduum); 39 this.g = metrics;
39 ed = new EuclideanDistance(Domain.Yakinduum); 40 ks = new KSDistance(g);
41 js = new JSDistance(g);
42 ed = new EuclideanDistance(g);
40 regression = new OLSMultipleLinearRegression(); 43 regression = new OLSMultipleLinearRegression();
41 regression.noIntercept = false; 44 regression.noIntercept = false;
42 stateAndHistory = new HashMap<Object, StateData>(); 45 stateAndHistory = new HashMap<Object, StateData>();
@@ -56,8 +59,9 @@ class PartialInterpretationMetricDistance {
56 var mpc = ks.mpcDistance(metricSamples.mpcSamples); 59 var mpc = ks.mpcDistance(metricSamples.mpcSamples);
57 var na = ks.naDistance(metricSamples.naSamples); 60 var na = ks.naDistance(metricSamples.naSamples);
58 var outDegree = ks.outDegreeDistance(metricSamples.outDegreeSamples); 61 var outDegree = ks.outDegreeDistance(metricSamples.outDegreeSamples);
62 var nodeType = ks.nodeTypeDistance(metricSamples.nodeTypeSamples);
59 //var typedOutDegree = ks.typedOutDegreeDistance(metricSamples.typedOutDegreeSamples); 63 //var typedOutDegree = ks.typedOutDegreeDistance(metricSamples.typedOutDegreeSamples);
60 var distance = new MetricDistanceGroup(mpc, na, outDegree); 64 var distance = new MetricDistanceGroup(mpc, na, outDegree, nodeType);
61 distance.nodeTypeInfo = metricSamples.nodeTypeSamples; 65 distance.nodeTypeInfo = metricSamples.nodeTypeSamples;
62 return distance; 66 return distance;
63 } 67 }
@@ -171,14 +175,14 @@ class MetricDistanceGroup{
171 var double mpcDistance; 175 var double mpcDistance;
172 var double naDistance; 176 var double naDistance;
173 var double outDegreeDistance; 177 var double outDegreeDistance;
174 var double typedOutDegreeDistance; 178 var double nodeTypeDistance;
175 protected var HashMap<String, Double> nodeTypeInfo; 179 protected var HashMap<String, Double> nodeTypeInfo;
176 180
177 new(double mpcDistance, double naDistance, double outDegreeDistance, double typedOutDegreeDistance){ 181 new(double mpcDistance, double naDistance, double outDegreeDistance, double nodeTypeDistance){
178 this.mpcDistance = mpcDistance; 182 this.mpcDistance = mpcDistance;
179 this.naDistance = naDistance; 183 this.naDistance = naDistance;
180 this.outDegreeDistance = outDegreeDistance; 184 this.outDegreeDistance = outDegreeDistance;
181 this.typedOutDegreeDistance = typedOutDegreeDistance; 185 this.nodeTypeDistance = nodeTypeDistance;
182 } 186 }
183 187
184 new(double mpcDistance, double naDistance, double outDegreeDistance){ 188 new(double mpcDistance, double naDistance, double outDegreeDistance){
@@ -187,8 +191,8 @@ class MetricDistanceGroup{
187 this.outDegreeDistance = outDegreeDistance; 191 this.outDegreeDistance = outDegreeDistance;
188 } 192 }
189 193
190 def double getTypedOutDegreeDistance(){ 194 def double getNodeTypeDistance(){
191 return this.typedOutDegreeDistance; 195 return this.nodeTypeDistance;
192 } 196 }
193 197
194 def double getMPCDistance(){ 198 def double getMPCDistance(){