Doğruluk ve F ölçüsü karşılaştırması
Her şeyden önce, bir metrik kullandığınızda nasıl oynayacağınızı bilmelisiniz. Doğruluk, tüm sınıflardaki doğru sınıflandırılmış örneklerin oranını ölçer. Bunun anlamı, eğer bir sınıf diğerinden daha sık meydana gelirse, sonuçta ortaya çıkan doğruluk, egemen sınıfın doğruluğuna açıkça hakimdir. Sizin durumunuzda, her örnek için sadece "nötr" olan bir Model M oluşturursanız, elde edilen doğruluk
a c c = n e u t r a l( n e u t r a l + p o s i t i v e + n e ga t i v e )= 0.9188
İyi, ama işe yaramaz.
Bu nedenle özelliklerin eklenmesi, NB'nin sınıfları ayırt etme gücünü açıkça geliştirdi, ancak "pozitif" ve "negatif" tahmin ederek kişi nötrleri yanlış sınıflandırıyor ve dolayısıyla doğruluk azalıyor (kabaca konuşuluyor). Bu davranış NB'den bağımsızdır.
Daha fazla veya daha az özellik?
Genel olarak daha fazla özellik kullanmak daha doğru değil, doğru özellikleri kullanmak daha iyidir. Daha fazla özellik, bir özellik seçim algoritmasının en uygun alt kümeyi bulmak için daha fazla seçeneğe sahip olması açısından daha iyidir (araştırmayı öneririm: çapraz doğrulanmış özellik seçimi ). NB söz konusu olduğunda, hızlı ve sağlam (ancak optimalden daha az) bir yaklaşım, özellikleri azalan sırada sıralamak ve üst k'yi seçmek için InformationGain (Oran) kullanmaktır.
Yine, bu tavsiye (InformationGain hariç) sınıflandırma algoritmasından bağımsızdır.
DÜZENLEME 27.11.11
Doğru sayıda özellik seçmek için önyargı ve sapma konusunda çok fazla kafa karışıklığı olmuştur. Bu yüzden, bu eğitimin ilk sayfalarını okumanızı tavsiye ederim: Önyargı-Varyans tradeoff . Temel öz:
- Yüksek Eğilim , modelin optimalden daha az olduğu, yani test hatasının yüksek olduğu (Simone'un koyduğu gibi uygun olmayan) anlamına gelir
- Yüksek Varyans , modelin modeli oluşturmak için kullanılan örneğe çok duyarlı olduğu anlamına gelir . Bu, hatanın büyük ölçüde kullanılan eğitim setine bağlı olduğu ve dolayısıyla hatanın varyansı (farklı çapraz validasyon katlarında değerlendirilen) son derece farklı olacağı anlamına gelir. (aşırı uyum gösterme)
Çizilen öğrenme eğrileri, hata çizildiği için gerçekten de Sapma'yı gösterir. Ancak, göremediğiniz şey Varyanstır, çünkü hatanın güven aralığı hiç çizilmez.
Örnek: 3 kez Çapraz Doğrulama gerçekleştirirken (evet, farklı veri bölümleme ile tekrarlama önerilir, Kohavi 6 tekrarlama önerir), 18 değer elde edersiniz. Şimdi ...
- Az sayıda özellik ile ortalama hata (sapma) daha düşük olur, ancak hatanın varyansı (18 değerin) daha yüksek olacaktır.
- çok sayıda özellik ile, ortalama hata (sapma) daha yüksek olacaktır, ancak hatanın varyansı (18 değerin) daha düşük olacaktır.
Hatanın / yanlılığın bu davranışı, grafiklerinizde gördüğümüz şeydir. Varyans hakkında bir açıklama yapamayız. Eğrilerin birbirine yakın olması, test setinin eğitim seti ile aynı özellikleri gösterecek kadar büyük olduğunun ve dolayısıyla ölçülen hatanın güvenilir olabileceğinin bir göstergesi olabilir, ancak bu (en azından anladığım kadarıyla) ()) varyansı hakkında bir açıklama yapmak için yeterli değildir (hatanın!).
Daha fazla eğitim örneği eklerken (test setinin boyutunu sabit tutarak), her iki yaklaşımın (küçük ve yüksek özellik sayısı) varyansının azalmasını beklerim.
Oh, ve sadece eğitim örneğindeki verileri kullanarak özellik seçimi için infogain hesaplamayı unutmayın ! Bunlardan biri, özellik seçimi için tüm verileri kullanması ve ardından veri bölümlemesi yapması ve çapraz doğrulamayı uygulaması için caziptir, ancak bu aşırı sığmaya yol açacaktır. Ne yaptığını bilmiyorum, bu sadece unutulmaması gereken bir uyarı.