Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Revert "[ML] adding baseline field to total_feature_importance objects (#63098) (#63125)" #63144

Merged
merged 1 commit into from
Oct 2, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,6 @@ public class TotalFeatureImportance implements ToXContentObject {
public static final ParseField IMPORTANCE = new ParseField("importance");
public static final ParseField CLASSES = new ParseField("classes");
public static final ParseField MEAN_MAGNITUDE = new ParseField("mean_magnitude");
public static final ParseField BASELINE = new ParseField("baseline");
public static final ParseField MIN = new ParseField("min");
public static final ParseField MAX = new ParseField("max");

Expand Down Expand Up @@ -103,25 +102,22 @@ public static class Importance implements ToXContentObject {

public static final ConstructingObjectParser<Importance, Void> PARSER = new ConstructingObjectParser<>(NAME,
true,
a -> new Importance((double)a[0], (double)a[1], (double)a[2], (Double)a[3]));
a -> new Importance((double)a[0], (double)a[1], (double)a[2]));

static {
PARSER.declareDouble(ConstructingObjectParser.constructorArg(), MEAN_MAGNITUDE);
PARSER.declareDouble(ConstructingObjectParser.constructorArg(), MIN);
PARSER.declareDouble(ConstructingObjectParser.constructorArg(), MAX);
PARSER.declareDouble(ConstructingObjectParser.optionalConstructorArg(), BASELINE);
}

private final double meanMagnitude;
private final double min;
private final double max;
private final Double baseline;

public Importance(double meanMagnitude, double min, double max, Double baseline) {
public Importance(double meanMagnitude, double min, double max) {
this.meanMagnitude = meanMagnitude;
this.min = min;
this.max = max;
this.baseline = baseline;
}

@Override
Expand All @@ -131,13 +127,12 @@ public boolean equals(Object o) {
Importance that = (Importance) o;
return Double.compare(that.meanMagnitude, meanMagnitude) == 0 &&
Double.compare(that.min, min) == 0 &&
Double.compare(that.max, max) == 0 &&
Objects.equals(that.baseline, baseline);
Double.compare(that.max, max) == 0;
}

@Override
public int hashCode() {
return Objects.hash(meanMagnitude, min, max, baseline);
return Objects.hash(meanMagnitude, min, max);
}

@Override
Expand All @@ -146,9 +141,6 @@ public XContentBuilder toXContent(XContentBuilder builder, Params params) throws
builder.field(MEAN_MAGNITUDE.getPreferredName(), meanMagnitude);
builder.field(MIN.getPreferredName(), min);
builder.field(MAX.getPreferredName(), max);
if (baseline != null) {
builder.field(BASELINE.getPreferredName(), baseline);
}
builder.endObject();
return builder;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -50,11 +50,7 @@ public static TotalFeatureImportance randomInstance() {
}

private static TotalFeatureImportance.Importance randomImportance() {
return new TotalFeatureImportance.Importance(
randomDouble(),
randomDouble(),
randomDouble(),
randomBoolean() ? null : randomDouble());
return new TotalFeatureImportance.Importance(randomDouble(), randomDouble(), randomDouble());
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,6 @@ public class TotalFeatureImportance implements ToXContentObject, Writeable {
public static final ParseField MEAN_MAGNITUDE = new ParseField("mean_magnitude");
public static final ParseField MIN = new ParseField("min");
public static final ParseField MAX = new ParseField("max");
public static final ParseField BASELINE = new ParseField("baseline");

// These parsers follow the pattern that metadata is parsed leniently (to allow for enhancements), whilst config is parsed strictly
public static final ConstructingObjectParser<TotalFeatureImportance, Void> LENIENT_PARSER = createParser(true);
Expand Down Expand Up @@ -125,31 +124,27 @@ public static class Importance implements ToXContentObject, Writeable {
private static ConstructingObjectParser<Importance, Void> createParser(boolean ignoreUnknownFields) {
ConstructingObjectParser<Importance, Void> parser = new ConstructingObjectParser<>(NAME,
ignoreUnknownFields,
a -> new Importance((double)a[0], (double)a[1], (double)a[2], (Double)a[3]));
a -> new Importance((double)a[0], (double)a[1], (double)a[2]));
parser.declareDouble(ConstructingObjectParser.constructorArg(), MEAN_MAGNITUDE);
parser.declareDouble(ConstructingObjectParser.constructorArg(), MIN);
parser.declareDouble(ConstructingObjectParser.constructorArg(), MAX);
parser.declareDouble(ConstructingObjectParser.optionalConstructorArg(), BASELINE);
return parser;
}

private final double meanMagnitude;
private final double min;
private final double max;
private final Double baseline;

public Importance(double meanMagnitude, double min, double max, Double baseline) {
public Importance(double meanMagnitude, double min, double max) {
this.meanMagnitude = meanMagnitude;
this.min = min;
this.max = max;
this.baseline = baseline;
}

public Importance(StreamInput in) throws IOException {
this.meanMagnitude = in.readDouble();
this.min = in.readDouble();
this.max = in.readDouble();
this.baseline = in.readOptionalDouble();
}

@Override
Expand All @@ -159,21 +154,19 @@ public boolean equals(Object o) {
Importance that = (Importance) o;
return Double.compare(that.meanMagnitude, meanMagnitude) == 0 &&
Double.compare(that.min, min) == 0 &&
Double.compare(that.max, max) == 0 &&
Objects.equals(that.baseline, baseline);
Double.compare(that.max, max) == 0;
}

@Override
public int hashCode() {
return Objects.hash(meanMagnitude, min, max, baseline);
return Objects.hash(meanMagnitude, min, max);
}

@Override
public void writeTo(StreamOutput out) throws IOException {
out.writeDouble(meanMagnitude);
out.writeDouble(min);
out.writeDouble(max);
out.writeOptionalDouble(baseline);
}

@Override
Expand All @@ -186,9 +179,6 @@ private Map<String, Object> asMap() {
map.put(MEAN_MAGNITUDE.getPreferredName(), meanMagnitude);
map.put(MIN.getPreferredName(), min);
map.put(MAX.getPreferredName(), max);
if (baseline != null) {
map.put(BASELINE.getPreferredName(), baseline);
}
return map;
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -85,9 +85,6 @@
},
"mean_magnitude": {
"type": "double"
},
"baseline": {
"type": "double"
}
}
},
Expand All @@ -108,9 +105,6 @@
},
"mean_magnitude": {
"type": "double"
},
"baseline": {
"type": "double"
}
}
},
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -41,11 +41,7 @@ public static TotalFeatureImportance randomInstance() {
}

private static TotalFeatureImportance.Importance randomImportance() {
return new TotalFeatureImportance.Importance(
randomDouble(),
randomDouble(),
randomDouble(),
randomBoolean() ? null : randomDouble());
return new TotalFeatureImportance.Importance(randomDouble(), randomDouble(), randomDouble());
}

@Before
Expand Down