Exemple #1
0
model.add(SeparableConv1D(filters=FILTERS * 2,
                          kernel_size=KERNEL_SIZE,
                          activation='relu',
                          bias_initializer='random_uniform',
                          depthwise_initializer='random_uniform',
                          padding='same'))

model.add(GlobalAveragePooling1D())
model.add(Dropout(rate=DROPOUT_RATE))

model.add(Dense(300))
model.add(Dense(300))

model.add(Dense(OUTPUT_UNITS, activation=OUTPUT_ACTIVATION))

print('compiling the model')
optimizer = Adam(lr=LEARNING_RATE)
model.compile(optimizer=optimizer, loss='binary_crossentropy', metrics=['acc',precision,recall])

print('training the model')
history = model.fit(
    train_vectors,
    train_target,
    epochs=EPOCHS,
    validation_data=(test_vectors, test_target),
    verbose=2,  # Logs once per epoch.
    batch_size=BATCH_SIZE)

results = [x[0] for x in model.predict_proba(test_vectors)]

print('roc_auc',roc_auc_score(test_target,results))
Exemple #2
0
# 1は1番目の要素のみ1で他は0の配列: [0,1]
# に変換される。
# すなわち
# [0, 1, 0, 1, 1, 1] => [[1,0], [0,1], [1,0], [0,1], [0,1], [0,1]]
# に変換される。
Y = to_categorical(Y_list)

# 学習のためのモデルを作る
model = Sequential()
# 全結合層(2層->10層)
model.add(Dense(units=2, input_dim=2))
# 活性化関数(ReLu関数)
model.add(Activation("relu"))
# 全結合層(10層->2層)
model.add(Dense(units=2))
# 活性化関数(softmax関数)
model.add(Activation("softmax"))
# モデルをコンパイル
model.compile(loss="categorical_crossentropy",
              optimizer="sgd",
              metrics=["accuracy"])
# 学習を実行
model.fit(X, Y, epochs=3000, batch_size=32)

# 学習したモデルで予測する。
# [1,1]=> 1([0,1]) 1番目のビットが立っている
# [0,0]=> 0([1,0]) 0番目のビットが立っている
# という予測になるはず...
results = model.predict_proba(np.array([[1, 1], [0, 0]]))
# 結果を表示
print("Predict:\n", results)