मैं पदयात्रा का पता लगाने वाले कार्य को हल करने की कोशिश कर रहा हूं और मैं बाइनरी क्लैसिफर को दो श्रेणियों सकारात्मकता - लोगों, नकारात्मक - पृष्ठभूमि पर प्रशिक्षित करता हूं।
मेरे पास डाटासेट है:
- सकारात्मक संख्या = 3752
- नकारात्मक की संख्या = 3800
मैं ट्रेन \ टेस्ट स्प्लिट 80 \ 20% का उपयोग करता हूं और रैंडमफॉर्स्ट क्लैसिफ़ायर फॉर्म स्किकिट-लर्न टू पैरामीटर:
RandomForestClassifier(n_estimators=100, max_depth=50, n_jobs= -1)
मुझे स्कोर मिलता है: 95.896757%
प्रशिक्षण डेटा पर परीक्षण (पूरी तरह से काम करता है):
true positive: 3005
false positive: 0
false negative: 0
true negative: 3036
परीक्षण डेटा पर परीक्षण:
true positive: 742
false positive: 57
false negative: 5
true negative: 707
मेरा प्रश्न यह है कि झूठी सकारात्मकता (लोगों के रूप में वर्गीकृत पृष्ठभूमि) की संख्या को कैसे कम किया जाए? इसके अलावा, झूठी झूठी नकारात्मक की तुलना में मेरे पास झूठी गलतियां क्यों हैं?
मैंने class_weight
पैरामीटर का उपयोग करने की कोशिश की , लेकिन कुछ बिंदु प्रदर्शन में गिरावट (जैसा कि आप class_weight = {0: 1,1: 4}) पर देख सकते हैं)।
class_weight= {0:1,1:1}
true positive: 3005
false positive: 0
false negative: 0
true negative: 3036
true positive: 742
false positive: 55
false negative: 5
true negative: 709
score: 96.029120 %
class_weight= {0:1,1:2}
true positive: 3005
false positive: 0
false negative: 0
true negative: 3036
true positive: 741
false positive: 45
false negative: 6
true negative: 719
score: 96.624752 %
class_weight= {0:1,1:3}
true positive: 3005
false positive: 0
false negative: 0
true negative: 3036
true positive: 738
false positive: 44
false negative: 9
true negative: 720
score: 96.492389 %
class_weight= {0:1,1:4}
true positive: 3005
false positive: 13
false negative: 0
true negative: 3023
true positive: 735
false positive: 46
false negative: 12
true negative: 718
score: 96.161482 %
class_weight= {0:1,1:5}
true positive: 3005
false positive: 31
false negative: 0
true negative: 3005
true positive: 737
false positive: 48
false negative: 10
true negative: 716
score: 96.161482 %
class_weight= {0:1,1:6}
true positive: 3005
false positive: 56
false negative: 0
true negative: 2980
true positive: 736
false positive: 51
false negative: 11
true negative: 713
score: 95.896757 %
class_weight= {0:1,1:7}
true positive: 3005
false positive: 87
false negative: 0
true negative: 2949
true positive: 734
false positive: 59
false negative: 13
true negative: 705
score: 95.234944 %
यह भी ध्यान देने योग्य है कि रैंडम फ़ॉरस्ट असंतुलित डेटासेट से ग्रस्त नहीं है:
पॉज़ = 3752 नेग = 10100
class_weight = {0: 1,1: 1} सच्चा सकारात्मक: 3007 गलत सकारात्मक: 0 गलत नकारात्मक: 0 सच्चा नकारात्मक: 8074
true positive: 729
false positive: 71
false negative: 16
true negative: 1955
score: 96.860339 %
class_weight= {0:1,1:2}
true positive: 3007
false positive: 0
false negative: 0
true negative: 8074
true positive: 728
false positive: 59
false negative: 17
true negative: 1967
score: 97.257308 %
class_weight= {0:1,1:3}
true positive: 3007
false positive: 0
false negative: 0
true negative: 8074
true positive: 727
false positive: 58
false negative: 18
true negative: 1968
score: 97.257308 %