Skip to main content

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:

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 predict_proba

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

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for auger.ai.predict, version 1.0.11
Filename, size File type Python version Upload date Hashes
Filename, size auger.ai.predict-1.0.11-py3-none-any.whl (96.5 kB) File type Wheel Python version py3 Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page