अजगर में बूस्टेड पेड़? [बन्द है]


13

वहाँ एक अच्छा अजगर प्रशिक्षण के लिए बढ़ावा देने के निर्णय पेड़ है?


3
Rpy, ज़ाहिर है ;-)

मैं mbq से सहमत हूँ। क्या एक बहुत अच्छा कारण है कि आपको पायथन में ऐसा करना है? अन्यथा मैं वर्कहॉर्स आर का उपयोग बैक-एंड के रूप में भी करता हूं।
जोरिस मेय्स

एकमात्र कारण यह है कि मैंने आर का उपयोग केवल एक वर्ष में बहुत कम बार या उससे पहले किया है और अजगर मैं हर दिन का उपयोग कर रहा हूं ...
आंद्रे होल्जनर

2
Rpy वास्तव में बुरा निर्भरता है। R में बहुत सारे फीचर हैं, और इस तरह Rpy का उपयोग करके उनमें खुदाई करना अच्छा है, लेकिन अगर आपको उस काम को साझा करना है, तो आप परेशानी में पड़ सकते हैं, भले ही वह एक ही लैब के विभिन्न कंप्यूटरों में हो, यदि आपकी लैब एक विषम कंप्यूटिंग वातावरण में है। यह इस तथ्य के कारण है कि Rpy Python, numpy और R. के सही मामूली संस्करणों पर निर्भर करता है। उदाहरण के लिए, यह प्रमुख लिनक्स वितरण में टूटता रहता है।
गेल वरक्वाउक्स

3
यहां उत्तर पुराने प्रतीत होते हैं - वे उस समय से आने लगते हैं जब scikit.learn अपनी शुरुआत में था। मुझे लगता है कि अगर किसी जानकार ने अपडेटेड जवाब दिया तो पाठकों और साइट को फायदा होगा।
Pere

जवाबों:


5

अद्यतन उत्तर

परिदृश्य बहुत बदल गया है और उत्तर आजकल स्पष्ट है:

  • scikit सीखने है अजगर में पुस्तकालय और बढ़ाया निर्णय वृक्ष के लिए कई महान एल्गोरिदम है
  • अजगर में "बेस्ट" बूस्टेड डिसाइड ट्री XGBoost कार्यान्वयन है।

अपडेट १


12

मेरी पहली नज़र ऑरेंज पर होगी , जो कि पायथन में एक बैकएंड के साथ एमएल के लिए पूरी तरह से चित्रित ऐप है। उदाहरण देखें orngEnsemble

अन्य होनहार परियोजनाएं mlpy और scikit.learn हैं

मुझे पता है कि PyCV में कई बूस्टिंग प्रक्रियाएं शामिल हैं, लेकिन जाहिर तौर पर CART के लिए नहीं। MLBost पर भी नज़र डालें


7

आप Rpy (http://rpy.sourceforge.net/) का उपयोग करके R निर्णय ट्री लाइब्रेरी का उपयोग कर सकते हैं। "अजगर का उपयोग करके निर्णय लेने वाले पेड़" (http: //onlamp.com/pub/a/python/2 ...) लेख भी देखें।

वहाँ भी

http://opencv.willowgarage.com/documentation/index.html

http://research.engineering.wustl.edu/~amohan/


6

मुझे मिल्क: ट्री लर्निंग टूलकिट में पाइथन के लिए ट्री-बेस्ड लर्नर्स के साथ अच्छी सफलता मिली । यह सक्रिय विकास के तहत लगता है, लेकिन प्रलेखन थोड़ा विरल था जब मैं इसका उपयोग कर रहा था। टेस्ट सूट (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

4
मैं दूध का विकास करता हूं। यदि आप में से कोई भी समस्या में भाग लेता है, तो कृपया मुझे ईमेल द्वारा सूचित करें (lpc at cmu dot edu)। बग रिपोर्ट आम तौर पर 24 घंटों के भीतर तय हो जाती है।
luispedro

इस बीच, मैं adaboost पर थोड़ा और प्रलेखन जोड़ दिया है: packages.python.org/milk/adaboost.html तो ऊपर टिप्पणी कम वैध की तुलना में यह पहले था हो सकता है।
luispedro

4

स्किटिट-लर्न में अब अच्छा प्रतिगमन (और वर्गीकरण) पेड़ और यादृच्छिक वन कार्यान्वयन हैं । हालाँकि, बढ़ा हुआ पेड़ अभी भी शामिल नहीं है। लोग इस पर काम कर रहे हैं, लेकिन एक कुशल कार्यान्वयन प्राप्त करने में कुछ समय लगता है।

डिस्क्लेमर: मैं एक scikit-learn डेवलपर हूं।


1

JBoost एक भयानक पुस्तकालय है। यह निश्चित रूप से पायथन में नहीं लिखा गया है, हालांकि यह कुछ हद तक अज्ञेयवादी है, क्योंकि इसे कमांड लाइन से निष्पादित किया जा सकता है और इसलिए इसे पायथन से "संचालित" किया जा सकता है। मैंने इसे अतीत में इस्तेमाल किया है और इसे बहुत पसंद किया है, विशेष रूप से विज़ुअलाइज़ेशन सामान।


1

मेरे पास अभी एक ही मुद्दा है: मैं रोजाना पायथन में कोड करता हूं, एक बार आर का उपयोग करता हूं, और एक अच्छा बूस्ट किए गए रेगिस्तानी ट्री एल्गोरिदम की आवश्यकता होती है। जबकि उन्नत विश्लेषिकी के लिए बहुत सारे महान पायथन पैकेज हैं, मेरी खोज को इस विशेष एल्गोरिथ्म के लिए एक अच्छा प्रस्ताव नहीं मिला है। इसलिए, मुझे लगता है कि मैं आने वाले हफ्तों में ले रहा हूं कि आर में जीबीएम पैकेज का उपयोग करना है । इसका उपयोग करने के साथ व्यावहारिक मुद्दों को दर्शाने वाला एक अच्छा पेपर है जो यहां पाया जा सकता है । महत्वपूर्ण रूप से, GBM पैकेज को मूल रूप से 2009 केडीडी कप में "शेल्फ से दूर" उपयोग किया गया था । इसलिए, मैं शायद अपने सभी प्री और पोस्टिंग मॉडलिंग पायथन में करूंगा और आरपी / जीबीएम के साथ आगे और पीछे जाने के लिए आरपीआई का उपयोग करूंगा।


0

मैंने आपके साथ इसी तरह की स्थिति का अनुभव किया है, मुझे लगता है कि ऑरेंज को धुनना मुश्किल है (शायद यह मेरी समस्या है)। अंत में, मैंने अपनी प्रसिद्ध पुस्तक के लिए पीटर नॉरविग के कोड का इस्तेमाल किया, जिसमें उन्होंने पेड़ के लिए एक अच्छी तरह से लिखित कोड फ्रेमवर्क प्रदान किया, आप सभी को इसमें बढ़ावा देने की आवश्यकता है। इस तरह, आप अपनी पसंद के अनुसार कुछ भी कोड कर सकते हैं।


0

निर्णय पेड़ - अडा बूस्टिंग

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)
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.