वर्तमान में मैं मशीन सीखने वाले एल्गोरिदम काम करने के तरीके को समझने की कोशिश कर रहा हूं और एक चीज जो मुझे वास्तव में नहीं मिलती है वह अनुमानित लेबल और दृश्य भ्रम मैट्रिक्स की गणना सटीकता के बीच स्पष्ट अंतर है। मैं जितना संभव हो उतना स्पष्ट करने की कोशिश करूंगा।पायथन - मशीन लर्निंग
यहाँ डाटासेट (यहाँ के स्निपेट आप 9 नमूने (के बारे में वास्तविक डेटासेट में 4k), 6 सुविधाओं और 9 लेबल (जो नहीं नंबरों के लिए खड़े हैं, लेकिन कुछ अर्थ और देख सकते हैं 7 की तरह की तुलना नहीं की जा सकती है है> 4> 1)):
f1 f2 f3 f4 f5 f6 label
89.18 0.412 9.1 24.17 2.4 1 1
90.1 0.519 14.3 16.555 3.2 1 2
83.42 0.537 13.3 14.93 3.4 1 3
64.82 0.68 9.1 8.97 4.5 2 4
34.53 0.703 4.9 8.22 3.5 2 5
87.19 1.045 4.7 5.32 5.4 2 6
43.23 0.699 14.9 12.375 4.0 2 7
43.29 0.702 7.3 6.705 4.0 2 8
20.498 1.505 1.321 6.4785 3.8 2 9
जिज्ञासा के पक्ष में मैं एल्गोरिदम (रैखिक, गाऊसी, SVM (SVC, SVR), बायेसियन आदि) के एक नंबर की कोशिश की। जहां तक मैं मैनुअल को समझता हूं, मेरे मामले में प्रतिगमन (निरंतर) के बजाय क्लासिफायर (असतत) के साथ काम करना बेहतर होता है। आम का उपयोग करना:
model.fit(X_train, y_train)
model.score(X_test, y_test)
मुझे मिल गया:
Lin_Reg: 0.855793988736
Log_Reg: 0.463251670379
DTC: 0.400890868597
KNC: 0.41425389755
LDA: 0.550111358575
Gaus_NB: 0.391982182628
Bay_Rid: 0.855698151574
SVC: 0.483296213808
SVR: 0.647914795849
सतत एल्गोरिदम बेहतर परिणाम था। जब मैं बायेसियन रिज के लिए भ्रम की स्थिति मैट्रिक्स का इस्तेमाल किया उसके परिणाम को सत्यापित करने के (पूर्णांक के लिए नाव में परिवर्तित करने के लिए किया था), मैं निम्नलिखित है:
Pred l1 l2 l3 l4 l5 l6 l7 l8 l9
True
l1 23, 66, 0, 0, 0, 0, 0, 0, 0
l2 31, 57 1, 0, 0, 0, 0, 0, 0
l3 13, 85, 19 0, 0, 0, 0, 0, 0
l4 0, 0, 0, 0 1, 6, 0, 0, 0
l5 0, 0, 0, 4, 8 7, 0, 0, 0
l6 0, 0, 0, 1, 27, 36 7, 0, 0
l7 0, 0, 0, 0, 2, 15, 0 0, 0
l8 0, 0, 0, 1, 1, 30, 8, 0 0
l9 0, 0, 0, 1, 0, 9, 1, 0, 0
क्या मुझे समझ है कि 85% सटीकता गलत है दे दी है। इसे कैसे समझाया जा सकता है? क्या यह फ्लोट/int रूपांतरण है?
कोई सीधा जवाब/लिंक आदि
आपने सटीकता की गणना कैसे की? कुछ 'sklearn.metrics.accuracy_score (y_test, model.predict (X_test))' की तरह कुछ? – sietschie
यदि आप अपने लेबल के साथ 'model.predict()' के परिणामों की मैन्युअल रूप से तुलना करते हैं तो यह गणना करके कि कितनी प्रविष्टियां बराबर हैं, आपको यह समझना चाहिए कि गणना की गई सटीकता या भ्रम मैट्रिक्स गलत है या नहीं। (या यदि दोनों बंद हैं) – sietschie
@sietschie देर से उत्तर के लिए खेद है! मैंने "model.score (X_test, y_test)" का उपयोग किया। हां, मैं देखता हूं कि इनमें से एक गलत है और मुझे लगता है कि गणना की गई सटीकता एक है। – Moveton