वहाँ एक अच्छा अजगर प्रशिक्षण के लिए बढ़ावा देने के निर्णय पेड़ है?
वहाँ एक अच्छा अजगर प्रशिक्षण के लिए बढ़ावा देने के निर्णय पेड़ है?
जवाबों:
अद्यतन उत्तर
परिदृश्य बहुत बदल गया है और उत्तर आजकल स्पष्ट है:
अपडेट १
मेरी पहली नज़र ऑरेंज पर होगी , जो कि पायथन में एक बैकएंड के साथ एमएल के लिए पूरी तरह से चित्रित ऐप है। उदाहरण देखें orngEnsemble ।
अन्य होनहार परियोजनाएं mlpy और scikit.learn हैं ।
मुझे पता है कि PyCV में कई बूस्टिंग प्रक्रियाएं शामिल हैं, लेकिन जाहिर तौर पर CART के लिए नहीं। MLBost पर भी नज़र डालें
आप Rpy (http://rpy.sourceforge.net/) का उपयोग करके R निर्णय ट्री लाइब्रेरी का उपयोग कर सकते हैं। "अजगर का उपयोग करके निर्णय लेने वाले पेड़" (http: //onlamp.com/pub/a/python/2 ...) लेख भी देखें।
वहाँ भी
मुझे मिल्क: ट्री लर्निंग टूलकिट में पाइथन के लिए ट्री-बेस्ड लर्नर्स के साथ अच्छी सफलता मिली । यह सक्रिय विकास के तहत लगता है, लेकिन प्रलेखन थोड़ा विरल था जब मैं इसका उपयोग कर रहा था। टेस्ट सूट (github.com/luispedro/milk/blob/master/tests/test_adaboost.py) में हालांकि "बूस्टेड स्टंप" शामिल है, जो आपको बहुत जल्दी मिल सकता है:
import numpy as np
import milk.supervised.tree
import milk.supervised.adaboost
def test_learner():
from milksets import wine
learner = milk.supervised.adaboost.boost_learner(milk.supervised.tree.stump_learner())
features, labels = wine.load()
features = features[labels < 2]
labels = labels[labels < 2] == 0
labels = labels.astype(int)
model = learner.train(features, labels)
train_out = np.array(map(model.apply, features))
assert (train_out == labels).mean() > .9
स्किटिट-लर्न में अब अच्छा प्रतिगमन (और वर्गीकरण) पेड़ और यादृच्छिक वन कार्यान्वयन हैं । हालाँकि, बढ़ा हुआ पेड़ अभी भी शामिल नहीं है। लोग इस पर काम कर रहे हैं, लेकिन एक कुशल कार्यान्वयन प्राप्त करने में कुछ समय लगता है।
डिस्क्लेमर: मैं एक scikit-learn डेवलपर हूं।
JBoost एक भयानक पुस्तकालय है। यह निश्चित रूप से पायथन में नहीं लिखा गया है, हालांकि यह कुछ हद तक अज्ञेयवादी है, क्योंकि इसे कमांड लाइन से निष्पादित किया जा सकता है और इसलिए इसे पायथन से "संचालित" किया जा सकता है। मैंने इसे अतीत में इस्तेमाल किया है और इसे बहुत पसंद किया है, विशेष रूप से विज़ुअलाइज़ेशन सामान।
मेरे पास अभी एक ही मुद्दा है: मैं रोजाना पायथन में कोड करता हूं, एक बार आर का उपयोग करता हूं, और एक अच्छा बूस्ट किए गए रेगिस्तानी ट्री एल्गोरिदम की आवश्यकता होती है। जबकि उन्नत विश्लेषिकी के लिए बहुत सारे महान पायथन पैकेज हैं, मेरी खोज को इस विशेष एल्गोरिथ्म के लिए एक अच्छा प्रस्ताव नहीं मिला है। इसलिए, मुझे लगता है कि मैं आने वाले हफ्तों में ले रहा हूं कि आर में जीबीएम पैकेज का उपयोग करना है । इसका उपयोग करने के साथ व्यावहारिक मुद्दों को दर्शाने वाला एक अच्छा पेपर है जो यहां पाया जा सकता है । महत्वपूर्ण रूप से, GBM पैकेज को मूल रूप से 2009 केडीडी कप में "शेल्फ से दूर" उपयोग किया गया था । इसलिए, मैं शायद अपने सभी प्री और पोस्टिंग मॉडलिंग पायथन में करूंगा और आरपी / जीबीएम के साथ आगे और पीछे जाने के लिए आरपीआई का उपयोग करूंगा।
मैंने आपके साथ इसी तरह की स्थिति का अनुभव किया है, मुझे लगता है कि ऑरेंज को धुनना मुश्किल है (शायद यह मेरी समस्या है)। अंत में, मैंने अपनी प्रसिद्ध पुस्तक के लिए पीटर नॉरविग के कोड का इस्तेमाल किया, जिसमें उन्होंने पेड़ के लिए एक अच्छी तरह से लिखित कोड फ्रेमवर्क प्रदान किया, आप सभी को इसमें बढ़ावा देने की आवश्यकता है। इस तरह, आप अपनी पसंद के अनुसार कुछ भी कोड कर सकते हैं।
निर्णय पेड़ - अडा बूस्टिंग
from sklearn.tree import DecisionTreeClassifier
from sklearn.ensemble import AdaBoostClassifier
from sklearn.metrics import accuracy_score
कोई बूस्टिंग के साथ निर्णय पेड़
clf_entropy_no_ada = DecisionTreeClassifier(criterion = "entropy", random_state = 100,
max_depth=5, min_samples_leaf=5)
clf_entropy_no_ada.fit(X_train, y_train)
एडा बूस्टिंग के साथ निर्णय पेड़
clf_entropy_ada = AdaBoostClassifier(base_estimator= clf_entropy_no_ada,n_estimators=400,learning_rate=1)
clf_entropy_ada.fit(X_train, y_train)
फिटिंग मॉडल और सटीकता की गणना
y_predict_no_ada = clf_entropy_no_ada.predict(X_test)
print ("Accuracy is ", accuracy_score(y_test,y_predict_no_ada)*100)
y_predict_ada = clf_entropy_ada.predict(X_test)
print ("Accuracy is ", accuracy_score(y_test,y_predict_ada)*100)