python - TypeError:在计算 RMSE 时,只能将整数标量数组转换为标量索引
问题描述
我正在尝试这样做:
for i in cols:
print('rmse value for', i, 'is : ', np.sqrt(mean_squared_error(pred[i], valid[i])))
数据框看起来像:
预测
Var_1 Var_2 Var_3 %Variation
0 33397.7 784.753 1397.58 24.9725
1 33554 815.964 1423.88 24.3266
2 33573.1 837.888 1440.29 24.345
3 33497.4 852.705 1449.21 24.3451
4 33353.9 861.768 1452.31 24.3616
5 33165 866.294 1451.02 24.3878
6 32948.9 867.329 1446.53 24.4203
7 32719.8 865.761 1439.85 24.4563
8 32488.9 862.331 1431.79 24.4937
9 32264.1 857.645 1422.97 24.5308
10 32051.4 852.195 1413.9 24.5664
11 31854.7 846.365 1404.94 24.5997
12 31676.2 840.453 1396.38 24.6302
13 31517.2 834.68 1388.39 24.6575
14 31377.8 829.205 1381.1 24.6815
15 31257.5 824.134 1374.56 24.7024
16 31155.3 819.533 1368.81 24.7201
17 31069.8 815.433 1363.82 24.735
18 30999.5 811.84 1359.57 24.7473
有效的
Var_1 Var_2 Var_3 %Variation
33000 672 1291 18.785056
36176 744 1357 12.802751
36187 762 1361 28.811764
39346 834 1493 36.818050
38998 793 1419 40.806172
42948 877 1514 14.824201
43359 910 1517 14.868140
43651 970 1618 6.852622
45644 979 1556 6.886780
45000 932 1557 18.831062
45851 1080 1590 44.930561
45496 1027 1581 18.911174
46262 1052 1618 18.915043
46385 1053 1619 12.895083
47091 1127 1609 22.930256
47172 1206 1657 44.968327
47101 1142 1635 12.965718
47426 1237 1645 33.004087
47853 1275 1708 4.976702
运行循环时出现以下错误:
TypeError:只有整数标量数组可以转换为标量索引
任何人都可以帮助解决同样的问题吗?
编辑
valid 是从数据中获取的验证集:
valid = data[int(0.8*(len(data))):]
pred 是从预测生成的数据帧:
pred = pd.DataFrame(index=range(0,len(prediction)),columns=[cols])
for j in range(0,4):
for i in range(0, len(prediction)):
pred.iloc[i][j] = prediction[i][j]
pred 和 valid 的 dtype 为:
pred.dtypes
Out[197]:
Var_1 object
Var_2 object
Var_3 object
%Variation object
dtype: object
valid.dtypes
Out[201]:
Var_1 int64
Var_2 int64
Var_3 int64
%Variation float64
dtype: object
谢谢
解决方案
试试这个 :
for i in range(len(cols)):
print('rmse value for', cols[i], 'is : ', np.sqrt(mean_squared_error(pred.iloc[i], valid.iloc[i])))
推荐阅读
- apache-kafka - 通过代码 / api 重置 Kafka 流应用程序
- python - 如何在 Python 中处理来自 xlsx 文件的数据
- mpi - 具有不同操作系统的 MPI 集群
- python - 一次性删除python程序中的所有打印语句
- python - 访问主小部件内的小部件以进行顺序网格化
- typescript - 在 VSCode 中开发扩展时如何从 QuickFix 传递错误详细信息和行号?
- python - 我可以通过 python 使用 Apple 的 SKCloudServiceController 吗?
- python-3.x - 是否可以解决相对进口的问题?
- java - Keycloak 和第三方库中的类加载器出错
- python - 在列表python中合并字典