[jvm-packages] XGBoost Spark should deal with NaN when parsing evaluation output (#5546)
This commit is contained in:
parent
b809f5d8b8
commit
397d8f0ee7
@ -242,7 +242,14 @@ public class Booster implements Serializable, KryoSerializable {
|
|||||||
String stringFormat = evalSet(evalMatrixs, evalNames, iter);
|
String stringFormat = evalSet(evalMatrixs, evalNames, iter);
|
||||||
String[] metricPairs = stringFormat.split("\t");
|
String[] metricPairs = stringFormat.split("\t");
|
||||||
for (int i = 1; i < metricPairs.length; i++) {
|
for (int i = 1; i < metricPairs.length; i++) {
|
||||||
metricsOut[i - 1] = Float.valueOf(metricPairs[i].split(":")[1]);
|
String value = metricPairs[i].split(":")[1];
|
||||||
|
if (value.equalsIgnoreCase("nan")) {
|
||||||
|
metricsOut[i - 1] = Float.NaN;
|
||||||
|
} else if (value.equalsIgnoreCase("-nan")) {
|
||||||
|
metricsOut[i - 1] = -Float.NaN;
|
||||||
|
} else {
|
||||||
|
metricsOut[i - 1] = Float.valueOf(value);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return stringFormat;
|
return stringFormat;
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user