Open Peter-Devine opened 4 years ago
Hi,
You cannot use xgboost-predictor to build a model but you can use to predict. xgboost-predictor provides only prediction functions.
If you want to build a model on JVM, you should use XGBoost4J.
To predict weight using xgboost-predictor, you should:
Predictor
class.FVec
interface.Predictor predictor = new Predictor(
new java.io.FileInputStream("/path/to/xgboost-model-file"));
for (float[] f : testFeatures) {
FVec fv = FVec.Transformer.fromArray(f, false /* do not treat zero element as N/A */);
double[] prediction = predictor.predict(fv);
double predictedWeight = prediction[0];
}
Thank you for your answer. I was hoping to use this project INSTEAD of XGBoost4J and not depending on it...
Hi,
Your implementation looks promising, but I am not sure how to use it. Suppose we have age, gender and height(in cm) and we need to predict the weight (in kg) of people.
So we have for training set the following csv: age,gender,height,weight 18,m,180,80 40,m,175,85 25,f,165,50
and we load it into a feature matrix:
and into a vector of target values:
float[] targets = new float[] { 80, 85, 50 }
and we also have a test set for which we need to predict the target values: 22,m,175 30,f,160
which we load into a feature matrix:
Can you please give an example of how the xgboost-predictor can be applied to such data to train on the first set and predict on the second set?
Thank you
Doron