我想部署一个使用flask的乳腺癌检测ml模型。下面是错误:
File "C:\Users\sakshi sanket\Desktop\Breastcancer\app.py", line 22, in predict
output = model.predict(df)
AttributeError: 'list' object has no attribute 'predict'代码如下:
app.py
import numpy as np
import pandas as pd
from flask import Flask, request, render_template
import pickle
app = Flask(__name__, template_folder="template")
model = pickle.load(open('breast_cancer_detector.pickle', 'rb'))
@app.route('/')
def home():
return render_template('index.html')
@app.route('/predict', methods=['POST'])
def predict():
input_features = [float(x) for x in request.form.values()]
features_value = [np.array(input_features)]
features_name = ['id', 'diagnosis', 'radius_mean', 'texture_mean', 'perimeter_mean', 'area_mean', 'smoothness_mean', 'compactness_mean', 'concavity_mean', 'concave points_mean', 'symmetry_mean', 'fractal_dimension_mean', 'radius_se', 'texture_se', 'perimeter_se', 'area_se', 'smoothness_se', 'compactness_se', 'concavity_se', 'concave points_se', 'symmetry_se', 'fractal_dimension_se', 'radius_worst', 'texture_worst', 'perimeter_worst', 'area_worst', 'smoothness_worst', 'compactness_worst', 'concavity_worst', 'concave points_worst', 'symmetry_worst', 'fractal_dimension_worst']
df = pd.DataFrame(features_value, columns=features_name)
output = model.predict(df)
if output == 0:
res_val = "** breast cancer **"
else:
res_val = "no breast cancer"
return render_template('index.html', prediction_text='Patient has {}'.format(res_val)
if __name__ == "__main__":
app.run(port='8080', debug=True)请帮帮我。
发布于 2021-02-28 10:47:44
试试output = model[0].predict(df)。因为它是一个列表,所以使用应该引用单个项。
https://stackoverflow.com/questions/65052160
复制相似问题