Python中如何将模型predict预测输出结果保留两位小数
解决方法
你得到的y_pred通常是numpy数组类型,有以下几种常用实现方式:
方案1:直接对预测结果数组做精度处理(不改变全局设置)
调用numpy内置的round方法指定保留2位小数即可,代码修改如下:
import numpy as np y_pred = ml.predict(x_test) # 保留2位小数,返回处理后的新数组 y_pred_rounded = np.round(y_pred, 2) print(y_pred_rounded)
处理后输出结果为:
[42.44 18.38 7.76 19.05 11.87 26.89 18.98 22.01 9.08 6.73 21.82 22.51 24.46 13.75 21.58 25.73 30.96 11.39 7.28 21.98 17.25 38.74 12.68 11.22 5.33 10.42 7.31]
方案2:设置numpy全局打印规则(仅打印时生效,不修改原数组值)
如果不需要修改原数组的实际数值,只是希望打印的时候显示两位小数,可以全局设置numpy的打印参数:
import numpy as np # precision设置保留小数位数,suppress=True关闭科学计数法显示 np.set_printoptions(precision=2, suppress=True) y_pred = ml.predict(x_test) print(y_pred)
方案3:转为列表逐个处理
如果后续需要用列表格式存储结果,也可以用列表推导式逐个处理:
y_pred = ml.predict(x_test) y_pred_rounded = [round(num, 2) for num in y_pred] print(y_pred_rounded)
内容的提问来源于stack exchange,提问作者Cataldirect
相关产品推荐
相关产品推荐

