Я довольно новичок в машинном обучении, и в настоящее время я работаю над приложением "Предсказатель стоимости автомобиля".Я застрял, где я должен передать свои данные в мою модель.У меня есть 4 ввода:
- дата: дата первой регистрации автомобиля (int)
- km: метр пробега автомобиля (int)
- потребления: потребление автомобилятип (вектор с горячим кодированием с 10 элементами, например, для бензина: [1 0 0 0 0 0 0 0 0 0])
- тип: тип автомобиля (например: «BMW-320», хранится вкод в горячем виде с 440 элементами)
и один вывод:
Я бы хотелсделать что-то похожее на это: https://imgur.com/wlvffn7
Я попробовал следующий код, который компилируется, но вывод не то, что я хотел:
model = Sequential([
Dense(128, input_shape=(1,), activation='relu', name='date'),
Dense(128, input_shape=(1,), activation='relu', name='km'),
Dense(128, input_shape=(10,), activation='relu', name='consume'),
Dense(128, input_shape=(440,), activation='relu', name='type'),
Dropout(0.5),
Dense(128, activation='relu'),
Dropout(0.5),
Dense(1, activation='linear')
])
model.compile(loss='mse', optimizer='adam')
model.fit( x = {'date' : samples_train['input'][:,0],
'km' : samples_train['input'][:,1],
'consume':samples_train['input'][:,2],
'type':samples_train['input'][:,3]},
y = samples_train['output'],
epochs=1000,
batch_size=16,
verbose=1,
validation_data = ({'date' : samples_valid['input'][:,0],
'km' : samples_valid['input'][:,1],
'consume':samples_valid['input'][:,2],
'type':samples_valid['input'][:,3]}, samples_valid['output']),
callbacks=callbacks)
Может кто-нибудь указать, что я делаю неправильноили как я могу реализовать модель "структура", как на картинке?
РЕДАКТИРОВАТЬ:
Я думаю, это то, что я искал.Кто-нибудь может это подтвердить?:)
input_1 = Input(shape=(1,), name='date') # input layers
input_2 = Input(shape=(1,), name='km')
input_3 = Input(shape=(10,), name='consume')
input_4 = Input(shape=(440,), name='type')
dense_1 = Dense(256, activation='relu')(input_1) # hidden layers
dense_1 = Dense(256, activation='relu')(input_2)
dense_1 = Dense(256, activation='relu')(input_3)
dense_1 = Dense(256, activation='relu')(input_4)
dropout_1 = Dropout(0.5)(dense_1)
dense_2 = Dense(256, activation='relu')(dropout_1)
dropout_2 = Dropout(0.5)(dense_2)
outputs = Dense(1, activation='linear')(dropout_2) # output layer
model = Model([input_1,input_2,input_3,input_4], outputs)
Заранее спасибо.