Saya setuju dengan mbq. Apakah ada alasan yang sangat bagus mengapa Anda harus melakukan itu dengan Python? Kalau tidak, saya akan menggunakan kuda pekerja R sebagai back-end juga.
Joris Meys
satu-satunya alasan adalah bahwa saya telah menggunakan R hanya beberapa kali dalam setahun atau lebih yang lalu dan python yang saya gunakan setiap hari ...
Andre Holzner
2
Rpy adalah ketergantungan yang sangat buruk. R memiliki serangkaian fitur yang besar, dan karena itu bagus untuk dapat menggali di dalamnya menggunakan Rpy, tetapi jika Anda harus berbagi pekerjaan itu, Anda mungkin berada dalam masalah, bahkan jika itu berada di komputer yang berbeda dari lab yang sama, jika lab Anda berada dalam lingkungan komputasi yang heterogen. Hal ini disebabkan oleh kenyataan bahwa Rpy tergantung pada memiliki versi minor yang tepat dari Python, numpy dan R. Misalnya, itu terus rusak di distribusi Linux utama.
Gael Varoquaux
3
Jawaban di sini tampaknya sudah ketinggalan zaman - mereka tampaknya datang dari waktu ketika scikit.learn pada awalnya. Saya pikir pembaca dan situs akan mendapat manfaat jika seseorang yang berpengetahuan memberikan jawaban yang diperbarui.
Pere
Jawaban:
5
Jawaban yang Diperbarui
Lanskap telah banyak berubah dan jawabannya jelas saat ini:
scikit-belajar adalah dengan perpustakaan di python dan memiliki beberapa algoritma besar untuk pohon keputusan didorong
pohon keputusan terdorong "terbaik" dengan python adalah implementasi XGBoost .
Perbarui 1
Sementara itu, LightGBM , meskipun masih cukup "baru", tampaknya sama-sama bagus atau bahkan lebih baik daripada XGBoost
Penampilan pertama saya adalah di Orange , yang merupakan aplikasi berfitur lengkap untuk ML, dengan backend dalam Python. Lihat misalnya orngEnsemble .
Anda dapat menggunakan perpustakaan pohon keputusan R menggunakan Rpy (http://rpy.sourceforge.net/). Periksa juga artikel "membangun pohon keputusan menggunakan python" (http: //onlamp.com/pub/a/python/2 ...).
Saya mendapatkan kesuksesan yang baik dengan pelajar berbasis pohon di Milk: Machine Learning Toolkit for Python . Tampaknya sedang dalam pengembangan aktif, tetapi dokumentasinya agak jarang ketika saya menggunakannya. Test suite (github.com/luispedro/milk/blob/master/tests/test_adaboost.py) berisi "tunggul yang dikuatkan", yang bisa membuat Anda bergerak cukup cepat:
Saya menghasilkan susu. Jika salah satu dari Anda mengalami masalah, beri tahu saya melalui email (lpc di cmu dot edu). Laporan bug umumnya diperbaiki dalam waktu kurang dari 24 jam.
luispedro
Sementara itu, saya telah menambahkan sedikit lebih banyak dokumentasi tentang adaboost: packages.python.org/milk/adaboost.html sehingga komentar di atas mungkin kurang valid daripada sebelumnya.
luispedro
4
Scikit-learn sekarang memiliki penerapan regresi (dan klasifikasi) pohon yang baik dan implementasi hutan acak . Namun, pohon yang dikuatkan masih belum termasuk. Orang-orang sedang mengusahakannya, tetapi perlu waktu untuk mendapatkan implementasi yang efisien.
JBoost adalah perpustakaan yang luar biasa. Ini jelas tidak ditulis dalam Python, tetapi Agnostik agak bahasa, karena dapat dieksekusi dari baris perintah dan semacamnya sehingga dapat "didorong" dari Python. Saya telah menggunakannya di masa lalu dan sangat menyukainya, terutama hal-hal visualisasi.
Saya memiliki masalah yang sama sekarang: Saya kode dalam Python setiap hari, gunakan R sesekali, dan perlu algoritma pohon regresi yang baik. Meskipun ada banyak paket Python yang bagus untuk analitik tingkat lanjut, pencarian saya belum menemukan penawaran yang bagus untuk algoritma khusus ini. Jadi, rute saya pikir saya akan mengambil dalam beberapa minggu mendatang adalah dengan menggunakan paket GBM di R . Ada kertas bagus yang menunjukkan masalah praktis dengan menggunakannya yang dapat ditemukan di sini . Yang penting, paket GBM pada dasarnya digunakan "off the shelf" untuk digunakan pada KDD Cup 2009 . Jadi, saya mungkin akan melakukan semua pemodelan pra dan posting saya di Python dan menggunakan RPy untuk bolak-balik dengan R / GBM.
Saya telah mengalami situasi yang sama dengan Anda, saya menemukan Orange sulit untuk dicari (mungkin itu masalah saya). Pada akhirnya, saya menggunakan kode Peter Norivig untuk bukunya yang terkenal, di sana ia memberikan kerangka kode yang ditulis dengan baik untuk pohon, yang Anda butuhkan hanyalah menambahkan peningkatan di dalamnya. Dengan cara ini, Anda dapat membuat kode apa pun yang Anda suka.
Jawaban:
Jawaban yang Diperbarui
Lanskap telah banyak berubah dan jawabannya jelas saat ini:
Perbarui 1
sumber
Penampilan pertama saya adalah di Orange , yang merupakan aplikasi berfitur lengkap untuk ML, dengan backend dalam Python. Lihat misalnya orngEnsemble .
Proyek menjanjikan lainnya adalah mlpy dan scikit.learn .
Saya tahu bahwa PyCV mencakup beberapa prosedur peningkatan, tetapi tampaknya tidak untuk CART. Lihatlah juga MLboost
sumber
Anda dapat menggunakan perpustakaan pohon keputusan R menggunakan Rpy (http://rpy.sourceforge.net/). Periksa juga artikel "membangun pohon keputusan menggunakan python" (http: //onlamp.com/pub/a/python/2 ...).
ada juga
http://opencv.willowgarage.com/documentation/index.html
http://research.engineering.wustl.edu/~amohan/
sumber
Saya mendapatkan kesuksesan yang baik dengan pelajar berbasis pohon di Milk: Machine Learning Toolkit for Python . Tampaknya sedang dalam pengembangan aktif, tetapi dokumentasinya agak jarang ketika saya menggunakannya. Test suite (github.com/luispedro/milk/blob/master/tests/test_adaboost.py) berisi "tunggul yang dikuatkan", yang bisa membuat Anda bergerak cukup cepat:
sumber
Scikit-learn sekarang memiliki penerapan regresi (dan klasifikasi) pohon yang baik dan implementasi hutan acak . Namun, pohon yang dikuatkan masih belum termasuk. Orang-orang sedang mengusahakannya, tetapi perlu waktu untuk mendapatkan implementasi yang efisien.
Penafian: Saya adalah pengembang scikit-learn.
sumber
JBoost adalah perpustakaan yang luar biasa. Ini jelas tidak ditulis dalam Python, tetapi Agnostik agak bahasa, karena dapat dieksekusi dari baris perintah dan semacamnya sehingga dapat "didorong" dari Python. Saya telah menggunakannya di masa lalu dan sangat menyukainya, terutama hal-hal visualisasi.
sumber
Saya memiliki masalah yang sama sekarang: Saya kode dalam Python setiap hari, gunakan R sesekali, dan perlu algoritma pohon regresi yang baik. Meskipun ada banyak paket Python yang bagus untuk analitik tingkat lanjut, pencarian saya belum menemukan penawaran yang bagus untuk algoritma khusus ini. Jadi, rute saya pikir saya akan mengambil dalam beberapa minggu mendatang adalah dengan menggunakan paket GBM di R . Ada kertas bagus yang menunjukkan masalah praktis dengan menggunakannya yang dapat ditemukan di sini . Yang penting, paket GBM pada dasarnya digunakan "off the shelf" untuk digunakan pada KDD Cup 2009 . Jadi, saya mungkin akan melakukan semua pemodelan pra dan posting saya di Python dan menggunakan RPy untuk bolak-balik dengan R / GBM.
sumber
Saya telah mengalami situasi yang sama dengan Anda, saya menemukan Orange sulit untuk dicari (mungkin itu masalah saya). Pada akhirnya, saya menggunakan kode Peter Norivig untuk bukunya yang terkenal, di sana ia memberikan kerangka kode yang ditulis dengan baik untuk pohon, yang Anda butuhkan hanyalah menambahkan peningkatan di dalamnya. Dengan cara ini, Anda dapat membuat kode apa pun yang Anda suka.
sumber
Pohon Keputusan - Ada Meningkatkan
Pohon Keputusan tanpa Peningkatan
Pohon Keputusan dengan Ada Boosting
Pas Model dan menghitung Akurasi
sumber