diff options
Diffstat (limited to 'Metrics/Metrics-Calculation/ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator/src/ca/mcgill/ecse/dslreasoner/realistic/metrics/calculator/app/PartialInterpretationMetricDistance.xtend')
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 | |||
5 | import ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator.distance.KSDistance | 5 | import ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator.distance.KSDistance |
6 | import ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator.distance.StateData | 6 | import ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator.distance.StateData |
7 | import ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator.graph.PartialInterpretationGraph | 7 | import ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator.graph.PartialInterpretationGraph |
8 | import ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator.io.RepMetricsReader | ||
8 | import ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator.metrics.Metric | 9 | import ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator.metrics.Metric |
10 | import ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator.metrics.MetricSampleGroup | ||
9 | import ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator.metrics.MultiplexParticipationCoefficientMetric | 11 | import ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator.metrics.MultiplexParticipationCoefficientMetric |
10 | import ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator.metrics.NodeActivityMetric | 12 | import ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator.metrics.NodeActivityMetric |
13 | import ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator.metrics.NodeTypeMetric | ||
11 | import ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator.metrics.OutDegreeMetric | 14 | import ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator.metrics.OutDegreeMetric |
12 | import ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator.metrics.TypedOutDegree | ||
13 | import ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator.predictor.LinearModel | 15 | import ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator.predictor.LinearModel |
14 | import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialInterpretation | 16 | import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialInterpretation |
15 | import java.util.ArrayList | 17 | import java.util.ArrayList |
@@ -18,7 +20,6 @@ import java.util.List | |||
18 | import java.util.Map | 20 | import java.util.Map |
19 | import org.apache.commons.math3.stat.regression.OLSMultipleLinearRegression | 21 | import org.apache.commons.math3.stat.regression.OLSMultipleLinearRegression |
20 | import org.eclipse.xtend.lib.annotations.Accessors | 22 | import org.eclipse.xtend.lib.annotations.Accessors |
21 | import ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator.metrics.NodeTypeMetric | ||
22 | 23 | ||
23 | class PartialInterpretationMetricDistance { | 24 | class 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(){ |