MLModel.
predict
Make a prediction using a trained model stored in Elasticsearch.
Parameters for this method are not yet fully compatible with standard sklearn.predict.
Must be either a numpy ndarray or a list or list of lists of type float. TODO: support DataFrame and other formats
Examples
>>> from sklearn import datasets >>> from xgboost import XGBRegressor >>> from eland.ml import MLModel
>>> # Train model >>> training_data = datasets.make_classification(n_features=6, random_state=0) >>> test_data = [[-1, -2, -3, -4, -5, -6], [10, 20, 30, 40, 50, 60]] >>> regressor = XGBRegressor(objective='reg:squarederror') >>> regressor = regressor.fit(training_data[0], training_data[1])
>>> # Get some test results >>> regressor.predict(np.array(test_data)) # doctest: +SKIP array([0.06062475, 0.9990102 ], dtype=float32)
>>> # Serialise the model to Elasticsearch >>> feature_names = ["f0", "f1", "f2", "f3", "f4", "f5"] >>> model_id = "test_xgb_regressor" >>> es_model = MLModel.import_model('localhost', model_id, regressor, feature_names, es_if_exists='replace')
>>> # Get some test results from Elasticsearch model >>> es_model.predict(test_data) # doctest: +SKIP array([0.0606248 , 0.99901026], dtype=float32)
>>> # Delete model from Elasticsearch >>> es_model.delete_model()