Mungkinkah itu dari data itu sendiri? Atau apakah itu karena model tidak dapat mendeteksi secara efisien kesamaan antara data, atau adakah alasan lain untuk kesalahan klasifikasi?
Mungkinkah itu dari data itu sendiri? Atau apakah itu karena model tidak dapat mendeteksi secara efisien kesamaan antara data, atau adakah alasan lain untuk kesalahan klasifikasi?
Jawaban:
Mari kita asumsikan Anda berbicara tentang kesalahan klasifikasi pada data pelatihan, yaitu, sulit untuk meminimalkan kerugian pada set data pelatihan, tidak ada data pengujian yang melibatkan masalah yang terlalu pas.
Anda benar bahwa, dalam kebanyakan kasus, kesalahan klasifikasi dapat berasal dari "model terlalu sederhana" atau "datanya terlalu berisik". Saya ingin memberikan dua contoh untuk ilustrasi lebih lanjut.
Model ini "terlalu sederhana" untuk menangkap "pola dalam data".
Contohnya ditunjukkan pada gambar kiri. Misalkan kita ingin menggunakan regresi logistik / garis untuk memisahkan dua kelas, tetapi dua kelas tidak dapat dipisahkan secara linier.
Dalam hal ini, masih ada "pola penting dalam data", dan jika kita mengubah model, kita mungkin menjadi lebih baik. Misalnya, jika kita menggunakan pengklasifikasi KNN, alih-alih regresi logistik, kita dapat memiliki kinerja yang sangat baik.
Data memiliki terlalu banyak noise, sehingga sangat sulit untuk melakukan tugas klasifikasi.
Perhatikan bahwa kedua contoh itu sepele, karena kita dapat memvisualisasikan data dan penggolongnya. Di dunia nyata, bukan itu masalahnya, ketika kita memiliki jutaan titik data dan pengklasifikasi super rumit.
Kode:
library(mlbench)
set.seed(0)
par(mfrow=c(1,2))
d=mlbench.spirals(500)
plot(d)
lg_fit=glm(d$classes~d$x[,1]+d$x[,2]-1,family=binomial())
abline(0,-lg_fit$coefficients[1]/lg_fit$coefficients[2])
d2=mlbench.2dnormals(500,r=0.01)
plot(d2)
Selain @ hxd1011 (+1).