У меня проблема с несколькими метками, и после некоторых исследований я смог использовать набор мощности Label в сочетании с алгоритмами машинного обучения. Теперь я хочу использовать набор мощности Label с нейронной сетью, и в соответствии с официальным веб-сайтом я могу использовать набор мощности Label . Но я не могу понять, как изменить существующий код, чтобы использовать Label Powerset.
Я хочу знать, как мы можем передать epoch или batch_size или любой другой параметр, переданный в функции соответствия модели.
Поскольку у меня проблема с несколькими метками, я использовал MultiLabelBinarizer для sklearn, поэтому каждая моя целевая строка выглядит так [1,0,0,1,0,0,0,0,0,0,0,0].
и, наконец, если бы кто-нибудь мог объяснить мне, что такое KERAS_PARAMS и Keras () в строке ниже:
def create_model_multiclass(input_dim, output_dim):
# create model
model = Sequential()
model.add(Dense(8, input_dim=input_dim, activation='relu'))
model.add(Dense(output_dim, activation='softmax'))
# Compile model
model.compile(loss='categorical_crossentropy', optimizer='adam', metrics=['accuracy'])
return model
clf = LabelPowerset(classifier=Keras(create_model_multiclass, True, KERAS_PARAMS), require_dense=[True,True])
clf.fit(X_train,y_train)
y_pred = clf.predict(X_test)
Ниже мой существующий код нейронной сети
cnn_model = Sequential()
cnn_model.add(Dropout(0.5))
cnn_model.add(Conv1D(25,7,activation='relu'))
cnn_model.add(MaxPool1D(2))
cnn_model.add(Dropout(0.2))
cnn_model.add(Conv1D(25,7,activation='relu'))
cnn_model.add(MaxPool1D(2))
cnn_model.add(Flatten())
cnn_model.add(Dense(25,activation='relu'))
cnn_model.add(Dense(12,activation='softmax'))
cnn_model.compile(optimizer='adam', loss='categorical_crossentropy', metrics=['acc'])
history = cnn_model.fit(X_train, y_train, validation_data=(X_test,y_test), batch_size=32, epochs=180,verbose=1)
plot_history(history)
predictions = cnn_model.predict(X_test)
Я хочу, чтобы моя выходная строка выглядела только так [1,0,0,1,0,0,0,0,0,0,0,0], поскольку позже я буду использовать свой MultiLabelBinarizer для обратного преобразования этого.