我正在尝试运行此代码,但收到一个错误:
TypeError:load((最多获取1个位置参数(给定2个(
代码:
'''
from flask import Flask, render_template, request
import jsonify
import requests
import pickle
import numpy as np
import sklearn
model = pickle.load(open("lr.pkl"),"rb")
app = Flask(__name__)
@app.route('/',methods=['GET'])
def Home():
return render_template('index.html')
@app.route('/predict',methods=['POST'])
def predict():
gender = 1
if request.method == 'POST':
SeniorCitizen = request.form['SeniorCitizen']
Partner = request.form['Partner']
Dependents = int(request.form['Dependents'])
gender == request.form['Male']
if (gender == 'Male'):
return 1
else:
return 0
if (Partner == 'Yes'):
return 1
else:
return 0
if (SeniorCitizen == 'Yes'):
return 1
else:
return 0
prediction = model.predict([['gender', 'SeniorCitizen', 'Partner', 'Dependents']])
output = prediction([0])
if (output == 1):
return render_template('index.html',prediction_texts = " This customer is going away")
else:
return render_template('index.html',prediction_texts = " This customer is NOT going away")
else:
return render_template('index.html')
if __name__ == '__main__':
app.run()'''
关联HTML代码
<body>
<div style="color:blue">
<form action="{{ url_for('predict')}}" method="post">
<h2>Telecom Churn</h2>
<h3> Are you Senior Citizen?</h3><br><select name='SeniorCitizen' id='SeniorCitizen' required = "required">
<option value="Yes">Yes</option>
<option value="No">No</option>
</select>
<h3>What is your Gender?</h3><br><select name="gender" id="gender" required="required">
<option value="Male">Male</option>
<option value="Female">Female</option>
</select>
<h3>Do you have any dependents</h3><br><select name="Dependents" id="Dependents" required="required">
<option value="Yes">Yes</option>
<option value="No">No</option>
</select>
<h3>Do you have a Partner?</h3><br><select name="Partner" id="Partner" required="required">
<option value="Yes">Yes</option>
<option value="No">No</option>
</select>
<br><br><button id="sub" type="submit ">Calculate the Selling Price</button>
<br>
</form>
<br><br><h3>{{ prediction_text }}<h3>
</div>
更改:model = pickle.load(open("lr.pkl"),"rb")
收件人:model = pickle.load(open("lr.pkl","rb"))
Open应该有2个参数,但由于放错了)
的位置,所以将2个参数传递到了.load()
中。