Python 向RESTAPI公开ML模型输出
我有一个示例模型,它具有以下功能Python 向RESTAPI公开ML模型输出,python,pandas,machine-learning,Python,Pandas,Machine Learning,我有一个示例模型,它具有以下功能 [ data['ApplicantIncome'], data['CoapplicantIncome'], data['LoanAmount'], data['Loan_Amount_Term'], data['Credit_History'], data['gender_Female'], data['marriage_Yes'], data['education_Graduate'],
[
data['ApplicantIncome'],
data['CoapplicantIncome'],
data['LoanAmount'],
data['Loan_Amount_Term'],
data['Credit_History'],
data['gender_Female'],
data['marriage_Yes'],
data['education_Graduate'],
data['employed_Yes'],
data['property_Rural'],
data['property_Semiurban'],
data['property_Urban']
]
结果呢
{'Loan_ID': int(result[0]),'Loan_Status': result(result[1]) ]}
使用下面的代码,但会引发错误
IndexError: index 1 is out of bounds for axis 0 with size 1
import numpy as np
#need to 'conda install flask' for this to work
from flask import Flask, abort, jsonify, request
import pickle
my_random_forest = pickle.load(open("loan_pred.pkl", "rb"))
app = Flask(__name__)
@app.route('/api', methods=['POST'])
def make_predict():
#all kinds of error checking should go here
data = request.get_json(force=True)
#convert our json to a numpy array
predict_request = [data['ApplicantIncome'],data['CoapplicantIncome'],data['LoanAmount'], data['Loan_Amount_Term'],data['Credit_History'],data['gender_Female'],data['marriage_Yes'],data['education_Graduate'],data['employed_Yes'],data['property_Rural'],data['property_Semiurban'],data['property_Urban']]
predict_request = np.array(predict_request).reshape(1,-1)
#np array goes into random forest, prediction comes out
result = my_random_forest.predict(predict_request)
#return our prediction
output = {'Loan_ID': int(result[0]),'Loan_Status': result(result[1]) }
print(output)
return jsonify(results=output)
if __name__ == '__main__':
app.run(port = 9001, debug = True)
你能发布完整的堆栈跟踪吗?结果[1]可能是罪魁祸首,因为结果只有一个元素是正确的。这是我这边的一个问题。谢谢。