貢献するオープンソースのデータサイエンスプロジェクト


15

通常、オープンソースプロジェクトへの貢献は、初心者向けの練習を行い、経験豊富なデータサイエンティストやアナリスト向けの新しい分野を試す良い方法です。

どのプロジェクトに貢献しますか?Githubでイントロ+リンクを提供してください。


2
ELKIを確認してください(github、Javaで。Wikipediaも参照してください)。クラスタリングと異常検出のための最も完全なプロジェクトであるため、これを頻繁に使用します。通常、Rよりもはるかに高速です。
QUITあり--Anony-Mousse

回答:


15

ジュリアプロジェクトは、私は積極的に高度なコンピューティングおよびXGBoostライブラリを含む、に貢献するものです。だから、私は間違いなく、それがメンテナンスであり、コミュニティの質であることを保証できます。

初心者でも貢献できる、本当に優れたオープンソースデータサイエンスプロジェクトは次のとおりです。

  • Sklearn:常に速いペースで開発しているため、sklearnコミュニティは常に新しい開発者と貢献者に開かれています。
  • H2O:H2Oは、スケーラブルな機械学習と深層学習ソリューションに取り組んでいる、もう1つの急速に成長しているデータサイエンスプロジェクトです。
  • Go:オープンソースのデータサイエンスロードマップとリソース。本当は技術的なプロジェクトではありませんが、絶対的な初心者や意欲的なアナリストにとって非常に役立ちます。
  • Pylearn2:急成長中のもう1つの機械学習および深層学習プロジェクト。
  • Vowpal Wabbit:Vowpal Wabbit(VW)プロジェクトは、Microsoft Researchおよび(以前は)Yahoo!がスポンサーとなっている高速なコア外学習システムです。研究。

このようなプロジェクトに関するQuoraのディスカッションと、この回答で言及されていないものがあります。

PythonでのオープンソースのデータサイエンスおよびMLプロジェクトに関するもう1つの素晴らしい議論です。


2
私は確認します-sklearnにコミットするのは非常に簡単で、プルリクエストを開くだけです。
アレクセイ・グリゴレフ

Pylearn2はもうアクティブではありません。ケラス、ラザニア、ブロックは貢献のためのより良いオプションです。
シャシャンクグプタ16

6

それらの多くが利用可能です。これを行うことが許可されているかどうかはわかりませんが(間違っているかどうかを教えてください)、私はそれを開発し、すでにgitハブで2年以上経過しています(実際にはgithubの1年前に開始されました)。このプロジェクトはrapaioと呼ばれ、ここの gitハブにあります。最近、そのためのマニュアルを書き始めました(私の友人の何人かがそれについて私に尋ねました)。マニュアルはこちらにあります

Java 8での開発を希望する場合、ツールを実行する場合、および実験する場合は、ニーズに適合します。私が実施する原則は2つだけです。最初のものはあなたがそれを必要とするときだけ何かを書くことです。それは、ツールが必要なときだけ、出力、パフォーマンス、情報の面であなたが本当に欲しいものを知っていると強く信じているからです。2番目の原則は、jdkのみに依存することです何か必要な場合は、それを記述します。私は古臭いことに同意することができますが、この方法で目的に合わせて機能を調整できます。

もう一度質問者としてそれを行うことが許可されていない場合は、お知らせください。しかし、それはオープンソースのイニシアチブであるため、利益のないタイプのプロジェクトを持つ人々に何かを返すことは、私がそれをできなかった理由ではないと思います。


2
+1誰かが貢献するのは素晴らしいプロジェクトだと思う。共有していただきありがとうございます。少なくとも、それは無関係だとは思わない:)
Dawny33

1
他の多くの同様のプロジェクトの1つにあなたの努力を参加させることを検討しましたか?ELKI、Weka、JSAT、Smile、Hubminer、と言ってください。簡単に見てみると、私にとっては非常に高価に見えるいくつかの構造を見ました(おそらくRほど悪くはないでしょうが)。
QUITがあります--Anony-Mousse

私の目標は、プログラマーに優しいツールセットを用意することでした。パフォーマンスは目標ではありませんでした。しかし、私はそれを再評価し始めました。他のプロジェクトに関して:法的問題のため、私は配布物にコミットすることはできず、ある種のオープンソースライセンスを持つプロジェクトにのみ貢献できます。とにかく、見てくれてありがとう、あなたが言及したコンストラクトに関する詳細を教えていただければ幸いです。あなたの時間は限られていると思うし、完全な議論をあえてするつもりはない
-rapaio

1
ELKIはAGPL-3です。配布されていませんが、高い「ローカル」パフォーマンスのための低レベルの最適化がいくつかあります(Java 8はまだありません)。JSAT、Smile、Hubminer-これらはすべてオープンソースであり、おそらくほとんどがApacheであり、配布されておらず、誤解しない限り最適化されていません(主にELKIを使用しています)。
QUITがあります--Anony-Mousse


4

ELKIGitHubにもあります)は、データマイニングおよびデータサイエンスのオープンソースプロジェクトです。モジュラーアーキテクチャに関してはユニークです:アルゴリズム、距離関数、およびインデックスを組み合わせて非常に少ない制限で加速できます(もちろん、距離を使用しないアルゴリズムは距離と組み合わせることができません)。効率性のため、最も簡単なコードではありません。データマイニングの場合、メモリに注意する必要がありArrayList<Integer>ます。スケーラビリティが必要な場合は、使用するのは不要です。

モジュラーアーキテクチャのため、単一の距離関数またはアルゴリズムのように、小さなモジュールのみを簡単に提供できます。

データマイニングプロジェクトのアイデアのリストを、大まかに難易度別にグループ化して保持しています。ほとんどのプロジェクトは、アルゴリズムのバリアントの実装です。ELKIはアルゴリズムの比較研究を可能にすることを目的としているため、あらゆる組み合わせを可能にし、アルゴリズムのバリエーションもカバーするようにします。たとえば、k-meansには、ロイズアルゴリズムだけでなく、一般的なk-meansテーマの10種類があります。ELKIでは、220以上の記事が(少なくとも部分的に)再実装されています。

同じツールですべてを実装することにより、はるかに匹敵する結果が得られます。ベンチマークにRを使用する場合、通常はリンゴとオレンジを比較します。R自体のk-meansは、実際には古いFortranプログラムであり、非常に高速です。Rではk-meansですが、「flexclust」パッケージでは、実際のRコードで記述されているため、100倍遅くなります。したがって、Rのベンチマークを信頼しないでください。また、Rモジュールは互換性がない傾向があるため、モジュールAからの距離AとモジュールBからのアルゴリズムBを使用できないことがよくあります。ELKIでは、できるだけ多くのコードを共有しようとします実装全体でこのようなアーティファクトを減らすことができます(もちろん、100%の公正なベンチマークを持つことは決してできません-常に最適化の余地があります)だけでなく、モジュールを簡単に組み合わせることができます。

Hartigan&Wong k-meansバリアントなどの小さなものから始めてから、球状k-means(異なるパフォーマンスの最適化が必要になる可能性のあるスパースデータを対象としています)に進み、カテゴリーデータのより良いサポートを追加し続けます。またはインデックス機能を追加します。

ELKIのUIを改善したいのですが、それは大きな努力です。


4

クロスプラットフォームのビジュアルプログラミングツールが好きな人は、オレンジがオプションです。最近Python 3に移行しましたが、まだすべてのウィジェットが移植されていません。PyDataスタック(NumPy、SciPy、SciKit Learnなど)をPython 3、PyQt、PyQtGraphにもたらし、GitHubで GPLされています

オレンジのスクリーンショー

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.