Katkıda bulunmak için açık kaynaklı veri bilimi projeleri


15

Açık kaynak projelerine katkı genellikle yeni başlayanlar için biraz pratik yapmanın ve deneyimli veri bilimcileri ve analistleri için yeni bir alan denemenin iyi bir yoludur.

Hangi projelere katkıda bulunuyorsunuz? Lütfen Github'da bir giriş + bağlantısı sağlayın.


2
ELKI'ye bakın (github'da, Java; ayrıca Wikipedia'ya bakın). Bunu çok kullanıyorum çünkü kümeleme ve anomali tespiti için en eksiksiz proje; ve genellikle de R'den çok daha hızlıdır.
QUIT - Anony-Mousse

Yanıtlar:


15

Julia projesi Ben aktif olarak gelişmiş bilgi işlem ve XGBoost kütüphaneleri dahil, katkıda biridir. Bu yüzden, toplumun bakımı ve kalitesi için kesinlikle kefil olabilirim.

Yeni başlayanların bile katkıda bulunabileceği gerçekten iyi açık kaynaklı veri bilimi projeleri şunlardır:

  • Sklearn : Her zaman hızlı bir şekilde gelişmekte olan sklearn topluluğu her zaman yeni geliştiricilere ve katkıda bulunanlara açıktır.
  • H2O : H2O, ölçeklenebilir makine öğrenimi ve Derin Öğrenme çözümleri üzerinde çalışan, hızla büyüyen bir başka veri bilimi projesidir.
  • Go : Açık kaynak veri bilimi yol haritası ve kaynakları. Gerçekten teknik bir proje değil, mutlak yeni başlayanlar ve hevesli analistler için çok yararlı.
  • Pylearn2 : Bir diğer hızlı büyüyen Makine Öğrenmesi ve Derin Öğrenme projesi.
  • Vowpal Wabbit : Vowpal Wabbit (VW) projesi, Microsoft Research ve (önceden) Yahoo! Araştırma.

İşte bu tür projeler ve bu yanıtta bahsedilmeyen bazı Quora tartışmaları .

İşte Python'daki açık kaynaklı Veri Bilimi ve ML projeleri hakkında güzel bir tartışma .


2
Onaylıyorum - sklearn'ü taahhüt etmek çok kolay, sadece bir çekme isteği açın ve hepsi bu.
Alexey Grigorev

Pylearn2 artık aktif değil. Keras, lazanya ve bloklar katkı için daha iyi bir seçenektir.
SHASHANK GUPTA

6

Bunlardan bol miktarda var. Bunu yapmama izin verilip verilmediğini bilmiyorum (lütfen yanlış olup olmadığını bana bildirin), ancak bir tane geliştirdim ve git hub'da 2 yıldan fazla bir süredir var (aslında github'dan bir yıl önce başladı). Projeye rapaio denir, burada git hub'da ve son zamanlarda bunun için bir el kitabı yazmaya başladım (bazı arkadaşlarım bana bunu sordu). Kılavuz burada bulunabilir .

Java 8'de gelişmek istiyorsanız, kendinize herhangi bir araç yapmak istiyorsanız ve denemek isterseniz ihtiyaçlarınıza uyuyor. Uyguladığım sadece iki prensip var. İlki sadece ihtiyacınız olduğunda bir şeyler yazmak . Çünkü sadece bir araca ihtiyacınız olduğunda, çıktı, performans, bilgi açısından gerçekten ne istediğinizi bildiğinize inanıyorum. İkinci prensip sadece jdk'ye bağımlı olmanızdır, eğer bir şeye ihtiyacınız varsa onu yazacaksınız . Eski moda olduğumu kabul edebilirim, ancak istediğiniz herhangi bir özelliği bu şekilde özelleştirebilirsiniz.

Bunu bir aswer olarak yapma iznim yoksa, lütfen bana bildirin. Her ne kadar açık kaynaklı bir girişim olduğu için, kar türü proje olmayan insanlara bir şey vermekle birlikte , neden yapamadığımı görmüyorum.


1
Çabalarınızı diğer benzer projelerden biriyle birleştirmeyi düşündünüz mü? De ki, ELKI, Weka, JSAT, Gülümseme, Hubminer, ... kıyasladınız mı? Hızlı bir bakış açısından, benim için çok pahalı görünen birkaç yapı gördüm (muhtemelen R kadar kötü olmasa da).
QUIT - Anony-Mousse

Amacım güzel bir programcı dostu araç setine sahip olmaktı, performans bir hedef değildi. Ama bunu yeniden değerlendirmeye başladım. Diğer projelerle ilgili olarak: yasal nedenlerden ötürü, dağıtılmış şeylere bağlı olamam ve sadece bir tür açık kaynak lisansına sahip projelere katkıda bulunabilirim. Her neyse, bir göz attığınız için teşekkür ederim, bahsettiğiniz yapılar hakkında bana daha fazla bilgi verebilirseniz çok mutlu olurum. Zamanının sınırlı olmasını bekliyorum ve tam bir tartışma yapmaya cesaret edemiyorum
rapaio

1
ELKI AGPL-3'tür. Dağıtılmaz, ancak yüksek "yerel" performans için bazı düşük seviyeli optimizasyonlara sahiptir (henüz Java 8 yok). JSAT, Smile, Hubminer - hepsi açık kaynak kodlu, muhtemelen apache, dağıtılmamış ve yanılmıyorsam optimize edilmemiş (çoğunlukla ELKI kullanıyorum).
QUIT - Anony-Mousse


4

ELKI (ayrıca GitHub'da ) veri madenciliği ve veri bilimi açık kaynak projesidir. Modüler mimarisi açısından benzersizdir: Hızlanma için algoritmaları, mesafe işlevlerini ve dizinleri çok az sınırlama ile birleştirebilirsiniz (elbette, mesafeleri kullanmayan algoritmalar mesafelerle birleştirilemez). Verimlilik nedeniyle en kolay kod değildir. Veri madenciliği için, bellek konusunda dikkatli olmanız gerekir - ArrayList<Integer>ölçeklenebilirlik istiyorsanız kullanmak hiç de kolay değildir.

Modüler mimari nedeniyle, tek mesafe fonksiyonu veya algoritma gibi sadece küçük modüllere katkıda bulunmak kolaydır.

Kabaca zorluklara göre gruplandırılmış veri madenciliği proje fikirlerinin bir listesini tutarız . Çoğu proje bir algoritmanın bazı varyantlarının uygulanmasıdır. ELKI, algoritmaların karşılaştırmalı çalışmalarına izin vermeyi amaçlamaktadır, bu nedenle herhangi bir kombinasyona izin vermeye çalışıyoruz ve ayrıca algoritma varyantlarını da kapsıyoruz. Örneğin k-araçlarında, sadece Lloyds algoritmasına değil, genel k-araç temasının 10 çeşidine sahibiz. 220'den fazla makale ELKI'de (en azından kısmen) yeniden uygulanmıştır.

Her şeyi aynı araçta uygulayarak çok daha karşılaştırılabilir sonuçlar elde ederiz. Kıyaslama için R kullanırsanız, genellikle elma ve portakalları karşılaştırırsınız. R'nin içindeki k-araçları aslında eski bir Fortran programıdır ve çok hızlıdır. k-R 'de, ancak "flexclust" paketinde 100x daha yavaştır, çünkü gerçek R kodunda yazılmıştır. Bu yüzden R ... 'de bir kıyaslamaya güvenmeyin, R modülleri uyumsuz olma eğilimindedir, bu nedenle ELKI'de B modülünden B algoritması ile A modüllerinden A mesafesini sık sık kullanamazsınız. bu tür eserleri azaltmak için uygulamalarda mümkün (elbette,% 100 adil bir kıyaslamaya sahip olmak asla mümkün olmayacaktır - her zaman optimizasyon için yer vardır), aynı zamanda modüllerin kolayca birleştirilmesine izin vermek.

Hartigan & Wong k-araç varyantı gibi küçük bir şeyle başlayabilir ve daha sonra küresel k-araçlara (farklı performans optimizasyonlarının gerekli olabileceği seyrek veriler içindir) devam edebilir ve kategorik veriler için daha iyi destek eklemeye devam edebilirsiniz; veya indeksleme işlevselliği ekleme.

Ayrıca ELKI için daha iyi bir kullanıcı arayüzü görmek isterim , ancak bu büyük bir çaba.


4

Platformlar arası görsel programlama araçlarını seviyorsanız, Turuncu bir seçenektir. Kısa bir süre önce Python 3'e taşındıktan sonra, henüz tüm widget'ları taşımadılar. PyData yığınını (NumPy, SciPy, SciKit Learn, ...) Python 3, PyQt, PyQtGraph'a getiriyor ve GitHub'da GPL'd .

Turuncu ekran gösterisi

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.