Как изменить настройки model.fit? - PullRequest
0 голосов
/ 24 сентября 2019

Привет Мой код работал нормально, пока я не изменил свой набор данных.Теперь я получаю сообщение об ошибке:

model.fit(train,train_df.iloc[:,-1],epochs=30, batch_size=20, verbose=1)

Ошибка:

ValueError: Ошибка при проверке входных данных: ожидается, что density_31_input имеет форму (1125,), но получил массив с формой (103,)

Переменные:

введите описание изображения здесь

scaler = StandardScaler()

train=scaler.fit_transform(train_df.iloc[:,:-1])
test=scaler.fit_transform(test_df.iloc[:,:-1])

# Creating Deep Model



model = Sequential()

# Add an input layer
model.add(Dense(562, activation='relu', input_shape=(1125,)))

# Add one hidden layer
model.add(Dense(562, activation='relu'))
model.add(BatchNormalization())

# Add an output layer
model.add(Dense(1, activation='sigmoid'))

#add improvements 

model.add(Dropout(0.3))
#Train the model

model.compile(loss='binary_crossentropy',optimizer='adam',metrics=['accuracy'])

model.fit(train,train_df.iloc[:,-1],epochs=30, batch_size=20, verbose=1)

#TEst the model

y_pred = model.predict(test_df.iloc[:,:-1])

Я предполагаю исправить это.Мне нужно изменить batch_size и epochs?но какие цифры следует использовать?

1 Ответ

1 голос
/ 24 сентября 2019

Как правило, модели предполагают, что первым измерением входных данных является размер пакета.Моделям все равно, какой размер пакета, поэтому вы никогда не устанавливаете его при создании модели.Вместо этого вы должны установить input_shape в форме каждой выборки ваших входных данных.В вашем случае каждый образец выглядит как вектор длиной 103, поэтому установите input_shape на (103,).

...