簡體   English   中英

ValueError:數據基數不明確:

[英]ValueError: Data cardinality is ambiguous:

我使用的代碼來自: https://github.com/TheoMoumiadis/HVAC-calc-with-NN但我有這個錯誤:ValueError:數據基數不明確:x 大小:667 y 大小:668 確保所有 arraysZ包含相同數量的樣本。

你可以幫幫我嗎? 我應該做一個形狀,但怎么做?

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt

import tensorflow as tf
import keras
from keras import models
from keras import layers
from keras.utils import np_utils


dataset = pd.read_csv('C:/.../ENB2012_data.csv')

print(dataset)

X_train = dataset.iloc[0:667,1:9].values.astype('float32')
Y1_train = dataset.loc[0:667,'Y1'].values.astype('float32')
Y2_train = dataset.loc[0:667,'Y2'].values.astype('float32')

X_test = dataset.iloc[668:767,1:9].values.astype('float32')
Y1_test = dataset.loc[668:767,'Y1'].values.astype('float32')
Y2_test = dataset.loc[668:767,'Y2'].values.astype('float32')

mean = X_train.mean(axis=0)
X_train -= mean
std = X_train.std(axis=0)
X_train /= std

X_test -= mean
X_test /= std

def build_model():
    
    model =models.Sequential()
    
    model.add(layers.Dense(64, input_dim=X_train.shape[1], activation='relu'))
    
    model.add(layers.Dense(64,activation='relu'))
    
    model.add(layers.Dense(1))

    model.compile(optimizer='rmsprop', loss='mse', metrics=['mae'])
    return model

model = build_model()
model.fit(X_train, Y1_train, epochs=300, batch_size=10, verbose=0)
test_mse_score, test_mae_score = model.evaluate(X_test, Y1_test)

謝謝@Frightera 和@Antoine。 為了社區在這里提供解決方案的利益。

請參考如下所示的工作代碼

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt

import tensorflow as tf
import keras
from keras import models
from keras import layers
from keras.utils import np_utils

dataset = pd.read_csv('C:/.../ENB2012_data.csv')

#print(dataset)

X_train = dataset.iloc[0:668,1:9].values.astype('float32')
Y1_train = dataset.loc[0:667,'Y1'].values.astype('float32')
Y2_train = dataset.loc[0:667,'Y2'].values.astype('float32')

X_test = dataset.iloc[667:767,1:9].values.astype('float32')
Y1_test = dataset.loc[668:767,'Y1'].values.astype('float32')
Y2_test = dataset.loc[668:767,'Y2'].values.astype('float32')

mean = X_train.mean(axis=0)
X_train -= mean
std = X_train.std(axis=0)
X_train /= std

X_test -= mean
X_test /= std

def build_model():
    
    model =models.Sequential()
    
    model.add(layers.Dense(64, input_dim=X_train.shape[1], activation='relu'))
    
    model.add(layers.Dense(64,activation='relu'))
    
    model.add(layers.Dense(1))

    model.compile(optimizer='rmsprop', loss='mse', metrics=['mae'])
    return model

model = build_model()
model.fit(X_train, Y1_train, epochs=300, batch_size=10, verbose=0)
test_mse_score, test_mae_score = model.evaluate(X_test, Y1_test)

Output:

4/4 [==============================] - 0s 3ms/step - loss: 283.6571 - mae: 13.5637

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM