Setelah saya mengembangkan model prediktif saya menggunakan Random Forest saya mendapatkan metrik berikut:
Train Accuracy :: 0.9764634601043997
Test Accuracy :: 0.7933284397683713
Confusion matrix [[28292 1474]
[ 6128 889]]
Ini adalah hasil dari kode ini:
training_features, test_features, training_target, test_target, = train_test_split(df.drop(['bad_loans'], axis=1),
df['target'],
test_size = .3,
random_state=12)
clf = RandomForestClassifier()
trained_model = clf.fit(training_features, training_target)
trained_model.fit(training_features, training_target)
predictions = trained_model.predict(test_features)
Train Accuracy: accuracy_score(training_target, trained_model.predict(training_features))
Test Accuracy: accuracy_score(test_target, predictions)
Confusion Matrix: confusion_matrix(test_target, predictions)
Namun saya agak bingung untuk menafsirkan dan menjelaskan nilai-nilai ini.
Apa sebenarnya yang dikatakan 3 ukuran ini tentang model saya?
Terima kasih!
python
predictive-modeling
accuracy
confusion-matrix
classifier
Pedro Alves
sumber
sumber
Jawaban:
Definisi
Overfitting
Apa yang saya akan membuat hasil Anda adalah bahwa model Anda overfitting . Anda bisa mengatakan itu dari perbedaan besar dalam akurasi antara tes dan akurasi kereta. Overfitting berarti mempelajari aturan khusus untuk set kereta, aturan itu tidak menyamaratakan dengan baik di luar set kereta.
Matriks kebingungan Anda memberi tahu kami seberapa banyak perlengkapannya berlebih, karena kelas terbesar Anda membentuk lebih dari 90% populasi. Dengan asumsi bahwa Anda menguji dan melatih set memiliki distribusi yang sama, setiap model yang berguna harus mencetak akurasi lebih dari 90%: Model 0R sederhana akan. Nilai model Anda hanya di bawah 80% pada set tes.
Secara mendalam lihatlah matriks kebingungan
Jika Anda akan melihat matriks kebingungan relatif (dalam persentase) itu akan terlihat seperti ini:
Anda dapat menyimpulkan dari total di baris pertama bahwa model Anda memprediksi Kelas 1 81% dari waktu, sedangkan kemunculan aktual Kelas 1 adalah 94%. Karenanya model Anda meremehkan kelas ini. Bisa jadi itu yang dipelajari aturan (kompleks) spesifik pada set kereta, yang bekerja melawan Anda dalam set tes.
Bisa juga patut dicatat bahwa meskipun negatif palsu dari Kelas 1 (17% -poin, baris 2, kolom 1)) yang paling merugikan kinerja keseluruhan Anda, negatif palsu dari Kelas 2 (4% -poin, baris 1 kolom 2) sebenarnya lebih umum berkenaan dengan total populasi dari masing-masing kelas (94%, 6%). Ini berarti bahwa model Anda buruk dalam memprediksi Kelas 1 , tetapi bahkan lebih buruk dalam memprediksi Kelas 2 . Akurasi hanya untuk Kelas 1 adalah 77/99 sedangkan akurasi untuk Kelas 2 adalah 2/6.
sumber