Sklearn/python'da özel maliyet işlevi belirtmenin bir yolu var mı acaba? Benim gerçek problemim 7 farklı sınıfa sahiptir, fakat bunu daha açık hale getirmek için 3 farklı sınıfta bir problem için yanlış sınıflandırma için farklı maliyet belirtmek istediğimi varsayalım ve temel olarak benim modelimin sınıf 1 ve sınıf 3 arasında doğru bir şekilde ayrım yapmasıyla ilgileniyorum. gözlem sınıfı 1 vardır ve model sınıf 1 tahmin ise.Python/sklearn'de eşit olmayan sınıflandırma maliyetleri
, ceza- 0 (doğru sınıflandırma)
- gözlem sınıfı 1 vardır ve model sınıf 2, ceza 1
- noktası sınıf 1 varsa olduğunu tahmin ise ve model, sınıf 3'ü tahmin eder, ceza, 2
- ceza 0 (doğru sınıflandırma)
- noktası sınıf 2 vardır ve model sınıf 3, ceza 1
- noktası sınıf 2 sahipse olduğunu tahmin ise ve model sınıf 1 ceza 1
- olduğu tahmin dırılmasına)
- noktası sınıfı 3 sahiptir ve model sınıf 2, ceza 1
- olduğu tahmin ise nokta sınıfı 3 vardır ve model sınıf 1 ceza 2
Böylece ceza matrisi olur olduğu tahmin ise aşağıdaki gibi bak:
Class 1 Class 2 Class 3
Class 1 0 1 2
Class 2 1 0 1
Class 3 2 1 0
ben sklearn içinde 'class_weight' parametresi benzer bir şey yapar ama bir matris yerine bir sözlük kabul ettiğini varsayalım. Class_weight = {1: 2,1: 1,1: 2} sınıfının geçmesi, sınıf 1 ve sınıf 3'ü yanlış sınıflandırma için ağırlığı artıracak, ancak, 1. sınıfımı seçtiğimde ve gerçek sınıfın, özellikle modelimin daha büyük bir ceza almasını istiyorum. sınıf 3 ve tersi.
Sklearn'de böyle bir şey yapmak mümkün mü? Diğer bazı kütüphaneler/öğrenme algoritmaları, eşit olmayan yanlış sınıflandırma maliyetine izin verebilir mi?