मुझे MNIST, CIFAR, STL-10, आदि के लिए रैंडम फ़ॉरेस्ट्स के आवेदन पर कोई साहित्य नहीं मिला है, इसलिए मैंने सोचा कि मैं उन्हें क्रमपरिवर्तन-अपरिवर्तनीय MNIST के साथ स्वयं प्रयास करूँगा।
में आर , मैंने कोशिश की:
randomForest(train$x, factor(train$y), test$x, factor(test$y), ntree=500)
यह 2 घंटे तक चला और 2.8% परीक्षण त्रुटि हुई।
मैंने भी , साथ सीखने की कोशिश की
RandomForestClassifier(n_estimators=2000,
max_features="auto",
max_depth=None)
70 मिनट के बाद, मुझे 2.9% परीक्षण त्रुटि मिली, लेकिन n_estimators = 200 के बजाय, मुझे सिर्फ 7 मिनट के बाद 2.8% परीक्षण त्रुटि मिली।
OpenCV के साथ , मैंने कोशिश की
rf.train(images.reshape(-1, 28**2),
cv2.CV_ROW_SAMPLE,
labels.astype('int'))
यह 6.5 मिनट के लिए चला, और rf
भविष्यवाणी के लिए उपयोग करने पर 15% की त्रुटि हुई। मैं नहीं जानता कि कितने पेड़ इसे प्रशिक्षित करते हैं, क्योंकि रैंडम फ़ॉरेस्ट के लिए उनका पायथन बंधन params
तर्क की अनदेखी करता है, कम से कम 2.3.1 संस्करण में। मैं यह भी पता नहीं लगा सका कि ओपनसीवी को कैसे स्पष्ट किया जाए कि मैं प्रतिगमन के बजाय एक वर्गीकरण समस्या को हल करना चाहता हूं - मुझे मेरा संदेह है, क्योंकि इसके astype('int')
साथ प्रतिस्थापित करने astype('float32')
से समान परिणाम मिलता है।
में तंत्रिका नेटवर्क , के लिए क्रमचय-अपरिवर्तनीय MNIST बेंचमार्क, कला के राज्य 0.8% परीक्षण त्रुटि है, हालांकि प्रशिक्षण शायद एक CPU पर अधिक से अधिक 2 घंटे ले जाएगा।
क्या यादृच्छिक वन का उपयोग करके MNIST पर 2.8% परीक्षण त्रुटि की तुलना में बहुत बेहतर करना संभव है? मुझे लगा कि आम सहमति यह थी कि रैंडम वन आमतौर पर कम से कम कर्नेल एसवीएम के रूप में अच्छे होते हैं, जो मुझे लगता है कि 1.4% परीक्षण त्रुटि हो सकती है।