MLlib は、機械学習のエンジニアリング実践を簡素化し、大規模への拡張を容易にすることを目的としています。 MLlib は、分類、回帰、クラスタリング、協調フィルタリング、次元削減などの一般的な学習アルゴリズムとツール、および低レベルの最適化プリミティブと高レベルのパイプライン API で構成されています。 MLllib は現在 2 つのコード パッケージに分かれています。spark.mllib には、RDD に基づくオリジナルのアルゴリズム API が含まれています。 spark.ml は、機械学習パイプラインの構築に使用できる DataFrames に基づく高レベル API を提供します。FEA-spk テクノロジーの機械学習は、spark.ml パッケージに基づいています。 spark.ml パッケージは DataFrame に基づいており、将来的には Spark 機械学習のメイン API になります。分散クラスター上で大規模な機械学習モデルのトレーニングを実行し、データを視覚化できます。 1. ランダムフォレスト分類アルゴリズムの紹介 名前が示すように、ランダム フォレストはランダムな方法でフォレストを構築します。フォレストは多数の決定木で構成され、ランダム フォレスト内の各決定木の間には相関関係はありません。フォレストを取得した後、新しい入力サンプルが入力されると、フォレスト内の各決定木は、サンプルがどのカテゴリに属するべきかを判断し(分類アルゴリズムに対応)、どのカテゴリが最も多く選択されているかを確認し、サンプルがそのカテゴリに属することを予測します。 Spark MLlib ランダム フォレスト アルゴリズムの使用には欠陥があり、改善が必要です。 具体的には、Spark MLlib を使用してモデルをトレーニングするには、列をベクトルに集約するなど、多くのデータ変換が必要になります。非常に面倒で、データを視覚化することができません。 FEA-spk テクノロジーはこれらの問題をうまく解決できます。モデルのトレーニングには 1 つのコマンドのみが必要で、結果のデータを視覚化できます。 2. アイリスデータ分類トレーニングケース 以下は、ランダム フォレスト分類アルゴリズムを使用して Iris データを分類する例です。 1. データの準備 元のデータと対応する手順は、https://pan.baidu.com/s/1c2d0hpA からダウンロードできます。 これを基にヘッダー情報を追加しました。 ここで、ダウンロードしたデータは読み取り用に HDF 上に置かれます。 2. Irisデータを使ったトレーニングの具体的な手順 (1)FEA-spkテクノロジーを使用するには、まずspk接続を作成する必要があり、すべての操作はそれをコンテキストとして実行されます。 feaインターフェースで次のコマンドを実行します (2)データをロードします。データはHDFSにあります。データ形式はcsvファイルで、ディレクトリは/data/iris_data.txtです。 (3)ML_siメソッドを使って文字ラベルをインデックスに変換する (4) 特徴列をdouble型に変換します。spark.mlはdouble型のみをサポートしているため、ML_doubleメソッドを使用します。 (5)ランダムフォレストモデルを用いたトレーニング RandomForest モデルをトレーニングするときは、いくつかのパラメータを設定する必要があります。
***ボックスの数。統計変数を近似するために、たとえば、変数に 100 個の値がある場合、統計目的で 10 個のセグメントにのみ分割します。デフォルト値は 32 です。
フォレスト内の木の数。デフォルト値は 20 です。
ノードあたりのインスタンスの最小数。デフォルト値は 1 です。
最小情報ゲイン、デフォルト値は 0.0。
***ツリーの深さ、デフォルト値は 5 です。
***メモリはMB単位で、値が大きいほど一度に処理されるノードの数が多くなります。デフォルト値は256です。
ノード ID をキャッシュするかどうか。キャッシュにより、ディープ ツリーのトレーニングが高速化されます。デフォルト値は False です。
チェックポイント間隔は、固化が実行される回数であり、デフォルト値は 10 です。
ランダムフォレストには、エントロピー、ジニ、分散の 3 種類があります。回帰は間違いなく分散であり、デフォルト値はジニです。
サンプリング シード。シードが変更されない場合、サンプリング結果も変更されません。デフォルト値は None です。
auto: デフォルトのパラメータ。各ツリーに使用するデータの数をアルゴリズムが自動的に決定します。 使用されるパラメータを下図に示します。 (6)訓練モデルのスコアリング 正解率は97%に達したことがわかる。 (7)次回の使用に備えてトレーニングしたモデルをHDFSに保存する これは非常に実用的です。モデルが比較的大きい場合、HDFS の分散構造を使用して読み込みパフォーマンスを向上させることができます。 (8)HDFSに保存したモデルをロードする (9)ロードしたモデルの予測を行う 予測列は予測された結果です。 上記は、機械学習に FEA-spk テクノロジを使用する手順です。これは、大規模なデータのデータ分析と処理に非常に適しています。シンプルで強力、そして視覚的です。Java や Python を知らなくても Spark を使用できます。 |
<<: Java データ構造とアルゴリズム分析 (VIII) - スプレー ツリー
>>: 最も人気のある 12 の AI ツール、ライブラリ、プラットフォーム
ロボット業界ではここ1か月間、大きなニュースが数多くあり、大きな注目を集めています。テンセントが率い...
この時代において、プライバシーは長い間誤った主張となってきました。プライバシー保護をある程度回復する...
この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載...
編集者注: 人工知能と人間の仕事は、今日多くの人が話題にしているトピックであり、議論の焦点は主に、人...
ビッグデータダイジェスト制作著者: カレブスマート農場はますます私たちの身近なものになってきています...
9月21日、Microsoft GitHubは今年7月にエンタープライズユーザー向けにAIコードアシ...
[51CTO.comより] NetEase Cloud Musicは音楽愛好家が集まる場所です。C...
この記事の著者である Sebastian Ruder は、自然言語処理にディープラーニングを使用する...
2023 年末までに AI 生成にどれだけのエネルギーが必要になるかについての予測は不正確です。たと...
この記事は、Heart of Autonomous Driving の公開アカウントから許可を得て転...
大規模言語モデル (LLM) の機能を最大限に活用するには、効果的なプロンプト設計ソリューションが不...
今日は、クラウド コンピューティング、ビッグ データ、人工知能の 3 つのトピックについてお話しした...
この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載...
近年、電子商取引業界の急速な発展により、物流業界、特に物流倉庫に対する要求は徐々に高まっています。人...