Datumbox Machine Learning Framework 0.6.0 が PlatoBlockchain Data Intelligence をリリースしました。垂直検索。あい。

Datumbox Machine Learning Framework 0.6.0をリリースしました

Datumbox Machine Learning Frameworkの新しいバージョンがリリースされました! 今すぐダウンロード githubの or Mavenセントラルリポジトリ.

なにが新しい?

の主な焦点 バージョン0.6.0 大規模なデータを処理するようにフレームワークを拡張し、コードアーキテクチャとパブリックAPIを改善し、データ解析を簡素化し、ドキュメントを強化して、許可ライセンスに移行します。

このバージョンの変更を詳しく見てみましょう:

  1. 大きなデータを処理する: 改善されたメモリ管理と新しい永続ストレージエンジンにより、フレームワークは数GBのサイズの大きなデータセットを処理できるようになりました。 のサポートを追加 マップDB データベースエンジンを使用すると、フレームワークはすべてのデータをメモリに保存する必要がなくなり、大きなデータを処理できます。 デフォルトのInMemoryエンジンは、パフォーマンスの問題のためにMongoDBエンジンが削除されている間、より効率的になるように再設計されています。
  2. 改善および簡素化されたフレームワークアーキテクチャ: 抽象化のレベルが大幅に低下し、いくつかのコアコンポーネントが再設計されました。 特に、永続ストレージメカニズムが書き直され、いくつかの不要な機能とデータ構造が削除されました。
  3. 新しい「Scikit-Learn-like」パブリックAPI: アルゴリズムのすべてのパブリックメソッドは、PythonのScikit-Learn API(フィット/予測/変換パラダイム)のように変更されています。 新しいパブリックメソッドは、より柔軟で使いやすく、使いやすくなっています。
  4. データ解析を簡素化: 新しいフレームワークには、CSVまたはテキストファイルの高速解析とそれらのデータセットオブジェクトへの変換を可能にする一連の便利なメソッドが付属しています。
  5. 改善されたドキュメント: フレームワークのすべてのパブリック/保護クラスおよびメソッドは、Javadocコメントを使用して文書化されています。 さらに、新しいバージョンでは、フレームワークのすべてのアルゴリズムを使用する方法の優れた例である、改良されたJUnitテストが提供されています。
  6. 新しいApacheライセンス: フレームワークのソフトウェアライセンスが「GNU一般公衆利用許諾契約書v3.0"へ"Apacheライセンス、バージョン2.0「 新しいライセンスは寛容であり、商用ソフトウェア内での再配布を許可します。

フレームワークの大部分は、より効率的で使いやすいように書き直されたため、バージョン0.6.0は 下位互換性はありません フレームワークの以前のバージョン。 最後に、フレームワークはアルファからベータ開発フェーズに移行し、より安定していると見なされます。

それを使用する方法

以前のブログ投稿では、 詳細なインストールガイド フレームワークのインストール方法について。 このガイドは新しいバージョンでも引き続き有効です。 さらに、この新しいバージョンでは、いくつかを見つけることができます コード例 フレームワークのモデルとアルゴリズムの使い方について。

次のステップとロードマップ

フレームワークの開発は継続され、バージョン1.0のリリース前に次の拡張が行われる必要があります。

  1. Us コンソールからのフレームワーク: フレームワークの主なターゲットは機械学習アプリケーションの開発を支援することですが、Java以外の開発者からの使用を容易にする必要があります。 Mahoutと同様のアプローチに従って、フレームワークはコンソールコマンドを使用してアルゴリズムへのアクセスを提供する必要があります。 インターフェイスはシンプルで使いやすく、さまざまなアルゴリズムを簡単に組み合わせる必要があります。
  2. マルチスレッドをサポート: フレームワークは現在、クリーンアッププロセスとディスクへの非同期書き込みにのみスレッドを使用しています。 それでも、一部のアルゴリズムは並列化でき、これにより実行時間が大幅に短縮されます。 これらの場合のソリューションは洗練されている必要があり、機械学習アルゴリズムの内部ロジック/数学をできるだけ変更しないでください。
  3. 2D配列と行列の使用を減らします。 少数のアルゴリズムは依然として2次元配列と行列を使用します。 これにより、すべてのデータがメモリに読み込まれ、使用できるデータセットのサイズが制限されます。 一部のアルゴリズム(PCAなど)は、行列の使用を回避するために再実装する必要がありますが、他のアルゴリズム(GaussianDPMM、MultinomialDPMMなど)では、疎行列を使用する必要があります。

今後のバージョンで実行する必要があるその他の重要なタスク:

  1. 新しい機械学習アルゴリズムを含める: フレームワークを拡張して、混合ガウシアン、ガウシアンプロセス、k-NN、ディシジョンツリー、因子分析、SVD、PLSI、人工ニューラルネットワークなどのいくつかの優れたアルゴリズムをサポートできます。
  2. ドキュメントの改善、 テストカバレッジ &コード例: より良いドキュメントを作成し、JUnitテストを改善し、コードのコメントを強化し、アルゴリズムの使用方法に関するより良い例を提供します。
  3. アーキテクチャを改善する &コードの最適化: フレームワークのアーキテクチャのさらなる簡素化と改善、抽象化の合理化、設計の改善、速度とメモリ消費の最適化など。

ご覧のとおり、それは長い道のりです。 あなたが挑戦しているなら 私の行を削除 または、githubでプルリクエストを送信します。

謝辞

感謝したい エレフテリオス・バンパレタキス フレームワークのアーキテクチャを改善するための彼の貴重なインプットを評価してください。 また感謝したいです ej-technologies GmbH Javaプロファイラのライセンスを提供してくれてありがとう。 さらに私の称賛 ヤン・コテック MapDBストレージエンジンでの彼の素晴らしい業績に感謝します。 最後に大事なことを言い忘れましたが、私の彼女を我慢してくれたガールフレンドのキリアキへの愛情。

からDatumbox v0.6.0のコードをダウンロードすることを忘れないでください githubの。 ライブラリは以下からも利用できます Mavenセントラルリポジトリ。 Javaプロジェクトでライブラリを使用する方法の詳細については、以下をチェックアウトしてください。 ガイド または、Githubリポジトリのメインページの説明を読んでください。

私はあなたのコメントと推薦を楽しみにしています。 プルリクエストはいつでも大歓迎です! 🙂

タイムスタンプ:

より多くの データムボックス