dataset = pd.read_csv('2019.csv', delimiter=",") dataset = np.array(dataset) #转换为NumPy数组 m, n = np.shape(dataset) totalX = np.zeros((m-2161, 3)) #创建了一个大小为 (m-2161) x 3 的全零矩阵 totalY = np.zeros((m-2161, 1)) for i in range(m-2161): # 分组:1、721、1441作为输入,2161作为输出 totalX[i][0] = dataset[i][0] totalX[i][1] = dataset[i+720][0] totalX[i][2] = dataset[i+1440][0] totalY[i][0] = dataset[i+2160][0] # 归一化数据 Normal_totalX = np.zeros((m-2161, 3)) Normal_totalY = np.zeros((m-2161, 1)) nummin = np.min(dataset) nummax = np.max(dataset) dif = nummax - nummin for i in range(m-2161): for j in range(3): Normal_totalX[i][j] = (totalX[i][j]-nummin) / dif Normal_totalY[i][0] = (totalY[i][0]-nummin) / diftrain_mse= sess.run(mse, feed_dict={x: X, y_: Y})总训练次数: 100001 运行耗时(s): 72.54459370000001 测试集均方误差为: nan为什么为nan
时间: 2023-12-12 15:05:31 浏览: 75
测试集均方误差为 `nan` 可能有以下原因:
1. 数据集中存在缺失值或异常值,导致模型无法计算出准确的预测值。
2. 学习率可能过大或过小,导致模型无法收敛到最优解。
3. 网络结构设计不合理,导致模型无法学习到有效的特征。
您可以检查数据集是否存在缺失值或异常值,并尝试调整学习率或网络结构来解决这个问题。
相关问题
dataset = pd.read_csv('tem.csv', delimiter=",") grouped_df = dataset.groupby([dataset['month'], dataset['day']])['wind Speed'].mean() qw = grouped_df.loc[(12, slice(None))].round(1) dataset=np.array(qw) #转换为NumPy数组 m,n=np.shape(dataset)File "C:/Users/DELL/Desktop/python_flask-dc/python_flask/bpnn_tf.py", line 45, in <module> m,n=np.shape(dataset) ValueError: not enough values to unpack (expected 2, got 1)怎么改代码
根据错误提示,代码中的 `np.shape(dataset)` 函数返回的值只有一个,而你在代码中使用了两个变量进行接收,所以需要改为只接收一个变量。修改后的代码如下:
```python
dataset = pd.read_csv('tem.csv', delimiter=",")
grouped_df = dataset.groupby([dataset['month'], dataset['day']])['wind Speed'].mean()
qw = grouped_df.loc[(12, slice(None))].round(1)
dataset = np.array(qw) #转换为NumPy数组
m, n = np.shape(dataset) #这里只接收一个变量
```
dataset = pd.read_csv('output3.csv', delimiter=",") dataset = np.array(dataset) # 转换为NumPy数组 m, n = np.shape(dataset) totalX = np.zeros((m - d, d)) # 创建了一个大小为 (m-d) x d 的全零矩阵 totalY = np.zeros((m - d, l)) for i in range(m - d): # 分组:前三个值输入,第四个值输出 totalX[i][0] = dataset[i][0] totalX[i][1] = dataset[i + 1][0] totalX[i][2] = dataset[i + 2][0] totalY[i][0] = dataset[i + 3][0] # 归一化数据 Normal_totalX = np.zeros((m - d, d)) Normal_totalY = np.zeros((m - d, l)) nummin = np.min(dataset) nummax = np.max(dataset)修改成前720个数据第一组,720-
根据您的要求,修改后的代码如下:
```
dataset = pd.read_csv('output3.csv', delimiter=",")
dataset = np.array(dataset) # 转换为NumPy数组
m, n = np.shape(dataset)
totalX = np.zeros((720, 3)) # 创建了一个大小为 720 x 3 的全零矩阵
totalY = np.zeros((720, 1))
for i in range(720): # 分组:前三个值输入,第四个值输出
totalX[i][0] = dataset[i][0]
totalX[i][1] = dataset[i + 1][0]
totalX[i][2] = dataset[i + 2][0]
totalY[i][0] = dataset[i + 3][0]
# 归一化数据
Normal_totalX = np.zeros((720, 3))
Normal_totalY = np.zeros((720, 1))
nummin = np.min(dataset[:720])
nummax = np.max(dataset[:720])
```
这段代码将前720个数据作为第一组输入和输出,然后进行归一化处理。注意在归一化时,只使用了前720个数据,而不是全部数据。
阅读全文