AutoMLの探索:利用可能なトップツール[知っておくべきこと]

公開: 2020-12-07

機械学習のライフサイクルは、データ収集、データクリーニング、特徴エンジニアリング、特徴選択、モデル構築、ハイパーパラメーターチューニング、検証、モデル展開を含む一連のプロセスです。

データの収集には、手動調査、データ入力、Webスクレイピング、実験中に生成されたデータなど、さまざまな形式がありますが、データクリーニングでは、データがライフサイクルの他の段階で使用できる標準形式に変換されます。 。

最近の機械学習の急増により、多くの企業が主流の製品にAIベースのソリューションを採用することも歓迎されているため、AutoMLの新しい章が市場に登場しました。 AIベースのソリューションをすばやくセットアップするための優れたツールになる可能性がありますが、対処する必要のあるいくつかの懸念事項がまだあります。

目次

AutoMLとは何ですか?

機械学習の一部を自動化するツールのセットであり、それ自体が予測と分類を生成して実用的な結果をもたらす自動化されたプロセスです。 自動化できるのは特徴エンジニアリング、モデル構築、場合によっては展開段階のみですが、ほとんどのAutoMLツールは、複数の機械学習アルゴリズムとほぼ同じ数の評価指標をサポートしています。

このような種類のツールを起動すると、すべてのアルゴリズムで同じデータセットが実行され、問題に関連するさまざまなメトリックがテストされてから、詳細なレポートカードが表示されます。 市場で入手可能で、広く使用されているいくつかの有名なツールを調べてみましょう。

H2O.ai

AutoMLの主要なソリューションの1つは、H2O.aiです。これは、ゼロから何もコーディングしないビジネス上の問題に対して、業界ですぐに使用できるソリューションを提供します。 これにより、機械学習の専門知識がなくても、あらゆるドメインの誰もがデータから意味のある洞察を抽出できます。

H2Oは、広く使用されているすべての機械学習モデルと統計的アプローチをサポートするオープンソースです。 データがクラスター全体に分散され、列形式でメモリに格納されるため、超高速のソリューションを提供するように構築されており、並列読み取り操作が可能になります。

このプロジェクトの新しいバージョンもGPUをサポートしているため、より高速で効率的です。 Pythonを使用してこれを実行する方法を見てみましょう(理解を深めるために、jupyterノートブックでコードを実行してください)。

!pip install h2o#インストールしていない場合はこれを実行します

h2oをインポートする

h2o.init()

h2o.automlからインポートH2OAutoML

df = h2o.import_file()#ここにファイルパスを指定します

y ='target_label'

x = df.remove(y)

X_train、X_test、X_validate = df.split_frame(ratios = [。7、.15])

model_obj = H2OAutoML(max_models = 10、seed = 10、verbosity =” info”、nfolds = 0)

model_obj.train(x = x、y = y、training_frame = X_train、validation_frame = X_validate)

結果=model_obj.leaderboard

これにより、問題に応じてそれぞれのメトリックを表示するすべてのアルゴリズムの結果が保存されます。

読む:機械学習ツール

ピカレ

これは、今年リリースされたかなり新しいライブラリであり、わずか数行のコードで幅広いAutoML機能をサポートします。 欠落値の処理、カテゴリデータのモデルフィード可能形式への変換、ハイパーパラメータチューニング、さらには特徴エンジニアリングなど、PyCaretは、データ操作戦略にさらに集中できるようになると、これらすべてを舞台裏で自動化します。

これは、NumPy、pandas、sklearn、XGBoostなどの利用可能なすべての機械学習ツールとライブラリのPythonラッパーです。Pycaretを使用して分類問題を実行する方法を理解しましょう。

!pip install pycaret#インストールしていない場合はこれを実行します

pycaret.datasetsからget_dataをインポートします

pycaret.classificationからインポート*

df = get_data('糖尿病')

設定=setup(糖尿病、ターゲット='クラス変数')

compare_models()#この関数は、すべてのアルゴリズムの比較を表示するだけです。

selected_model = create_model()#作成するアルゴリズムの名前を渡します

予測モデル(selected_model)

final_model = finalize_model(selected_model)

save_model(final_model、'file_name')

ロードされた=load_model('file_name')

これで、特徴エンジニアリングを実行し、モデルをトレーニングして保存する変換パイプラインを作成しました。

Google DataPrep

機能の選択、モデルの構築、および最適な結果を得るための調整を自動化する2つのライブラリを検討しましたが、データクリーニングを自動化する方法については説明していません。 このプロセスは確実に自動化できますが、正しいデータが渡されたかどうか、または値に意味があるかどうかを手動で確認する必要があります。

より多くのデータはモデル構築のプラスポイントですが、高品質の結果を得るには高品質のデータである必要があります。 Google DataPrepは、データの視覚的なデータクリーニングを可能にするサービスとしてのプラットフォームとして提供されるインテリジェントなデータ準備ツールです。つまり、1行もコーディングせずに、オプションを選択するだけでデータを変更できます。

インタラクティブなGUIを提供し、適用したい機能を実行するためのオプションを非常に簡単に選択できるようにします。 このツールの最も優れている点は、データセットに対して行われたすべての変更が、実行された順序でサイドパネルに表示され、任意のステップを変更できることです。 変更を追跡するのに役立ちます。 ほとんど正しい提案が表示されます。

結果のファイルはローカルストレージにエクスポートできます。または、このサービスはGoogle Cloud Platformで提供されるため、このファイルを任意のGoogleストレージバケットまたはBigQueryテーブルに直接移動して、クエリエディターで直接機械学習タスクを実行できます。 これに対する主な後退は、その経常費用である可能性があり、オープンソースプロジェクトではなく、本格的な業界ソリューションです。

これはデータサイエンティストに取って代わることができますか?

絶対違う! AutoMLは優れており、データサイエンティストが特定のライフサイクルをスピードアップするのに役立ちますが、専門家のアドバイスが常に必要です。 たとえば、問題に最適な特定のアルゴリズムで実行する専門家よりも、すべてのアルゴリズムを実行するAutoMLから特定の問題ステートメントの適切なモデルを取得するには多くの時間がかかります。

データサイエンティストは、これらのタイプの自動化の結果を検証してから、ビジネスに実行可能なソリューションを提供する必要があります。 ドメインの専門家は、データから洞察を引き出す経験があまりない可能性があるため、この自動化が非常に役立つと思いますが、これらのツールは最良の方法でガイドします。

機械学習を習得し、チックタックトーをプレイするエージェントのトレーニング方法やチャットボットのトレーニング方法などを学びたい場合は、upGradの機械学習と人工知能のPGディプロマコースをご覧ください。

AI主導の技術革命をリードする

IIT MADRAS&UPGRADからの機械学習とクラウドの高度な認証
もっと詳しく知る