Proyek sains data sumber terbuka untuk berkontribusi

15

Kontribusi ke proyek sumber terbuka biasanya merupakan cara yang baik untuk mendapatkan praktik bagi pemula, dan mencoba area baru untuk ilmuwan dan analis data yang berpengalaman.

Proyek mana yang Anda berkontribusi? Berikan tautan intro + di Github.

IharS
sumber
2
Lihat ELKI (di github, Jawa; lihat juga Wikipedia). Saya sering menggunakan ini karena ini adalah proyek paling lengkap untuk pengelompokan dan deteksi anomali; dan biasanya jauh lebih cepat daripada R juga.
Memiliki QUIT - Anony-Mousse

Jawaban:

15

Proyek Julia adalah salah satu yang saya berkontribusi secara aktif, termasuk komputasi canggih dan perpustakaan XGBoost. Jadi, saya pasti bisa menjamin untuk itu pemeliharaan dan kualitas komunitas.

Beberapa proyek sains data sumber terbuka yang benar-benar bagus di mana bahkan para pemula dapat berkontribusi adalah:

  • Sklearn : Selalu berkembang dengan pesat, komunitas sklearn selalu terbuka untuk pengembang dan kontributor baru.
  • H2O : H2O adalah proyek ilmu data lainnya yang berkembang pesat, bekerja pada pembelajaran mesin yang scalable dan solusi Deep Learning.
  • Go : Peta jalan sumber daya sains data terbuka dan sumber daya. Tidak benar-benar proyek teknis, tetapi sangat membantu untuk pemula dan calon analis.
  • Pylearn2 : Proyek Machine Learning dan Deep Learning yang berkembang pesat lainnya.
  • Vowpal Wabbit : Proyek Vowpal Wabbit (VW) adalah sistem pembelajaran out-of-core cepat yang disponsori oleh Microsoft Research dan (sebelumnya) Yahoo! Penelitian.

Berikut ini adalah diskusi Quora tentang proyek-proyek semacam itu dan beberapa lagi yang tidak disebutkan dalam jawaban ini.

Berikut ini adalah diskusi yang bagus tentang open source Data Science dan proyek-proyek ML dengan Python.

Dawny33
sumber
2
Saya mengonfirmasi - sangat mudah untuk melakukan sklearn, cukup buka permintaan tarik dan hanya itu.
Alexey Grigorev
Pylearn2 tidak aktif lagi. Keras, lasagna, dan balok adalah pilihan yang lebih baik untuk kontribusi.
SHASHANK GUPTA
6

Ada banyak dari mereka yang tersedia. Saya tidak tahu apakah saya diizinkan melakukan ini (tolong beri tahu saya jika itu salah), tetapi saya mengembangkannya dan sudah lebih dari 2 tahun di hub git (sebenarnya dimulai satu tahun sebelum github). Proyek ini disebut rapaio, ada di git hub di sini dan baru-baru ini saya mulai menulis manual untuk itu (beberapa teman saya bertanya tentang itu). Manual dapat ditemukan di sini .

Ini sesuai dengan kebutuhan Anda jika Anda ingin mengembangkan di Java 8, jika Anda ingin melakukan sendiri alat apa pun dan jika Anda ingin bereksperimen. Hanya ada dua prinsip yang saya tegakkan. Yang pertama adalah menulis sesuatu hanya saat Anda membutuhkannya . Itu karena saya sangat percaya bahwa hanya ketika Anda membutuhkan alat, Anda juga tahu apa yang sebenarnya Anda inginkan darinya dalam hal output, kinerja, informasi. Prinsip kedua adalah Anda hanya bergantung pada jdk, jika Anda membutuhkan sesuatu, Anda akan menulisnya . Saya setuju bahwa saya kuno, tetapi Anda dapat menyesuaikan fitur apa pun untuk tujuan Anda dengan cara ini.

Jika saya tidak diizinkan melakukan itu sebagai aswer, sekali lagi, beri tahu saya. Meskipun, karena ini merupakan inisiatif sumber terbuka, memberikan sesuatu kembali kepada orang-orang tanpa jenis proyek laba saya tidak melihat alasan mengapa saya tidak bisa melakukannya.

rapaio
sumber
2
+1 Saya pikir ini adalah proyek hebat bagi seseorang untuk berkontribusi. Terima kasih sudah berbagi. Atleast, saya tidak berpikir itu tidak relevan :)
Dawny33
1
Sudahkah Anda mempertimbangkan untuk bergabung dengan upaya Anda dengan salah satu dari banyak proyek serupa lainnya? Katakanlah, ELKI, Weka, JSAT, Smile, Hubminer, ... sudahkah Anda melakukan benchmark? Dari pandangan cepat, saya melihat beberapa konstruksi yang terlihat sangat mahal bagi saya (walaupun mungkin tidak seburuk R).
Memiliki QUIT - Anony-Mousse
Tujuan saya adalah untuk memiliki seperangkat alat ramah programmer, kinerja bukanlah tujuan. Tetapi saya mulai mengevaluasi kembali itu. Mengenai proyek-proyek lain: karena masalah hukum, saya tidak dapat berkomitmen untuk mendistribusikan barang-barang dan saya hanya dapat berkontribusi untuk proyek-proyek dengan beberapa jenis lisensi sumber terbuka. Bagaimanapun, terima kasih telah melihatnya, saya akan sangat senang jika Anda dapat memberi saya lebih banyak detail mengenai konstruksi yang Anda sebutkan. Saya berharap waktu Anda terbatas, dan saya tidak berani berdiskusi penuh
rapaio
1
ELKI adalah AGPL-3. Ini tidak didistribusikan, tetapi memiliki beberapa optimasi tingkat rendah untuk kinerja "lokal" yang tinggi (belum ada Java 8). JSAT, Smile, Hubminer - semuanya open-source, mungkin sebagian besar apache, tidak didistribusikan, dan tidak dioptimalkan jika saya tidak salah (saya kebanyakan menggunakan ELKI).
Memiliki QUIT - Anony-Mousse
4

Periksa proyek ini di github: https://github.com/josephmisiti/awesome-machine-learning . Ini berisi daftar komprehensif proyek sumber terbuka yang dikelompokkan berdasarkan bahasa, dengan beberapa deskripsi singkat. Saya pikir Anda dapat menemukan beberapa dari mereka yang memenuhi kebutuhan Anda.

rapaio
sumber
4

ELKI (juga di GitHub ) adalah proyek sumber terbuka data mining dan ilmu data. Ini unik sehubungan dengan arsitektur modularnya: Anda dapat menggabungkan algoritma, fungsi jarak, dan indeks untuk akselerasi dengan sangat sedikit batasan (tentu saja, algoritma yang tidak menggunakan jarak tidak dapat digabungkan dengan jarak). Ini bukan kode termudah karena efisiensi. Untuk penggalian data, Anda perlu berhati-hati tentang memori - menggunakan ArrayList<Integer>adalah jalan keluar jika Anda ingin skalabilitas.

Karena arsitektur modular, mudah untuk berkontribusi hanya modul kecil, seperti fungsi atau algoritma jarak tunggal.

Kami menyimpan daftar ide proyek penambangan data , yang secara kasar dikelompokkan berdasarkan kesulitan. Sebagian besar proyek adalah implementasi dari beberapa varian dari suatu algoritma. ELKI bertujuan untuk memungkinkan studi perbandingan algoritma, jadi kami mencoba untuk mengizinkan kombinasi apa pun, dan mencakup juga varian dari algoritma. Misalnya dengan k-means, kami tidak hanya memiliki algoritma Lloyds, tetapi 10 varian dari tema k-means umum. Lebih dari 220 artikel telah (setidaknya sebagian) diimplementasikan kembali di ELKI.

Dengan menerapkan semua yang ada di alat yang sama, kami mendapatkan hasil yang jauh lebih sebanding. Jika Anda menggunakan R untuk pembandingan, Anda biasanya membandingkan apel dan jeruk. k-means dalam R itu sendiri sebenarnya adalah program Fortran lama, dan sangat cepat. k-means dalam R tetapi dalam paket "flexclust" 100x lebih lambat, karena ditulis dalam kode R nyata. Jadi jangan percaya benchmark di R ... juga, modul R cenderung tidak kompatibel, jadi Anda sering tidak bisa menggunakan jarak A dari modul A dengan algoritma B dari modul B. di ELKI kami mencoba untuk membagikan kode sebanyak mungkin di seluruh implementasi untuk mengurangi artefak tersebut (tentu saja, tidak akan mungkin untuk memiliki tolok ukur yang adil 100% - selalu ada ruang untuk optimasi), tetapi juga untuk memungkinkan menggabungkan modul dengan mudah.

Anda bisa mulai dengan sesuatu yang kecil seperti varian Hartigan & Wong k-means, dan kemudian melanjutkan ke k-means bulat (yang dimaksudkan untuk data jarang, di mana berbagai optimasi kinerja mungkin diperlukan) dan terus menambahkan dukungan yang lebih baik untuk data kategori; atau menambahkan fungsi pengindeksan.

Saya juga ingin melihat UI yang lebih baik untuk ELKI , tetapi itu adalah upaya besar.

Erich Schubert
sumber
4

Jika seseorang menyukai alat pemrograman visual lintas platform, Orange adalah sebuah pilihan. Baru-baru ini pindah ke Python 3, mereka belum mendapatkan semua porting porting. Ini membawa tumpukan PyData (NumPy, SciPy, SciKit Learn, ...) ke Python 3, PyQt, PyQtGraph, dan itu GPL di GitHub .

Screenshot oranye

K3 --- rnc
sumber