Zgadzam się z mbq. Czy istnieje bardzo dobry powód, dla którego musisz to zrobić w Pythonie? W przeciwnym razie użyłbym również konia roboczego R jako zaplecza.
Joris Meys,
jedynym powodem jest to, że korzystałem z R tylko kilka razy w roku, a python używam każdego dnia ...
Andre Holzner
2
Rpy to naprawdę paskudna zależność. R ma ogromny zestaw funkcji, dlatego miło jest móc je kopać za pomocą Rpy, ale jeśli musisz udostępnić tę pracę, możesz mieć kłopoty, nawet jeśli są na różnych komputerach w tym samym laboratorium, jeśli twoje laboratorium znajduje się w heterogenicznym środowisku komputerowym. Wynika to z faktu, że Rpy zależy od posiadania odpowiednich mniejszych wersji Pythona, numpy i R. Na przykład ciągle się psuje w głównych dystrybucjach Linuksa.
Gael Varoquaux,
3
Odpowiedzi tutaj wydają się nieaktualne - wydają się pochodzić z czasów, gdy scikit.learn był na początku. Myślę, że czytelnicy i strona skorzystaliby, gdyby ktoś posiadający wiedzę umieścił zaktualizowaną odpowiedź.
Pere
Odpowiedzi:
5
Zaktualizowana odpowiedź
Krajobraz bardzo się zmienił, a odpowiedź jest obecnie jasna:
scikit-learn to bibliotekę w Pythonie i ma kilka wspaniałych algorytmów wzmocnionymi drzew decyzyjnych
„najlepszym” ulepszonym drzewem decyzyjnym w Pythonie jest implementacja XGBoost .
Aktualizacja 1
Tymczasem LightGBM , choć wciąż całkiem „nowy”, wydaje się być równie dobry, a nawet lepszy niż XGBoost
Możesz użyć biblioteki drzewa decyzyjnego R za pomocą Rpy (http://rpy.sourceforge.net/). Zobacz także artykuł „Budowanie drzew decyzyjnych za pomocą Pythona” (http: //onlamp.com/pub/a/python/2 ...).
Miałem dobry sukces z uczniami opartymi na drzewach w Milk: Machine Learning Toolkit for Python . Wydaje się, że jest w trakcie aktywnego opracowywania, ale dokumentacja była nieco rzadka, kiedy go używałem. Pakiet testowy (github.com/luispedro/milk/blob/master/tests/test_adaboost.py) zawiera jednak „wzmocniony kikut”, który może przyspieszyć:
Rozwijam mleko. Jeśli któryś z was napotka jakieś problemy, proszę dać mi znać przez e-mail (lpc at cmu dot edu). Zgłoszenia błędów zazwyczaj są naprawiane w ciągu 24 godzin.
luispedro
W międzyczasie dodałem trochę więcej dokumentacji na adaboost: packages.python.org/milk/adaboost.html, więc powyższy komentarz może być mniej poprawny niż wcześniej.
luispedro
4
Scikit-learn ma teraz dobre drzewa regresji (i klasyfikacji) oraz losowe implementacje lasów . Jednak wzmocnione drzewo nadal nie jest uwzględnione. Ludzie pracują nad tym, ale efektywne wdrożenie zajmuje trochę czasu.
JBoost to niesamowita biblioteka. Zdecydowanie nie jest napisany w Pythonie, jednak jest on w pewnym stopniu niezależny od języka, ponieważ można go wykonać z wiersza poleceń i tym samym można „sterować” z Pythona. Używałem go w przeszłości i bardzo mi się podobało, szczególnie w przypadku wizualizacji.
Mam teraz ten sam problem: codziennie piszę w Pythonie, od czasu do czasu używam R i potrzebuję dobrego algorytmu drzewa regresji wzmocnionej. Chociaż istnieje wiele świetnych pakietów Pythona do zaawansowanej analizy, moje wyszukiwanie nie znalazło dobrej oferty dla tego konkretnego algorytmu. Tak więc, droga myślę, że będę brać w najbliższych tygodniach jest użycie pakietu GBM w R . Jest dobry artykuł pokazujący praktyczne problemy z jego używaniem, które można znaleźć tutaj . Co ważne, pakiet GBM został w zasadzie użyty „z półki”, aby zdobyć w Pucharze KDD 2009 . Więc prawdopodobnie wykonam całe moje modelowanie przed i po w Pythonie i używam RPy do przechodzenia tam iz powrotem z R / GBM.
Doświadczyłem podobnej sytuacji z tobą, uważam, że Orange trudno jest dostroić (może to mój problem). W końcu użyłem kodu Petera Noriviga do jego słynnej książki, w której dostarczyłem dobrze napisane ramy kodu dla drzewa, wszystko czego potrzebujesz to dodanie do niego ulepszeń. W ten sposób możesz kodować wszystko, co chcesz.
Odpowiedzi:
Zaktualizowana odpowiedź
Krajobraz bardzo się zmienił, a odpowiedź jest obecnie jasna:
Aktualizacja 1
źródło
Moje pierwsze spojrzenie to Orange , która jest w pełni funkcjonalną aplikacją dla ML, z zapleczem w Pythonie. Zobacz np . OrngEnsemble .
Inne obiecujące projekty to mlpy i scikit.learn .
Wiem, że PyCV obejmuje kilka procedur przypominających, ale najwyraźniej nie w przypadku CART. Zobacz także MLboost
źródło
Możesz użyć biblioteki drzewa decyzyjnego R za pomocą Rpy (http://rpy.sourceforge.net/). Zobacz także artykuł „Budowanie drzew decyzyjnych za pomocą Pythona” (http: //onlamp.com/pub/a/python/2 ...).
jest również
http://opencv.willowgarage.com/documentation/index.html
http://research.engineering.wustl.edu/~amohan/
źródło
Miałem dobry sukces z uczniami opartymi na drzewach w Milk: Machine Learning Toolkit for Python . Wydaje się, że jest w trakcie aktywnego opracowywania, ale dokumentacja była nieco rzadka, kiedy go używałem. Pakiet testowy (github.com/luispedro/milk/blob/master/tests/test_adaboost.py) zawiera jednak „wzmocniony kikut”, który może przyspieszyć:
źródło
Scikit-learn ma teraz dobre drzewa regresji (i klasyfikacji) oraz losowe implementacje lasów . Jednak wzmocnione drzewo nadal nie jest uwzględnione. Ludzie pracują nad tym, ale efektywne wdrożenie zajmuje trochę czasu.
Oświadczenie: Jestem programistą scikit-learn.
źródło
JBoost to niesamowita biblioteka. Zdecydowanie nie jest napisany w Pythonie, jednak jest on w pewnym stopniu niezależny od języka, ponieważ można go wykonać z wiersza poleceń i tym samym można „sterować” z Pythona. Używałem go w przeszłości i bardzo mi się podobało, szczególnie w przypadku wizualizacji.
źródło
Mam teraz ten sam problem: codziennie piszę w Pythonie, od czasu do czasu używam R i potrzebuję dobrego algorytmu drzewa regresji wzmocnionej. Chociaż istnieje wiele świetnych pakietów Pythona do zaawansowanej analizy, moje wyszukiwanie nie znalazło dobrej oferty dla tego konkretnego algorytmu. Tak więc, droga myślę, że będę brać w najbliższych tygodniach jest użycie pakietu GBM w R . Jest dobry artykuł pokazujący praktyczne problemy z jego używaniem, które można znaleźć tutaj . Co ważne, pakiet GBM został w zasadzie użyty „z półki”, aby zdobyć w Pucharze KDD 2009 . Więc prawdopodobnie wykonam całe moje modelowanie przed i po w Pythonie i używam RPy do przechodzenia tam iz powrotem z R / GBM.
źródło
Doświadczyłem podobnej sytuacji z tobą, uważam, że Orange trudno jest dostroić (może to mój problem). W końcu użyłem kodu Petera Noriviga do jego słynnej książki, w której dostarczyłem dobrze napisane ramy kodu dla drzewa, wszystko czego potrzebujesz to dodanie do niego ulepszeń. W ten sposób możesz kodować wszystko, co chcesz.
źródło
Drzewa decyzyjne - Ada Boosting
Drzewa decyzyjne bez wzmocnienia
Drzewa decyzyjne z Ada Boosting
Dopasowywanie modeli i obliczanie dokładności
źródło