推荐 :手把手教你用Flask轻松部署机器学习模型(附代码&链接)
本文可以让你把训练好的机器学习模型使用Flask API 投入生产环境。



容易上手使用
内置开发工具和调试工具
集成单元测试功能
平稳的请求调度
详尽的文档

代码在哪里呢?
< !DOCTYPE html>?????Deployment?Tutorial?1 ????????????????????Sales?Forecasting
????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
?????????????????????????????
???{{?prediction_text?}}?????????????????????????????????????????????????????????????????????????????????????
接下来,使用CSS对输入按钮、登录按钮和背景进行了一些样式设置。
@import url(https://fonts.googleapis.com/css?family=Open+Sans);html { width: 100%; height:100%; overflow:hidden;}body {width: 100%;height:100%;font-family: 'Helvetica';background: #000;color: #fff;font-size: 24px;text-align:center;letter-spacing:1.4px;}.login {position: absolute;top: 40%;left: 50%;margin: -150px 0 0 -150px;width:400px;height:400px;}
login h1 { color: #fff;text-shadow: 0 0 10px rgba(0,0,0,0.3);letter-spacing:1px;text-align:center;}input {width: 100%;margin-bottom: 10px;background: rgba(0,0,0,0.3);border: none;outline: none;padding: 10px;font-size: 13px;color: #fff;text-shadow: 1px 1px 1px rgba(0,0,0,0.3);border: 1px solid rgba(0,0,0,0.3);border-radius: 4px;box-shadow: inset 0 -5px 45px rgba(100,100,100,0.2), 0 1px 1px rgba(255,255,255,0.2);-webkit-transition: box-shadow .5s ease;-moz-transition: box-shadow .5s ease;-o-transition: box-shadow .5s ease;-ms-transition: box-shadow .5s ease;transition: box-shadow .5s ease;}


import numpy as npimport matplotlib.pyplot as pltimport pandas as pdimport pickledataset = pd.read_csv('sales.csv')dataset['rate'].fillna(0, inplace=True)dataset['sales_in_first_month'].fillna(dataset['sales_in_first_month'].mean(), inplace=True)X = dataset.iloc[:, :3]def convert_to_int(word):word_dict = {'one':1, 'two':2, 'three':3, 'four':4, 'five':5, 'six':6, 'seven':7, 'eight':8,'nine':9, 'ten':10, 'eleven':11, 'twelve':12, 'zero':0, 0: 0}return word_dict[word]X['rate'] = X['rate'].apply(lambda x : convert_to_int(x))y = dataset.iloc[:, -1]from sklearn.linear_model import LinearRegressionregressor = LinearRegression()regressor.fit(X, y)pickle.dump(regressor, open('model.pkl','wb'))model = pickle.load(open('model.pkl','rb'))print(model.predict([[4, 300, 500]]))
import numpy as npfrom flask import Flask, request, jsonify, render_templateimport?pickleapp?=?Flask(__name__)model?=?pickle.load(open('model.pkl',?'rb'))@app.route('/')def?home():????return?render_template('index.html')??@app.route('/predict',methods=['POST'])??def?predict():??????int_features?=?[int(x)?for?x?in?request.form.values()]?????????final_features?=?[np.array(int_features)]?????????????prediction?=?model.predict(final_features)???????????????output?=?round(prediction[0],?2)???????????????????return?render_template('index.html',?prediction_text='Sales?should??????????????be $ {}'.format(output))@app.route('/results',methods=['POST'])def results():data = request.get_json(force=True)prediction = model.predict([np.array(list(data.values()))])output = prediction[0]return jsonify(output)if __name__ == "__main__":app.run(debug=True)
import requestsurl = 'http://localhost:5000/results'r = requests.post(url,json={'rate':5,'sales_in_first_month':200, 'sales_in_second_month':400})print(r.json()) Results

译者简介:申利彬,研究生在读,主要研究方向大数据机器学习。目前在学习深度学习在NLP上的应用,希望在THU数据派平台与爱好大数据的朋友一起学习进步。
END
转自:数据派THU?公众号;
版权声明:本号内容部分来自互联网,转载请注明原文链接和作者,如有侵权或出处有误请和我们联系。
合作请加QQ:365242293??
数据分析(ID?:?ecshujufenxi?)互联网科技与数据圈自己的微信,也是WeMedia自媒体联盟成员之一,WeMedia联盟覆盖5000万人群。

关注公众号:拾黑(shiheibook)了解更多
[广告]赞助链接:
四季很好,只要有你,文娱排行榜:https://www.yaopaiming.com/
让资讯触达的更精准有趣:https://www.0xu.cn/
关注网络尖刀微信公众号随时掌握互联网精彩
赞助链接
排名
热点
搜索指数
- 1 中央经济工作会议在北京举行 7903985
- 2 紧急提醒:请在日中国公民进行登记 7808212
- 3 中央定调明年继续“国补” 7713497
- 4 “九天”无人机成功首飞 7619148
- 5 断崖式降温!今冬最强寒潮来了 7521403
- 6 中央经济工作会议释信号:3件事不做 7425638
- 7 中国“空中航母”首飞成功 7333286
- 8 00后女生摆摊卖水培蔬菜日售千元 7237507
- 9 人民空军中日双语发文:大惊小怪 7135551
- 10 寒潮来袭 “速冻”模式如何应对 7042661







数据分析
