Я реализовал KerasClassifier, как показано ниже
def create_baseline():
# create model
model = Sequential()
model.add(layers.Dense(5, input_dim=5, activation='relu', name="input"))
model.add(layers.Dense(1, activation='sigmoid', name="output"))
# Compile model
model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy'])
return model
estimator = KerasClassifier(build_fn=create_baseline, epochs=100, batch_size=2, verbose=2)
Теперь у меня вопрос, что это за классификатор сейчас? Это линейный классификатор или SVM или что-то совсем другое? Как можно сделать классификатор SVM, просто изменив его на
model = Sequential()
model.add(layers.Dense(5, input_dim=5, name="input"))
model.add(layers.Dense(1, activation='linear',kernel_regularizer=tf.keras.regularizers.l2(), name="out"))
# Compile model
model.compile(loss='hinge',
optimizer='adam',
metrics=['accuracy'])
Как я могу описать, почему я выбираю один из них в начале? Это просто попытка взять лучшее или есть определенные c правила, почему я выбираю одно из них или что-то совершенно другое, например BoostedTree, ..