Datumbox Machine Learning Frameworkは、Javaで書かれたオープンソースフレームワークであり、迅速な開発機械学習と統計アプリケーションを可能にします。フレームワークの主な焦点は、多数の機械学習アルゴリズムと統計的方法を含め、大規模なサイズのデータセットを処理できることです。
Copyright(c)2013-2020 Vasilis Vryniotis。
このコードは、Apacheライセンスバージョン2.0に基づいてライセンスされています。
Datumboxフレームワークは、Maven Central Repositoryで入手できます。
フレームワークの最新の安定したバージョンは0.8.2(ビルド20200805)です。それを使用するには、pom.xmlに次のスニペットを追加します。
<dependency>
<groupId>com.datumbox</groupId>
<artifactId>datumbox-framework-lib</artifactId>
<version>0.8.2</version>
</dependency>
フレームワークの最新のスナップショットバージョンは0.8.3-SNAPSHOT(Build 20201014)です。テストするには、次のようにpom.xmlを更新します。
<repository>
<id>sonatype-snapshots</id>
<name>sonatype snapshots repo</name>
<url>https://oss.sonatype.org/content/repositories/snapshots</url>
</repository>
<dependency>
<groupId>com.datumbox</groupId>
<artifactId>datumbox-framework-lib</artifactId>
<version>0.8.3-SNAPSHOT</version>
</dependency>
開発ブランチは開発ブランチ(デフォルトのGitHubブランチ)であり、マスターブランチにはフレームワークの最新の安定したバージョンが含まれています。すべての安定したリリースには、タグが付いています。
フレームワークのリリースは、セマンティックバージョンのアプローチに従います。さまざまなリリースの詳細については、The Changelogをご覧ください。
フレームワークのすべてのパブリック方法とクラスは、Javadocのコメントで文書化されています。さらに、すべてのモデルで、モデルをトレーニングおよび使用する方法を明確に示すJunitテストがあります。最後に、フレームワークのチェックアウトコードの例または公式ブログを使用する方法については、その他の例について。
Datumboxには、センチメント分析(ドキュメントとTwitter)、主観性分析、トピック分類、スパム検出、成人コンテンツの検出、言語検出、商業検出、教育検出、性別検出を実行できる多数の事前訓練モデルが付属しています。バイナリモデルを取得するには、Datumbox Zooをご覧ください。
このフレームワークは現在、複数のパラメトリックおよびノンパラメトリック統計テストの実行、検閲および無修正データの記述統計の計算、ANOVA、クラスター分析、寸法削減、回帰分析、タイムリー分析、サンプリング、最も一般的なディスクリートと継続的な分布の実行を実行します。さらに、Maxエントロピー、ナイーブベイズ、SVM、ブートストラップ集約、アダボースト、Kmeans、階層プロセス混合モデル、ソフトマックス回帰、順序回帰、線形回帰、段階回帰、段階回帰、PCA、その他いくつかのテクニックを使用することができる他のテクニック、ラインアンドエンダーのプログラミング、エンデルデンルのプログラミング、エンセンダーのプログラミングを使用する、段階的回帰、段階的回帰、PCA、およびいくつかの技術を含むいくつかの実装されたアルゴリズムを提供します。
フレームワークの一部が商用アプリケーションで使用されているという事実にもかかわらず、すべてのクラスが等しく使用/テストされているわけではありません。現在、フレームワークはAlphaバージョンにあるため、将来のバージョンのPublic APIのいくつかの変更が期待されるはずです。バグを見つけた場合は、公式のGitHubリポジトリの問題として提出してください。
フレームワークは多くの方法で改善でき、その結果、貢献は歓迎されます。フレームワークから欠落している最も重要な機能は、コマンドラインやPythonなどの他の言語から使用できることです。その他の重要な拡張機能には、ドキュメントの改善、テストカバレッジ、例が含まれ、フレームワークのアーキテクチャの改善、より多くの機械学習と統計モデルのサポートが含まれます。コードに有用な変更を加えた場合は、プルリクエストを送信してコードを寄付することを検討してください。
フレームワークのアーキテクチャを改善するための彼の非常に貴重な入力について、Eleftherios Bampaletakisに感謝します。また、Javaプロファイラーにライセンスを提供してくれたEJ-Technologies GmbHと、Java IDEにライセンスを提供するジェットブレインに感謝します。