У меня есть поле ввода HTML FORM, в котором пользователь будет вводить такие слова, как «Финансы», «Продажи» и т. Д. c. Как только ввод получен FLASK, он преобразует слова / строки в число, такое как Finance = "1", Sales = "2" et c. (и возвращает число в py-файл для прогнозирования). Как добавить слова / строки вместо числового значения в FLASK, а затем выполнить присвоение строк числовому значению, все в файле FLASK?
Следующий код, который я использовал:
@app.route('/predict',methods=['GET','POST'])
def predict():
if request.method == 'POST':
BizUnit = request.form.get('BizUnit', None)
Region = request.form.get('Region', None)
Category = request.form.get('Category', None)
int = (BizUnit, Region, Category)
return int
def convert_to_int(int):
word_dict = {'COO':0, 'Finance':1, 'HR':2, 'AMER':0, 'APAC':1, 'EMEA':2,'Resource':0, 'Facility':1, 'Service':2, 0: 0}
return int(word_dict)
final = [np.array(int)]
prediction = model.predict(final)
output = round(prediction[0], 2)
return render_template('index.html', prediction_text='Spends should be $ {}'.format(output))
возвращает это «COO» только вместо прогнозируемого значения. ie. строки не были преобразованы в числа, которые требуются для файла pkl.
и код в HTML
<form action="{{ url_for('predict')}}"method="post">
<div class="form-box">
<input list="browsers" name="BizUnit" placeholder="BizUnit" required="required"/>
<datalist id="browsers">
<option value="Finance"</option>
<option value="Sales"</option>
<option value="Marketing"</option>
</datalist>
Любая помощь будет высоко ценится. Спасибо.