python - 如何实现 rmse(均方根误差)
问题描述
当我尝试计算 y_pred 时,我正在为 iris 数据集实现 rmse,它给出了错误。
def fmodel(x):
s=np.linspace(0,0,10)
for i in range (len(x)):
for j in range(1):
s[i]=x[i][j]+x[i][j+1]+x[i][j+2]+x[i][j+3]
return s
fmodel 是计算函数y_pred
。这会产生对标量变量的错误无效索引。在线
s[i]=x[i][j]+x[i][j+1]+x[i][j+2]+x[i][j+3]
解决方案
我唯一能从错误中理解的是,您正在尝试将索引分配给标量值...在这种情况下,s是一个 numpy 数组,所以唯一的问题在于x,尝试检查x是否实际上是 2D大批。然后另一件事,如果您尝试解决分类问题,则使用 rmse 作为损失函数是没有意义的,您应该使用交叉熵,因为您没有尝试最小化预测值和真实值之间的欧几里得距离.
推荐阅读
- javascript - index.html 和 firebase 托管如何用于 react native 项目?
- c++ - UB是否保留指向已销毁对象的指针,然后使用它来访问重新创建的对象,可能指向第一个子对象?
- javascript - 在 D3.js 中将元素封闭在 d3 饼扇区内
- node.js - 浏览 Neo4j 入门 Node.js 代码
- mips - MIPS ISA的多周期实现
- javascript - three.js 灯光真的很奇怪
- python - 在 Python 中使用参数运行 WinSCP 脚本
- sql - OLE DB 提供程序“ADSDSOObject”尚未注册 - 在 Azure SQL 托管实例中
- python - AzureML Notebook AssertionError:Torch 未在启用 CUDA 的情况下编译
- c - 对 sched.h 中的“cpu_set_t”结构定义感到困惑