Saya ingin menghitung ketepatan, daya ingat dan skor-F1 untuk model KerasClassifier biner saya, tetapi tidak menemukan solusi.
Ini kode saya yang sebenarnya:
# Split dataset in train and test data
X_train, X_test, Y_train, Y_test = train_test_split(normalized_X, Y, test_size=0.3, random_state=seed)
# Build the model
model = Sequential()
model.add(Dense(23, input_dim=45, kernel_initializer='normal', activation='relu'))
model.add(Dense(1, kernel_initializer='normal', activation='sigmoid'))
# Compile model
model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy'])
tensorboard = TensorBoard(log_dir="logs/{}".format(time.time()))
time_callback = TimeHistory()
# Fit the model
history = model.fit(X_train, Y_train, validation_split=0.3, epochs=200, batch_size=5, verbose=1, callbacks=[tensorboard, time_callback])
Dan kemudian saya memprediksi data tes baru, dan mendapatkan matriks kebingungan seperti ini:
y_pred = model.predict(X_test)
y_pred =(y_pred>0.5)
list(y_pred)
cm = confusion_matrix(Y_test, y_pred)
print(cm)
Tetapi apakah ada solusi untuk mendapatkan skor akurasi, skor F1, presisi, dan penarikan kembali? (Jika tidak rumit, juga skor validasi silang, tetapi tidak diperlukan untuk jawaban ini)
Terima kasih atas bantuannya!
Anda dapat menggunakan laporan klasifikasi scikit-learn . Untuk mengonversi label Anda ke format numerik atau biner, lihat enkoder label scikit-learn .
yang memberi Anda (output disalin dari contoh scikit-learn):
sumber
Anda juga dapat mencoba seperti yang disebutkan di bawah ini.
sumber
Coba ini: https://scikit-learn.org/stable/modules/generated/sklearn.metrics.precision_recall_fscore_support.html dengan Y_test, y_pred sebagai parameter.
sumber