ランダム フォレスト分類アルゴリズムを使用して 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 ツール、ライブラリ、プラットフォーム

ブログ    
ブログ    

推薦する

...

2019 年の AI、セキュリティ、IT 運用、IoT に関する主な予測

次の技術変化が始まる前に、将来の発展の方向を予測・判断し、技術変化に伴う可能性のある困難を軽減する必...

2040枚の画像で訓練されたViTの精度は96.7%で、移行パフォーマンスも驚異的だ

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

人工知能は将来言語をどのように変えるのでしょうか?

人工知能 (AI) とは、人間の知的思考や行動の方法や技術をシミュレートすることで、コンピュータ シ...

チャットボット vs モバイルアプリ: 未来はどちらの手に?

[[272171]]チャットボットとモバイルアプリの戦いは、常に業界で最も議論されているトピックの...

チャットボットのテスト: フレームワーク、ツール、テクニックの詳細

【51CTO.com クイック翻訳】 [[425095]]ビジネス マーケティングの原動力と、顧客体...

専門家レベルの機械学習ツールの推奨事項。専門家と同じものを入手しましょう。

この記事は公開アカウント「Reading Core Technique」(ID: AI_Discov...

...

海底撈のIPOは1000億元規模:将来、厨房に必要なのはエンジニア2人だけ

[[245580]] 2018年9月26日、海底撈国際ホールディングス株式会社(06862.HK)が...

HiLM-D: 自動運転のためのマルチモーダル大規模言語モデル

この記事は、Heart of Autonomous Driving の公開アカウントから許可を得て転...

2021 年の自動化には何が期待できるでしょうか?

[[360650]]今後数か月以内に自動化によってビジネスニーズを満たすことができるでしょうか?今...

AIロボットが産業監視を強化

この機会に応えて、IBM と Boston Dynamics は協力して、IBM ソフトウェアと B...

AIとデータサイエンスの未来を形作る主要なトレンド

データ中心の機能と対象顧客への理解を備えた人工知能とデータサイエンスが世界を席巻しています。企業は、...

張北院士:人工知能の一般理論が形成されつつあり、AI革命の発展は止められない

7月6日に開催されたAscend人工知能産業サミットフォーラム2023において、中国科学院院士、清華...

2020年の人工知能における最大のイノベーション

2020 年は例年とは異なる年となり、コミュニティ全体が数多くの課題に直面しました。しかし、2020...