示例#1
0
def rossmann_predict():
  test_json = request.get_json()
  
  if test_json: #there is data

    if isinstance(test_json, dict): #unique example
      test_raw = pd.DataFrame(test_json, index=[0])

    else: #multiple examples
      test_raw = pd.DataFrame(test_json, columns=test_json[0].keys())

    #intanciar a rossmann class
    pipeline = Rossmann()
    
    #data cleaning
    df1 = pipeline.data_cleaning(test_raw)

    #feature engineering
    df2 = pipeline.feature_engineering(df1)

    #data preparation
    df3 = pipeline.data_preparation(df2)

    #prediction
    df_response = pipeline.get_prediction(model, test_raw, df3)

    return df_response

  else:
    return Response('{}', status = 200, mimetype = 'application/json')
示例#2
0
def rossmann_predcit():
    # gets json that comes from API
    test_json = request.get_json()

    # checks if json exists
    if test_json:
        # unique example
        if isinstance(test_json, dict):
            test_raw = pd.DataFrame(test_json, index=[0])

        # multiple examples
        else:
            test_raw = pd.DataFrame(test_json, columns=test_json[0].keys())

        # instantiates Rossmann class
        pipeline = Rossmann()

        # data cleaning
        df1 = pipeline.data_cleaning(test_raw)

        # feature engineering
        df2 = pipeline.feature_engineering(df1)

        # data preparation
        df3 = pipeline.data_preparation(df2)

        # prediction
        df_response = pipeline.get_prediction(model, test_raw, df3)

        return df_response

    else:
        return Response('{}', status=200, mimetype='application/json')
示例#3
0
def rossmann_predict():
    test_json = request.get_json()

    if test_json:
        if isinstance(test_json, dict):
            test_row = pd.DataFrame(test_json, index=[0])
        else:
            test_row = pd.DataFrame(test_json, columns=test_json[0].keys())

        pipeline = Rossmann()
        # data cleaning
        df1 = pipeline.data_cleaning(test_row)

        # feature engineering
        df2 = pipeline.feature_engineering(df1)

        # data preparation
        df3 = pipeline.data_preparation(df2)

        # prediction
        df_response = pipeline.get_prediction(model, test_row, df3)

        return df_response

    else:
        return Response('{}', status=200, mimetype='application/json')
示例#4
0
def rossmann_predict(
):  #function that is executed when an endpoint receives a POST request. This function works on the data received.
    test_json = request.get_json()  # retrieve the json data

    if test_json:  # test whether the data is there or not
        if isinstance(
                test_json,
                dict):  # if data is a dict, then we have only one line of data
            test_raw = pd.DataFrame(test_json, index=[0])
        else:
            test_raw = pd.DataFrame(
                test_json, columns=test_json[0].keys()
            )  # if data is not a dict, then it has multiple data. We need to name the columns.

        # Instantiate Rossmann Class ("copy"/call Rossmann class)
        pipeline = Rossmann()
        # run Data Cleaning on raw data
        df1 = pipeline.data_cleaning(test_raw)
        # run feature engineering on df1
        df2 = pipeline.feature_engineering(df1)
        # run data preprocessing on df2
        df3 = pipeline.data_preparation(df2)
        # prediction
        df_response = pipeline.get_prediction(
            model, test_raw, df3
        )  #generate predictions with xgboost model, the data that the user sent, and the data to generate predictions on.

        return df_response

    else:
        return Response(
            '{}', status=200, mimetype='application/json'
        )  # if there's no data, return a response answer 200 (request was correct but execution failed)
示例#5
0
def rossmanPredict():
    test_JSON = request.get_json()

    if test_JSON:  #there is data
        if isinstance(test_JSON, dict):
            teste_raw = pd.DataFrame(test_JSON, index=[0])  #unique example
        else:
            teste_raw = pd.DataFrame(
                test_JSON, columns=test_JSON[0].keys())  #multiple examples

        # Instantiate
        pipeline = Rossmann()

        # Data Cleaning
        df1 = pipeline.data_cleaning(teste_raw)
        # Feature Engineering
        df2 = pipeline.feature_engineering(df1)
        # Data Preparation
        df3 = pipeline.data_preparation(df2)
        # Prediction
        df_response = pipeline.get_prediction(model, teste_raw, df3)

        return df_response

    else:
        return Response('{}', status=200, mimetype='application/json')
def rossmann_predict():
    json_request = request.get_json()
   
    if json_request: # there is data
        if isinstance( json_request, dict ): # unique example
            df_raw = pd.DataFrame( json_request, index=[0] )
            
        else: # multiple example
            df_raw = pd.DataFrame( json_request, columns=json_request[0].keys() )
            
        pipeline = Rossmann()
        
        df1 = pipeline.data_cleaning( df_raw )
        
        df2 = pipeline.feature_engineering( df1 )
        
        df3 = pipeline.data_preparation( df2 )
        
        df_response = pipeline.get_prediction( model, df_raw, df3 )
        
        return df_response
        
    else:
        return Reponse( '{}', status=200, mimetype='application/json' )