ランダム フォレスト分類アルゴリズムを使用して Iris データ分類をトレーニングするとどうなるでしょうか?

ランダム フォレスト分類アルゴリズムを使用して Iris データ分類をトレーニングするとどうなるでしょうか?

[[205745]]

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)

***メモリはMB単位で、値が大きいほど一度に処理されるノードの数が多くなります。デフォルト値は256です。

  • キャッシュノードID

ノード ID をキャッシュするかどうか。キャッシュにより、ディープ ツリーのトレーニングが高速化されます。デフォルト値は False です。

  • チェックポイント間隔

チェックポイント間隔は、固化が実行される回数であり、デフォルト値は 10 です。

  • 不純物

ランダムフォレストには、エントロピー、ジニ、分散の 3 種類があります。回帰は間違いなく分散であり、デフォルト値はジニです。

  • シード

サンプリング シード。シードが変更されない場合、サンプリング結果も変更されません。デフォルト値は None です。

  • 機能サブセット戦略

auto: デフォルトのパラメータ。各ツリーに使用するデータの数をアルゴリズムが自動的に決定します。

使用されるパラメータを下図に示します。

(6)訓練モデルのスコアリング

正解率は97%に達したことがわかる。

(7)次回の使用に備えてトレーニングしたモデルをHDFSに保存する

これは非常に実用的です。モデルが比較的大きい場合、HDFS の分散構造を使用して読み込みパフォーマンスを向上させることができます。

(8)HDFSに保存したモデルをロードする

(9)ロードしたモデルの予測を行う

予測列は予測された結果です。

上記は、機械学習に FEA-spk テクノロジを使用する手順です。これは、大規模なデータのデータ分析と処理に非常に適しています。シンプルで強力、そして視覚的です。Java や Python を知らなくても Spark を使用できます。

<<:  Java データ構造とアルゴリズム分析 (VIII) - スプレー ツリー

>>:  最も人気のある 12 の AI ツール、ライブラリ、プラットフォーム

ブログ    
ブログ    
ブログ    
ブログ    

推薦する

...

大根畑の問題を解決する C# アルゴリズム

ニンジン畑問題を解決するための C# アルゴリズムは何ですか?まずトピックを見てみましょう:仕事へ向...

AIはもはや派手なものではなく、日常生活にもっと関連している

2020年に入り、業界におけるAIの発展は単なる技術革新やブレークスルーの範囲を超え、製品と業界の統...

チップ大手は、写真を撮ることよりも面白くないこれらの新しいAI技術を秘密裏に開発している

この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載...

...

ロボットの設計は「赤ちゃん」から始めるべきでしょうか?

人工知能は大きな進歩を遂げているようだ。自動運転車、自動翻訳システム、音声・テキスト分析、画像処理、...

人工知能の市場推進要因、制約、機会

今日、ますます多くの企業が、事業運営に人工知能技術を活用しています。このテクノロジーは非常に建設的で...

...

PyTorchに負けました! GoogleはTensorFlowを放棄し、JAXに賭ける

私はネットユーザーの一部が言ったことにとても満足しています。 「この子は本当にダメだ、もう一匹産もう...

ロボットが2000万の仕事に取って代わる:最大の懸念は30代なのに何も知らないこと

[[269741]] 01 数日前、あるニュースが私の周りの多くの人々に反省と心配を抱かせました。 ...

自社開発のAIチップのトレンドが始まっており、テクノロジー依存からの脱却は始まりに過ぎない

大規模な AI モデルへの熱狂に後押しされ、AI チップの分野ではついに百家争鳴の時代が到来しました...

グラフィカルな説明 | RSAアルゴリズムとは

[[339878]]この記事はWeChatパブリックアカウント「Backend Technology...

...

...