Python 数据基数是Keras中的模糊错误
我拼凑了一小段随机生成房屋属性的代码。如果这些房子符合一定的标准,那么在90%的时间里它们都会被标记为like。然后我尝试将其输入到一个基本的DNN中,但这就是它崩溃的地方。DNN代码对我来说基本上是一个黑匣子,我在这里尝试了很多方法,但我无法让它获取我的数据 我认为阵列的形状是问题的根源Python 数据基数是Keras中的模糊错误,python,keras,neural-network,Python,Keras,Neural Network,我拼凑了一小段随机生成房屋属性的代码。如果这些房子符合一定的标准,那么在90%的时间里它们都会被标记为like。然后我尝试将其输入到一个基本的DNN中,但这就是它崩溃的地方。DNN代码对我来说基本上是一个黑匣子,我在这里尝试了很多方法,但我无法让它获取我的数据 我认为阵列的形状是问题的根源 # Imports for DNN from keras.models import Sequential from keras.layers import Dense # Imports for gene
# Imports for DNN
from keras.models import Sequential
from keras.layers import Dense
# Imports for generating data
import random
class HouseDetails:
def __init__(self, color, sqrft, rooms, liked):
self.color = color
self.sqrft = sqrft
self.rooms = rooms
self.liked = liked
Houses = []
X = []
y = []
for numbers in range(10000):
color = random.randint(0,5)
sqrft = random.randint(500, 5000)
rooms = random.randint(0, 5)
if ((color == 2 or color == 4) and (rooms >2 and sqrft > 2000)):
liked = random.randint(0,9)
if(liked):
liked = 1
else:
liked = 0
Houses.append(HouseDetails(color,sqrft,rooms,liked))
# Split into input (X) and output (y) variables
for House in Houses:
if(House.liked):
X.append(House.color)
X.append(House.sqrft)
X.append(House.rooms)
y.append(House.liked)
# Define the keras model
model = Sequential()
model.add(Dense(6, input_dim=3, activation='relu'))
model.add(Dense(6, activation='relu'))
model.add(Dense(1, activation='sigmoid'))
# Compile the keras model
model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy'])
# Fit the keras model on the dataset
model.fit(X, y, epochs=150, batch_size=10, verbose=0)
# Make class predictions with the model
predictions = model.predict_classes(X)
# Show the first 5
for i in range(5):
print('%s was %d (we expected %d)' % (X[i].tolist(), predictions[i], y[i]))
我收到的错误是:
ValueError: Data cardinality is ambiguous:
x sizes: 2982
y sizes: 994
Please provide data which shares the same first dimension.
我确信答案是错误的,但我对很多这方面都很陌生,我就是想不出这一点。代码是失速垃圾,但问题是“for House”循环。应该是:
# Split into input (X) and output (y) variables
for House in Houses:
if (House.liked):
X.append([(House.color), (House.sqrft), (House.rooms)])
y.append(House.liked)