【问题标题】:Calculating R value for ANN predictions using stats in python使用 python 中的统计数据计算 ANN 预测的 R 值
【发布时间】:2022-01-23 07:12:11
【问题描述】:

我已经在数据帧上使用 tensorflow keras 实现了回归的 ann。我正在尝试为预测计算不同的准确度指标。以下是我用于计算准确度指标的部分代码。

    ypred = model_sel.predict(xscale_val)
    ypred1 = scaler_y.inverse_transform(ypred) 
    print("x")
    plt.plot(yact.values)
    plt.plot(ypred1.tolist( ))
    # plt.show()
    ANN_RMSE = sqrt(mean_squared_error(yact.values,ypred1.tolist()))
    ANN_R2 = r2_score(yact.values,ypred1.tolist())
    ANN_MAE = mean_absolute_error(yact.values,ypred1.tolist())
    print("type",type(yact),type(yact.values),type(ypred1),type(ypred1.tolist()))
    print(yact.values)
    print("pred",ypred1.tolist())
    ANN_R = stats.pearsonr(yact.values,ypred1)

我无法获得预测的皮尔逊相关值。我是python的初学者,如果你能提供关于我做错了什么以及如何纠正这个问题的信息,这将对我有所帮助。

以下是错误,我看到了。

  File "c:\Users\DELL\journalPub\models.py", line 166, in ann_model_results
    ANN_R = stats.pearsonr(yact.values,ypred1)
  File "C:\Users\DELL\AppData\Local\Programs\Python\Python39\lib\site-packages\scipy\stats\stats.py", line 4034, in pearsonr
    xmean = x.mean(dtype=dtype)
  File "C:\Users\DELL\AppData\Local\Programs\Python\Python39\lib\site-packages\numpy\core\_methods.py", line 160, in _mean
    ret = umr_sum(arr, axis, dtype, out, keepdims)
TypeError: No loop matching the specified signature and casting was found for ufunc add

【问题讨论】:

    标签: python pandas scipy.stats


    【解决方案1】:

    我可以通过对代码进行以下修改来解决这个问题:

    ANN_R = stats.pearsonr(yact.values.flatten(),ypred1.flatten())
    

    【讨论】:

      猜你喜欢
      • 2016-08-14
      • 1970-01-01
      • 2018-10-26
      • 1970-01-01
      • 2014-06-01
      • 2022-08-20
      • 2022-01-04
      • 1970-01-01
      • 2014-06-23
      相关资源
      最近更新 更多