Home連絡先
Python
機械学習パイプライン概要
禿
禿
July 05, 2022
1 min

Table Of Contents

01
機械学習パイプライン
02
データ収集
03
データの前処理
04
探索的データ解析
05
モデルの選択
06
モデルをデプロイする
07
この全てを知らなければならないのでしょうか?
08
結論

機械学習パイプライン

機械学習の専門家は、仕事の一環として何をするのか、疑問に思うかもしれません。もちろん、プロジェクトが異なれば仕事も異なるが、非常に一般的なステップもある。このトピックでは、典型的な機械学習のタスクについてより良いアイデアを持つことができるように、それらを強調することを試みます。また、データサイエンティストになるために必要なことを理解するのにも役立つだろう。

データ収集

機械学習はデータなしには不可能である。新しい機械学習アルゴリズムを開発するとき、専門家は一般に公開されているデータセットを使って、あなたの手法をベンチマークし、既に開発されているものと比較することが多い。有名なUCIリポジトリや、最大のMLコンペティションプラットフォームであるKaggleでそれらを見つけることができます。

もしあなたが特定の問題に取り組んでいる場合、例えばコンサルタント業であれば、クライアント(例えばある企業)はあなたに解決して欲しい問題に関連するデータを既に提供していることがあります。そのデータは、例えばエクセルのスプレッドシートとして提供されることもあります。あるいは、データベースへのアクセス権が与えられ、そこからSQLクエリを使って必要なデータをすべて読み込むことができる場合もある。

しかし、タスクによっては、自分でデータを収集する必要がある場合もある。例えば、これまで誰も取り組んだことのない問題や特定のアプリケーションに取り組む場合です。データ収集には、ウェブスクレイピング(特定のウェブページの内容を自動的に抽出・解析すること)も含まれます。

ほとんどの場合、ラベルの付いていないデータを扱わなければならないことを心に留めておいてください。教師あり学習でデータを利用する場合は、まず手動でラベル付けをする必要があります。

データの前処理

入手可能なデータを使うにせよ、自分で収集するにせよ、最終的に得られるデータセットは非常に乱雑なものになる可能性があります。時には、欠落している値がたくさんあり、それを何とか埋めなければならないこともある。単純に値が間違っていることもある(誰かが表計算ソフトに入力するときにタイプミスをして、10.0ではなく100を挿入してしまったとする)。また、データが異なるソースから取得されていることもよくあります。この場合、フォーマットが異なる可能性があります(例えば、異なるファイルで使用されている測定単位、日付フォーマット、通貨など)。

そのため、一般的に機械学習プロジェクトの最初のステップは、データの前処理である。これには、異なるソースからのデータを結合したり、欠損値を処理したりすることが含まれる。正確な処理手順はデータ型によって異なる。例えば、テキストデータを扱う場合、トークン化とレムマット化を追加して、データを処理するための準備をする必要があるかもしれない。

探索的データ解析

データの準備ができたら、実際のモデリング作業を始める前に、データを詳しく見てみるのがよいでしょう。このステップは一般に探索的データ分析(EDA)と呼ばれます。通常、EDAではデータに対していくつかのプロットを作成し、基本的な統計量を計算します。

EDAは、データをよりよく理解し、前処理で気づかなかったデータの問題を特定するのに役立つ、重要なステップです。さらに、このステップでは、データとモデル化しようとする事象について、より多くの洞察を得ることができます。この段階で、データに関するいくつかの仮定を検証し、どのアプローチが問題に取り組むのに最適なのか、いくつかのアイデアを得ることができます。

モデルの選択

データについてよく理解できたので、いよいよモデリングに取り掛かります。これは典型的な反復プロセスです。まず、あなたが解決しようとしているタスクでうまくいくと思われるMLモデルを学習します。そして、そのモデルの性能を評価し、モデルが期待通りの性能を発揮しているか、間違いにパターンがないか、などを注意深く調べます。もしそうなら、それを修正する方法を工夫するのもよいでしょう。

その後、必要な調整を行い、新しいモデルを学習させ、そのパフォーマンスを分析し、完璧なファインチューニングモデルができるまで繰り返すとよいでしょう。モデルは、異なるデータパターンを一般化するために、異なる制約、重み、学習率を必要とします。したがって、モデル選択ステップの次の段階は、データ問題の最適解に到達するために、モデルに最適なパラメータを見つけることです。

モデルをデプロイする

たとえ世界で最も優れたMLモデルを作ったとしても,それをあなた以外の人が使うことができなければ,また得られた結果を再現できなければ,ほとんど意味がありません.

簡単に言うと,この最終段階では,あなたのコードがどのマシンでも実行できること,あなたの実装が頑健であること(つまり,予期せぬエラーを発生させないこと),効率的であること,うまくスケールすることを確認する必要があるのです.

作成したモデルを本番環境で利用できるようにするプロセスは、デプロイメントと呼ばれます。例えば、あなたが働いている会社は、あなたのMLソリューションを彼らが既に使っているソフトウェアに統合することに興味があるかもしれません。したがって、あなたのモデルが他のソフトウェアシステムに予測を提供できるようにデプロイする必要があります。

通常、構築されたモデルを本番環境に実装するのは機械学習エンジニアですが、小規模な企業では、MLソリューションの開発とデプロイの両方を担当することができます。

この全てを知らなければならないのでしょうか?

上記では、データサイエンティストの仕事における最も典型的なステップを説明しました。多くのことを知る必要があるように思えますが、そうではありません。

企業によっては(一般的には小規模な企業)、これらのタスクをすべて一人でこなすことを期待されている場合もあります。データの前処理を担当するデータエンジニア、モデリングを行う人、ソリューションを効率的に実装して展開する人など、役割が分散している企業もあります。

上記のステップのすべてが機械学習そのものではなく、むしろデータ工学やソフトウェア工学に関連していることにお気づきかもしれません。これは事実です。また、皮肉なことに、多くのデータサイエンティストは、自分たちの時間のほとんどは、純粋な機械学習ではなく、まさにこのようなエンジニアリング作業に費やされていると報告しています(例えば、2020年のDatanamiの調査をご覧ください)。

結論

機械学習の専門家は、通常、仕事で非常に多様なタスクを扱っています。 すべてのMLプロジェクトは異なりますが、最も一般的なステップは、データのロードと前処理、探索的なデータ分析、モデリング、およびデプロイメントです。 仕事によっては、これらのタスクをすべて行うことが求められることもありますし、チームでタスクを分担することもあります。


Tags

PythonML

Related Posts

分類概要(Classification)
July 07, 2022
1 min
© 2022, All Rights Reserved.

Quick Links

Advertise with usAbout UsContact Us

Social Media