回答:
ジュリアプロジェクトは、私は積極的に高度なコンピューティングおよびXGBoostライブラリを含む、に貢献するものです。だから、私は間違いなく、それがメンテナンスであり、コミュニティの質であることを保証できます。
初心者でも貢献できる、本当に優れたオープンソースデータサイエンスプロジェクトは次のとおりです。
このようなプロジェクトに関するQuoraのディスカッションと、この回答で言及されていないものがあります。
それらの多くが利用可能です。これを行うことが許可されているかどうかはわかりませんが(間違っているかどうかを教えてください)、私はそれを開発し、すでにgitハブで2年以上経過しています(実際にはgithubの1年前に開始されました)。このプロジェクトはrapaioと呼ばれ、ここの gitハブにあります。最近、そのためのマニュアルを書き始めました(私の友人の何人かがそれについて私に尋ねました)。マニュアルはこちらにあります。
Java 8での開発を希望する場合、ツールを実行する場合、および実験する場合は、ニーズに適合します。私が実施する原則は2つだけです。最初のものはあなたがそれを必要とするときだけ何かを書くことです。それは、ツールが必要なときだけ、出力、パフォーマンス、情報の面であなたが本当に欲しいものを知っていると強く信じているからです。2番目の原則は、jdkのみに依存することです。何か必要な場合は、それを記述します。私は古臭いことに同意することができますが、この方法で目的に合わせて機能を調整できます。
もう一度質問者としてそれを行うことが許可されていない場合は、お知らせください。しかし、それはオープンソースのイニシアチブであるため、利益のないタイプのプロジェクトを持つ人々に何かを返すことは、私がそれをできなかった理由ではないと思います。
githubでこのプロジェクトをチェックしてください:https : //github.com/josephmisiti/awesome-machine-learning。言語ごとにグループ化されたオープンソースプロジェクトの包括的なリストと、簡単な説明が含まれています。ニーズに合ったものがいくつか見つかると思います。
ELKI(GitHubにもあります)は、データマイニングおよびデータサイエンスのオープンソースプロジェクトです。モジュラーアーキテクチャに関してはユニークです:アルゴリズム、距離関数、およびインデックスを組み合わせて非常に少ない制限で加速できます(もちろん、距離を使用しないアルゴリズムは距離と組み合わせることができません)。効率性のため、最も簡単なコードではありません。データマイニングの場合、メモリに注意する必要があり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を改善したいのですが、それは大きな努力です。