def get_prediction():
  loaded_model = joblib.load('data/decision_tree/model.pkl')

  date_string = request.args.get('date')

  date = datetime.strptime(date_string, '%Y-%m-%d')

  product = products[request.args.get("item_nbr")]
  data = {
    "date": date_string,
    "item_nbr": request.args.get("item_nbr"),
    "family": product['family'],
    "class": product['class'],
    "perishable": product['perishable'],
    "transactions": 1000,
    "year": date.year,
    "month": date.month,
    "day": date.day,
    "dayofweek": date.weekday(),
    "days_til_end_of_data": 0,
    "dayoff": date.weekday() >= 5
  }
  df = pd.DataFrame(data=data, index=['row1'])

  df = decision_tree.encode_categorical_columns(df)
  pred = loaded_model.predict(df)t
  if FLUENTD_HOST:
      logger = sender.FluentSender(TENANT, host=FLUENTD_HOST, port=int(FLUENTD_PORT))
      log_payload = {'prediction': pred[0], **data}
      print('logging {}'.format(log_payload))
      if not logger.emit('prediction', log_payload):
          print(logger.last_error)
          logger.clear_last_error()

  return "%d" % pred[0]
Example #2
0
def get_prediction():
    loaded_model = joblib.load('data/decision_tree/model9.pkl')

    date_string = request.args.get('date')

    date = datetime.strptime(date_string, '%Y-%m-%d')

    data = {
        "date": date_string,
        "item_nbr": request.args.get("item_nbr"),
        "family": request.args.get("family"),
        "class": request.args.get("class"),
        "perishable": request.args.get("perishable"),
        "transactions": request.args.get("transactions"),
        "year": date.year,
        "month": date.month,
        "day": date.day,
        "dayofweek": date.weekday(),
        "days_til_end_of_data": 0,
        "dayoff": request.args.get("day_off")
    }
    df = pd.DataFrame(data=data, index=['row1'])

    df = decision_tree.encode_categorical_columns(df)
    pred = loaded_model.predict(df)

    return "%d" % pred[0]
Example #3
0
def get_prediction():
    #loaded_model = joblib.load('data/decision_tree/model.pkl')
    # mlflow.set_tracking_uri("http://35.247.183.209:5000")
    # mlflow.create_experiment("sales_prediction")
    tracking_uri = os.getenv('TRACKING_URI', "http://localhost:5000")
    experiment_name = os.getenv('EXPERIMENT_NAME', "global_experiments")
    mlflow.set_tracking_uri(tracking_uri)
    mlflow.set_experiment(experiment_name)
    artifact = mlflow.get_artifact_uri
    print("Experiment URI " + artifact)

    loaded_model = mlflow.sklearn.load_model(
        "model", "937b7254b4834a72b085bc55cdfbf460")

    date_string = request.args.get('date')

    date = datetime.strptime(date_string, '%Y-%m-%d')

    data = {
        "date": date_string,
        "item_nbr": request.args.get("item_nbr"),
        "family": request.args.get("family"),
        "class": request.args.get("class"),
        "perishable": request.args.get("perishable"),
        "transactions": request.args.get("transactions"),
        "year": date.year,
        "month": date.month,
        "day": date.day,
        "dayofweek": date.weekday(),
        "days_til_end_of_data": 0,
        "dayoff": request.args.get("day_off")
    }
    df = pd.DataFrame(data=data, index=['row1'])

    df = decision_tree.encode_categorical_columns(df)
    pred = loaded_model.predict(df)

    return "%d (From the model version : %s)" % (pred[0], artifact)