Auger ML predict python and command line interface
Project description
Install
pip install auger.ai.predict
Auger.ai.predict
Auger ML predict Python API and command line interface
Download exported model
To download exported model you can use:
- Auger.ai web : https://app.auger.ai
- auger.ai command line interface: https://pypi.org/project/auger.ai/
Predict using exported model
- Unzip file with model
- Run client.py from model folder:
python <model_path>/client.py --path_to_predict <data_path> --model_path model_path
--path_to_predict - path to file with data to predict. Should contain features used to train model --model_path - folder which contain model.pkl.gz file
For example:
python ./models/export_9BB0BFA3D368454/client.py --path_to_predict ./files/baseball_predict.csv --model_path ./models/export_9BB0BFA3D368454/model
Client.py command line parameters
--path_to_predict Path to file for predict
--model_path Path to folder with model
--threshold Threshold to use for calculate target using predict_proba
--score 0/1 Build scores after prediction if prediction data contain actual target
Auger.ai.predict Python API
auger_ml.model_exporter.ModelExporter
ModelExporter provides interface to Auger predict API.
-
ModelExporter(options) - constructs ModelExporter instance.
- options - optional parameters. Must be {} for now
-
predict_by_model(model_path, path_to_predict=None, records=None, features=None, threshold=None) - produce prediction based on exported model and data
-
model_path - folder which contain model.pkl.gz file
-
path_to_predict - data to predict
-
records - data to predict: list of lists. path_to_predict should be None in this case. For example: [[0.1,0.2],[0.1, 0.3]]
-
features - feature names for records. Used only when records is not None
-
threshold - set threshold to produce prediction for classification based on probabilities. proba_ column will be added to prediction result for each target class
-
RETURN: predictions - if path_to_predict is not None, then file in same directory with predcitions, or pandas dataframe
Example:
def predict_by_model_example(path_to_predict=None, threshold=None, model_path=None): #features is an array mapping your data to the feature, your feature and data should be #the same that you trained your model with. #If it is None, features read from model/options.json file #['feature1', 'feature2'] features = None # data is an array of arrays to get predictions for, input your data below # each record should contain values for each feature records = [[],[]] if path_to_predict: path_to_predict=os.path.abspath(path_to_predict) predictions = ModelExporter({}).predict_by_model( records=records, model_path=model_path, path_to_predict=path_to_predict, features=features, threshold=threshold ) return predictions
-
-
load_model(model_path) - load model from file.
-
model_path - folder which contain model.pkl.gz file
-
RETURN: model, timeseries_model
- model - ML model to call predict
- timeseries_model - flag is this timeseries model or not
-
-
preprocess_data(model_path, data_path, records=None, features=None) - preprocess data for predict. It will process data same way as train data used for model
-
model_path - folder which contain model.pkl.gz file
-
data_path - data to preprocess
-
records - data to predict: list of lists. data_path should be None in this case. For example: [[0.1,0.2],[0.1, 0.3]]
-
features - feature names for records. Used only when records is not None
-
RETURN: X_test, Y_test, target_categoricals
- X_test - data to call predict
- Y_test - array with target values
- target_categoricals - dict with categories for target, may be used to get actual target values
Example:
def predict_by_model_example(path_to_predict=None, model_path=None): model_exporter = ModelExporter({}) model, timeseries_model = model_exporter.load_model(model_path) X_test, Y_test, target_categoricals = model_exporter.preprocess_data(model_path, data_path=path_to_predict) results = model.predict(X_test) # If your target is categorical you can translate predicted values back to original: # target_feature = "target" # categories = target_categoricals[target_feature]['categories'] # results = map(lambda x: categories[int(x)], results)
Example for timeseries data:
def predict_by_model_timeseries_example(path_to_predict=None, model_path=None): model_exporter = ModelExporter({}) model, timeseries_model = model_exporter.load_model(model_path) X_test, Y_test, target_categoricals = model_exporter.preprocess_data(model_path, data_path=path_to_predict) if timeseries_model: results = model.predict((X_test, Y_test, False))[-1:] else: results = model.predict(X_test.iloc[-1:])
-
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
File details
Details for the file auger.ai.predict-1.1.12-py3-none-any.whl
.
File metadata
- Download URL: auger.ai.predict-1.1.12-py3-none-any.whl
- Upload date:
- Size: 134.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.10.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | b6d0520145834104fbf3e2846c6567aa0b7485fd5d6ea7d49e007c54ec3746bc |
|
MD5 | c76864473be2a06d7d497cd80b8fdb29 |
|
BLAKE2b-256 | de5f3b399fc5b92d7b534d95c05c5db362e1cad938b67f8dd0f138519564edb5 |