我试图创建一个使用Iris数据集的机器学习模型(通过观看教程,完成机器学习和数据科学的新手),到目前为止,我还使用随机森林分类划分,但现在我想检查我对自定义输入的预测,我的分类主要代码如下:JSONDecodeError:期望值:Iris数据集第1行第1列(char 0)
X= iris.data
y= iris.target
X_train, X_test, y_train, y_test = train_test_split(X,y)
rfc = RandomForestClassifier(n_estimators=100, n_jobs=2)
rfc.fit(X_train, y_train)
print ("Accuracy = %0.2f" % accuracy_score(y_test, rfc.predict(X_test)))
print (classification_report(y_test, rfc.predict(X_test)))
pickle.dump(rfc, open("iris_rfc1.pkl", "wb"))
my_random_forest = pickle.load(open("iris_rfc1.pkl","rb"))
url= "http://localhost:9000/api"
data = json.dumps({'sl':5.8,'sw':4,'pl':2,'pw':9})
r = requests.post(url, data)
print (r.json())
我使用,使连接烧瓶文件:
my_random_forest = pickle.load(open('iris_rfc1.pkl','rb'))
app = Flask(__name__)
@app.route('/api', methods=['POST'])
def make_predict():
data = request.get_json(force = True)
predict_request = [data['sl'],data['sw'], data['pl'], data['pw']]
predict_request = np.array(predict_request)
y_hat = my_random_forest.predict(predict_request)
output = [y_hat[0]]
return jsonify(results = output)
if __name__ == '__main__':
app.run(port=9000, debug = True)
但是当我运行该程序时,我得到错误“JSOND ecodeError:期待值:第1行第1列(CHAR 0)”
的附加细节:我使用Jupyter笔记本制作预测和原子用于创建烧瓶文件,Pyhton 3版