python - ValueError: Found array with dim 3. Estimator expected <= 2. 如何在随机森林回归器上使用它?
问题描述
我已经通过 csv 文件上传并尝试从整个 csv 文件中进行预测。我使用的模型是随机森林回归器来预测。我无法预测整个 csv 文件遇到这个 ValueError: Found array with dim 3. Estimator expected <= 2.
@app.route("/multiple",methods=["GET","POST"])
@cross_origin()
def multiple():
if request.method == 'POST':
file=request.form["csvfile"]
with open(file) as csvfile:
csv_reader=csv.reader(csvfile,delimiter=",")
next(csv_reader,None)
data=[]
for line in csv_reader:
data.append(line)
mul_prediction=model.predict([(np.array(data))])
result=round(mul_prediction[0])
解决方案
RandomForestRegressor.predict
期待一个二维数组。当您将数据数组放入封闭列表中时model.predict([(np.array(data))])
,您将隐式地将二维数据转换为 3 维数组。相反,只需使用model.predict(np.array(data))
.
推荐阅读
- apache-spark - 将 Matlabplot 保存为 MLFlow 工件
- arrays - 通过第二个文件中的键翻译文件中的单词(C语言)
- elixir - Phoenix Liveview - Websocket connect_info 阻止 iframe 内容
- flutter - StreamBuilder 是用以前的 snapshot.data 而不是 initialData 重建的
- android - 如何在android studio中清理包含图像的表单
- python - python函数代码不符合要求
- graphql - 具有相同类型嵌套实例的 Graphql 模式
- python - 如何每次都在新行上打印
- html - 为什么我使用蒙版重新着色的彩色 SVG 会使颜色比所选颜色更亮?
- ssl - 在本地 RabbitMQ 安装上启用 TLS