Я работаю на исследования, где необходимо классифицировать один из WINNER три события = ( win
, draw
, lose
)
WINNER LEAGUE HOME AWAY MATCH_HOME MATCH_DRAW MATCH_AWAY MATCH_U2_50 MATCH_O2_50
3 13 550 571 1.86 3.34 4.23 1.66 2.11
3 7 322 334 7.55 4.1 1.4 2.17 1.61
Моя текущая модель:
def build_model(input_dim, output_classes):
model = Sequential()
model.add(Dense(input_dim=input_dim, output_dim=12, activation=relu))
model.add(Dropout(0.5))
model.add(Dense(output_dim=output_classes, activation='softmax'))
model.compile(loss='categorical_crossentropy', optimizer='adadelta')
return model
- Я не уверен, что это правильный выбор для классификации нескольких классов
- Какова наилучшая установка для бинарной классификации?
РЕДАКТИРОВАТЬ: № 2 - Как это?
model.add(Dense(input_dim=input_dim, output_dim=12, activation='sigmoid'))
model.add(Dropout(0.5))
model.add(Dense(output_dim=output_classes, activation='softmax'))
model.compile(loss='binary_crossentropy', optimizer='adadelta')
architecture
слоях в основном. Любой совет для моего вопроса № 2?
activation='sigmoid'
иloss='binary_crossentropy'
activation='sigmoid'
в выходном слое. Скрытый слой может остаться таким, как 'relu'
вам нравится (хотя я, вероятно, начну с 'tanh'
этой проблемы, это личное предпочтение с очень небольшой поддержкой теории)
activation='softmax'
и выбор компиляцииloss='categorical_crossentropy'
? ИМО, ваш выбор для них хорош для модели, которая предсказывает несколько взаимоисключающих классов. Если вам нужен совет по всей модели, это совсем другое дело, и вы должны объяснить больше о том, что вас беспокоит, иначе в одном ответе слишком много объяснений.