過去数年で、Pythonとscikit-learnがデータサイエンスのある種のゴールドスタンダードであると聞いたことがあります。
C ++で書かれたライブラリである機械学習の分野での代替開発の可能性についてお話ししたいと思います。
TMVA( ROOTを使用した多変量データ分析用ツールキット)は、 ROOT Big Data Analysisパッケージに追加される機械学習アルゴリズムのオープンソースライブラリであり、それに応じてインストールされます。 インストールの詳細はマニュアルに記載されているため、この点については考慮しません。
最近まで、 TMVAはプロジェクトのメインサイトと見なされていましたが、 見てわかるように、 TMVAには長い間更新がありませんでした。 これは懐疑論やパニックの理由ではありません。 現在、 Cern開発者の新しいチームが開発に従事しています。
CERN (欧州原子力研究機関)は、 大量のデータを分析するためのソフトウェアを作成する先駆者でした。 オブジェクト指向ライブラリROOTが開発されたのは、物理学の世界だけでなくアプリケーションが見つかったためです 。
ROOTでは、データは非常に経済的な * .root 形式で保存されますが、任意のテキスト形式で作業できます。 簡単にするために、TMVAで作業するときは通常のテキスト形式csv / txtを使用します。
残念ながら、現時点では、TMVAは教師トレーニングアルゴリズムのみを使用しています。
そこで、すでにROOTがインストールされており、2つのテキストファイルがあることを想像してみましょう。「良い」ものと分類する(または予測のための回帰を作成する)必要のあるものです。 これらの2つのファイルを入力としてファイリングするには、ファイルヘッダーを必要な形式にする必要があります。
id / F:Param1 / I:Param2 / I:Param3 / F
典型的な入力テキストファイル形式の例id / F:Param1 / I:Param2 / I:Param3 / F
2,59,1,0
3.85,0.44
4.39.0.78
...
TMVAには2つのデータ型があります:FloatおよびInteger(Readerではfloatのみ)
デフォルトでは、変数の区切りとしてカンマがあります。
ユーザーガイドでアルゴリズムのリストを表示できます。
コードに移りましょう。
#include "TMVA/Types.h" #include "TMVA/Factory.h" #include "TMVA/Tools.h" using std::cout;
ターミナル「root Model_BDT.C」からコマンドを使用してマクロを実行できます。
すべてがカウントされた後、「TBrowser b;」コマンドを使用してコンソールでROOTブラウザを開くことができます 多くのかわいいグラフィックをお楽しみください。
次の記事では、結果モデルを他のデータに適用し、特定のカットオフスコアで高速化された配列をアンロードできるReaderモデルの作成方法について説明します。