मैं अपने डेटासेट पर मशीन लर्निंग एल्गोरिदम लागू करने के लिए Scikit-learn का उपयोग कर रहा हूं। कभी-कभी मुझे लेबल/कक्षाओं से जुड़े लेबल/कक्षाओं की संभावनाएं होती हैं। ईमेल के लेबल के रूप में स्पैम/स्पैम नहीं होने के बजाय, मैं केवल उदाहरण के लिए चाहता हूं: 0.78 संभावना एक दिए गए ईमेल स्पैम है।सुरक्षित और सही तरीके से RandomForestClassifier के predict_proba() फ़ंक्शन का उपयोग
इस तरह के प्रयोजन के लिए, मैं निम्नलिखित के रूप में RandomForestClassifier साथ predict_proba() का उपयोग कर रहा:
clf = RandomForestClassifier(n_estimators=10, max_depth=None,
min_samples_split=1, random_state=0)
scores = cross_val_score(clf, X, y)
print(scores.mean())
classifier = clf.fit(X,y)
predictions = classifier.predict_proba(Xtest)
print(predictions)
और मैं उन परिणामों मिला:
[ 0.4 0.6]
[ 0.1 0.9]
[ 0.2 0.8]
[ 0.7 0.3]
[ 0.3 0.7]
[ 0.3 0.7]
[ 0.7 0.3]
[ 0.4 0.6]
कहाँ दूसरे स्तंभ वर्ग के लिए है: स्पैम। हालांकि, मेरे पास दो मुख्य मुद्दे हैं जिनके बारे में मुझे विश्वास नहीं है। पहला मुद्दा यह है कि परिणाम मेरे डेटा के आकार से प्रभावित किए बिना लेबल की संभावनाओं का प्रतिनिधित्व करते हैं? दूसरा मुद्दा यह है कि परिणाम केवल एक अंक दिखाते हैं जो कुछ मामलों में बहुत विशिष्ट नहीं है जहां 0.701 संभावना 0.708 से बहुत अलग है। उदाहरण के लिए अगले 5 अंक प्राप्त करने का कोई तरीका है?
इन दो मुद्दों और उनके प्रश्नों को पढ़ने में आपके समय के लिए अग्रिम धन्यवाद।
मैं सेबेस्टियन से सहमत हूं, अपनी भविष्यवाणी सरणी में एक विशिष्ट अनुक्रमणिका की तलाश करें, आपको शायद अधिक सटीकता होगी। मैं सटीक बनाना चाहता था कि परिणाम भविष्यवाणी सरणी में परिणाम श्रेणी के नाम से क्रमबद्ध रूप से क्रमबद्ध किया गया है। – RPresle
प्रिय प्रिंसल, आपकी टिप्पणी के लिए धन्यवाद। – Clinical