Amazon SageMaker フィーチャーストア 機械学習 (ML) の特徴量エンジニアリングを自動化するエンドツーエンドのソリューションを提供します。 多くの ML ユースケースでは、ログ ファイル、センサーの読み取り値、トランザクション レコードなどの生データを、モデルのトレーニング用に最適化された有意義な特徴に変換する必要があります。
特徴の品質は、高精度の ML モデルを保証するために重要です。 多くの場合、集約、エンコード、正規化、その他の操作を使用して生データを特徴に変換することが必要となり、多大な労力が必要となる場合があります。 エンジニアは、ユースケースごとにカスタム データの前処理と集計ロジックを Python または Spark で手動で作成する必要があります。
この未分化な力仕事は面倒で、繰り返しが多く、エラーが発生しやすくなります。 の SageMaker 機能ストア機能プロセッサ は、生データをバッチ トレーニング ML モデルに適した集約された特徴に自動的に変換することで、この負担を軽減します。 これにより、エンジニアはシンプルなデータ変換機能を提供し、Spark 上で大規模に実行し、基盤となるインフラストラクチャを管理できるようになります。 これにより、データ サイエンティストとデータ エンジニアは、実装の詳細ではなく特徴エンジニアリング ロジックに集中できるようになります。
この投稿では、自動車販売会社がフィーチャー プロセッサーを使用して、次の XNUMX つのステップで生の販売取引データをフィーチャーに変換する方法を示します。
- データ変換のローカル実行。
- リモートは Spark を使用して大規模に実行されます。
- パイプラインを介した運用化。
SageMaker Feature Store がどのように生データを取り込み、Spark を使用してリモートで特徴変換を実行し、結果として集約された特徴を 機能グループ。 これらの設計された機能は、ML モデルのトレーニングに使用できます。
このユースケースでは、SageMaker Feature Store が生の自動車販売データを構造化特徴に変換するのにどのように役立つかを見ていきます。 これらの機能は、その後、次のような洞察を得るために使用されます。
- 2010 年の赤いコンバーチブルの平均価格と最高価格
- 走行距離が最も優れたモデルと価格の比較
- 長年にわたる新車と中古車の販売傾向
- 場所ごとの平均メーカー希望小売価格の違い
また、SageMaker Feature Store パイプラインが新しいデータの受信に応じてどのように機能を更新し続け、企業が長期にわたって継続的に洞察を得ることができるかについても確認しました。
ソリューションの概要
データセットを操作します car_data.csv
には、同社が販売する中古車および新車のモデル、年式、状態、走行距離、価格、メーカー希望小売価格などの仕様が含まれています。 次のスクリーンショットは、データセットの例を示しています。
ソリューションノートブック feature_processor.ipynb
には次の主な手順が含まれており、この投稿で説明します。
- XNUMX つの機能グループを作成します。XNUMX つは と呼ばれます。
car-data
生の自動車販売記録と別の名前のcar-data-aggregated
集計された自動車販売記録用。 -
@feature_processor
データを car-data フィーチャ グループにロードするデコレータ Amazon シンプル ストレージ サービス (Amazon S3)。 - 実行する
@feature_processor code
Spark アプリケーションとしてリモートでデータを集約します。 - 機能プロセッサを運用可能にする SageMaker パイプライン そして実行をスケジュールします。
- 機能処理パイプラインを調べて、 系統 in Amazon SageMakerスタジオ.
- 集約された特徴を使用して ML モデルをトレーニングします。
前提条件
このチュートリアルに従うには、次のものが必要です。
この記事では以下を参考にさせていただきました ノートこれは、SageMaker Python SDK を使用して機能プロセッサを開始する方法を示しています。
機能グループの作成
機能グループを作成するには、次の手順を実行します。
- の機能グループ定義を作成します。
car-data
次のように:
特徴は、 car_data.csv
データセット (Model
, Year
, Status
, Mileage
, Price
, MSRP
).
- レコード識別子を追加します
id
そしてイベント時間ingest_time
機能グループに:
- の機能グループ定義を作成します。
car-data-aggregated
次のように:
集約された機能グループの場合、機能はモデル年のステータス、平均走行距離、最大走行距離、平均価格、最高価格、平均メーカー希望小売価格、最大メーカー希望小売価格、および取り込み時間です。 レコード識別子を追加します model_year_status
そしてイベント時間 ingest_time
この機能グループに。
- ここで、
car-data
機能グループ:
- 作ります
car-data-aggregated
機能グループ:
次の SageMaker Feature Store オプションに移動できます。 且つ SageMaker Studio 上で ホーム メニューをクリックして機能グループを表示します。
@feature_processor デコレーターを使用してデータをロードする
このセクションでは、生の入力データをローカルに変換します (car_data.csv
) Amazon S3 から car-data
機能ストア機能プロセッサを使用した機能グループ。 この最初のローカル実行により、リモートで実行する前に開発と反復が可能になります。また、反復を高速化するために必要に応じて、データのサンプルに対して実行することもできます。
@feature_processor
デコレーターの場合、変換関数は Spark ランタイム環境で実行され、関数に提供される入力引数とその戻り値は Spark DataFrame です。
- インストール 機能プロセッサー SDK SageMaker Python SDK 次のコマンドを使用して、その追加機能を実行します。
変換関数の入力パラメーターの数は、変換関数で構成された入力の数と一致する必要があります。 @feature_processor
デコレーター。 この場合、 @feature_processor
デコレータが持っています car-data.csv
入力として、 car-data
機能グループを出力として表示し、これが target_store
as OfflineStore
:
- 定義
transform()
データを変換する関数。 この関数は次のアクションを実行します。- 列名を小文字に変換します。
- イベント時間を追加します
ingest_time
コラム。 - 句読点を削除し、欠損値を NA に置き換えます。
- コール
transform()
データを保存する機能car-data
機能グループ:
出力は、データが car-data フィーチャ グループに正常に取り込まれたことを示しています。
の出力 transform_df.show()
機能は次のとおりです。
入力データを正常に変換し、 car-data
機能グループ。
@feature_processor コードをリモートで実行する
このセクションでは、機能処理コードを Spark アプリケーションとしてリモートで実行する方法を示します。 @remote
前述したデコレータ。 Spark を使用してフィーチャ処理をリモートで実行し、大規模なデータセットに拡張します。 Spark は、単一マシンでは大きすぎるデータを処理するためにクラスター上で分散処理を提供します。 の @remote
Decorator は、ローカル Python コードを単一ノードまたはマルチノードの SageMaker トレーニング ジョブとして実行します。
-
@remote
デコレータと一緒に@feature_processor
デコレータは次のようになります。
spark_config
パラメータは、これがとして実行されることを示します Spark application
。 SparkConfig インスタンスは、Spark 構成と依存関係を構成します。
- 定義
aggregate()
PySpark SQL とユーザー定義関数 (UDF) を使用してデータを集計する関数。 この関数は次のアクションを実行します。- 連結する
model
,year
,status
作成するmodel_year_status
. - の平均を取る
price
作成するavg_price
. - の最大値を取得します
price
作成するmax_price
. - の平均を取る
mileage
作成するavg_mileage
. - の最大値を取得します
mileage
作成するmax_mileage
. - の平均を取る
msrp
作成するavg_msrp
. - の最大値を取得します
msrp
作成するmax_msrp
. - グループ化する
model_year_status
.
- 連結する
- 実行する
aggregate()
Spark アプリケーションを実行するための SageMaker トレーニング ジョブを作成する関数:
その結果、SageMaker は、前に定義した Spark アプリケーションに対するトレーニング ジョブを作成します。 を使用して Spark ランタイム環境を作成します。 sagemaker-spark-processing image
.
ここでは SageMaker Training ジョブを使用して、Spark 機能処理アプリケーションを実行します。 SageMaker Training では、SageMaker Processing では利用できないウォーム プーリングを使用して、起動時間を 1 分以下に短縮できます。 これにより、SageMaker Training は、起動時間が重要な機能処理などの短いバッチ ジョブに対してより適切に最適化されます。
- 詳細を表示するには、SageMaker コンソールで、 トレーニングの仕事 下 トレーニング ナビゲーションペインで、次の名前のジョブを選択します。
aggregate-<timestamp>
.
の出力 集計() 関数はテレメトリ コードを生成します。 出力内には、次のように集計されたデータが表示されます。
トレーニング ジョブが完了すると、次の出力が表示されるはずです。
SageMaker パイプライン経由で機能プロセッサを運用可能にする
このセクションでは、機能プロセッサを SageMaker パイプラインにプロモートし、実行をスケジュールすることで、機能プロセッサを運用可能にする方法を示します。
- まず、アップロードします 変換コード.py Amazon S3 への機能処理ロジックを含むファイル:
- 次に、Feature Processor パイプラインを作成します。 車のデータパイプライン .to_pipeline() 関数:
- パイプラインを実行するには、次のコードを使用します。
- 同様に、次のような集約機能のパイプラインを作成できます。
car_data_aggregated_pipeline
そしてランニングを開始します。 - スケジュールする
car_data_aggregated_pipeline
24 時間ごとに実行するには:
出力セクションには、パイプラインの ARN とパイプライン実行ロール、およびスケジュールの詳細が表示されます。
- このアカウントのすべてのフィーチャー プロセッサ パイプラインを取得するには、
list_pipelines()
機能プロセッサーの関数:
出力は次のようになります。
SageMaker Feature Processor パイプラインの作成に成功しました。
機能処理パイプラインと ML リネージュを調べる
SageMaker Studio で、次の手順を実行します。
- SageMaker Studio コンソール上で、 ホーム メニュー、選択 パイプライン.
XNUMX つのパイプラインが作成されたことがわかります。 car-data-ingestion-pipeline
および car-data-aggregated-ingestion-pipeline
.
- 選択する
car-data-ingestion-pipeline
.
実行の詳細が表示されます 実行 タブには何も表示されないことに注意してください。
- パイプラインによって設定された機能グループを表示するには、 フィーチャーストア 下 且つ 選択して
car-data
.
前の手順で作成した XNUMX つの機能グループが表示されます。
- 選択する
car-data
機能グループ。
機能の詳細は、 特徴 タブには何も表示されないことに注意してください。
パイプラインの実行を表示する
パイプラインの実行を表示するには、次の手順を実行します。
- ソフトウェア設定ページで、下図のように パイプラインの実行タブで選択します
car-data-ingestion-pipeline
.
これにより、すべての実行が表示されます。
- いずれかのリンクを選択すると、実行の詳細が表示されます。
- 系統を表示するには、[系統] を選択します。
完全な血統 car-data
入力データソースを示します car_data.csv
そして上流のエンティティ。 の系譜 car-data-aggregated
入力を示します car-data
機能グループ。
- 選択する ロード機能 それから、 上流系統のクエリ on
car-data
およびcar-data-ingestion-pipeline
すべての上流エンティティを表示します。
完全な血統 car-data
機能グループは次のスクリーンショットのようになります。
同様に、 car-aggregated-data
機能グループは次のスクリーンショットのようになります。
SageMaker Studio は、スケジュールされたパイプラインを追跡し、実行を表示し、リネージを探索し、機能処理コードを表示するための単一環境を提供します。
平均価格、最高価格、平均走行距離などの集約された機能は、 car-data-aggregated
機能グループは、データの性質についての洞察を提供します。 これらの特徴をデータセットとして使用して、自動車の価格を予測するためのモデルをトレーニングしたり、その他の操作を行うこともできます。 ただし、モデルのトレーニングはこの投稿の範囲外であり、特徴エンジニアリングのための SageMaker Feature Store 機能のデモに重点を置いています。
クリーンアップ
継続的な料金が発生しないように、この記事の一部として作成されたリソースをクリーンアップすることを忘れないでください。
- スケジュールされたパイプラインを無効にします。
fp.schedule()
stateパラメータを次のように指定したメソッドDisabled
:
- 両方の機能グループを削除します。
S3 バケットおよびオフライン機能ストアに存在するデータにはコストが発生する可能性があるため、料金が発生しないようにデータを削除する必要があります。
- S3 オブジェクトを削除する.
- レコードを削除します 機能ストアから。
まとめ
この投稿では、自動車販売会社が SageMaker Feature Store 機能プロセッサを使用して、次の方法で生の販売データから貴重な洞察を得る方法を示しました。
- Spark を使用した大規模なバッチ データの取り込みと変換
- SageMaker パイプラインを介した機能エンジニアリング ワークフローの運用化
- リネージ追跡と、パイプラインを監視して機能を探索するための単一環境を提供します。
- ML モデルのトレーニングに最適化された集約された特徴の準備
これらの手順に従うことで、同社は以前は使用できなかったデータを構造化された特徴に変換し、それを使用して自動車価格を予測するモデルをトレーニングすることができました。 SageMaker Feature Store により、基盤となるインフラストラクチャではなく機能エンジニアリングに集中できるようになりました。
この投稿が、SageMaker Feature Store 機能プロセッサを使用して独自のデータから貴重な ML の洞察を引き出すのに役立つことを願っています。
詳細については、を参照してください。 特徴処理 と SageMaker の例 Amazon SageMaker 機能ストア: 機能プロセッサの概要.
著者について
ダヴァル・シャー AWS のシニア ソリューション アーキテクトであり、機械学習を専門としています。 デジタル ネイティブ ビジネスに重点を置き、顧客が AWS を活用してビジネスの成長を促進できるように支援します。 ML 愛好家である Dhaval は、前向きな変化をもたらす影響力のあるソリューションを作成するという情熱に突き動かされています。 余暇には旅行を満喫し、家族との充実した時間を大切にしています。
ニナド・ジョシ AWS のシニア ソリューション アーキテクトであり、世界中の AWS 顧客がクラウド上で安全でスケーラブルでコスト効率の高いソリューションを設計し、現実世界の複雑なビジネス課題を解決できるよう支援しています。 機械学習 (ML) における彼の仕事は、エンドツーエンド ML、自然言語処理、コンピューター ビジョンに主に焦点を当て、幅広い AI/ML ユースケースをカバーしています。 AWS に入社する前は、Ninad はソフトウェア開発者として 12 年以上働いていました。 プロとしての活動以外でも、ニナドはチェスをしたり、さまざまな戦略を模索したりすることを楽しんでいます。
- SEO を活用したコンテンツと PR 配信。 今日増幅されます。
- PlatoData.Network 垂直生成 Ai。 自分自身に力を与えましょう。 こちらからアクセスしてください。
- プラトアイストリーム。 Web3 インテリジェンス。 知識増幅。 こちらからアクセスしてください。
- プラトンESG。 カーボン、 クリーンテック、 エネルギー、 環境、 太陽、 廃棄物管理。 こちらからアクセスしてください。
- プラトンヘルス。 バイオテクノロジーと臨床試験のインテリジェンス。 こちらからアクセスしてください。
- 情報源: https://aws.amazon.com/blogs/machine-learning/unlock-ml-insights-using-the-amazon-sagemaker-feature-store-feature-processor/
- :持っている
- :は
- :not
- :どこ
- $UP
- 1
- 10
- 100
- 11
- 116
- 12
- 13
- 14
- 視聴者の38%が
- 16
- 20
- 24
- 視聴者の38%が
- 40
- 7
- 8
- 9
- a
- できる
- 正確な
- 越えて
- 行動
- 加えます
- 集計
- 凝集
- AI / ML
- すべて
- ことができます
- 沿って
- また
- Amazon
- アマゾンセージメーカー
- Amazon Webサービス
- an
- および
- 別の
- どれか
- 申し込み
- です
- 引数
- AS
- At
- 自動化する
- 自動的に
- 利用できます
- 平均
- 避ける
- AWS
- 基本
- BE
- BEST
- より良いです
- ビッグ
- 両言語で
- 持って来る
- 負担
- ビジネス
- ビジネス
- by
- 呼ばれます
- 缶
- 機能
- 自動車
- 自動車
- 場合
- 例
- 課題
- 変化する
- 課金
- チェス
- 選択する
- クラウド
- コード
- コラム
- コラム
- comes
- 会社
- コンプリート
- 複雑な
- コンピュータ
- Computer Vision
- 設定された
- 領事
- 含まれています
- 継続的に
- 変換
- 費用
- コスト
- 可能性
- カバー
- 作ります
- 作成した
- 作成します。
- 作成
- 重大な
- 面倒
- カスタム
- Customers
- データ
- データセット
- 定義済みの
- 定義
- 実証します
- 実証
- 実証
- デモ
- 依存関係
- 記載された
- 説明
- 設計
- 希望
- 細部
- 開発する
- Developer
- 異なります
- デジタル
- 無効
- 表示
- 配布
- 行われ
- ドライブ
- ドリブン
- 各
- 前
- 効果的な
- 努力
- 力を与える
- 使用可能
- 可能
- 有効にする
- 端から端まで
- 努力
- エンジニアリング
- エンジニア
- 確保
- 熱狂者
- エンティティ
- 環境
- イベント
- あらゆる
- 例
- 実行します
- 実行
- 終了
- 説明する
- 探る
- 探る
- 家族
- 速いです
- 特徴
- 特徴
- File
- フォーカス
- 焦点を当てて
- フォロー中
- 次
- 分数
- から
- フル
- function
- 機能
- 利得
- 生成
- 取得する
- グローバル
- グループ
- グループの
- 成長性
- ハンドル
- ハンドル
- 持ってる
- he
- ヘッダーの
- ヘビー
- 重いもの
- 助け
- ことができます
- こちら
- 強調表示
- 非常に
- 彼の
- ホーム
- 希望
- HOURS
- 認定条件
- How To
- しかしながら
- HTML
- HTTPS
- ID
- 識別子
- if
- 画像
- 衝撃的
- 実装
- import
- 重要
- in
- 含めて
- を示し
- info
- 情報
- インフラ関連事業
- 初期
- 入力
- 内部
- 洞察力
- 洞察
- install
- に
- IT
- 繰り返し
- ITS
- ジョブ
- Jobs > Create New Job
- 参加
- JPG
- キープ
- 言語
- 大
- 学習
- less
- ことができます
- 活用します
- フェイスリフト
- ような
- 系統
- リンク
- リスト
- 負荷
- 負荷
- ローカル
- 局部的に
- ログ
- ロジック
- 見て
- のように見える
- 愛
- 機械
- 機械学習
- メイン
- 作る
- 管理する
- 手動で
- 多くの
- 一致
- マックス
- mdx
- 意味のある
- メニュー
- 方法
- 分
- 行方不明
- ML
- モデル
- モーメント
- モニター
- 他には?
- しなければなりません
- 名
- 名
- ネイティブ
- ナチュラル
- 自然言語処理
- 自然
- ナビゲート
- ナビゲーション
- 必要
- 必要とされる
- 新作
- ノート
- 数
- of
- オンライン
- 頻繁に
- on
- ONE
- 継続
- の
- 操作
- 業務執行統括
- 最適化
- オプション
- or
- その他
- 私たちの
- でる
- 出力
- 外側
- が
- 自分の
- ペイン
- パラメーター
- パラメータ
- 部
- 情熱
- 実行する
- 実行する
- パイプライン
- プラトン
- プラトンデータインテリジェンス
- プラトデータ
- 再生
- 人口
- 正の
- ポスト
- pr
- 予測する
- 前
- 前に
- ブランド
- 価格、またオプションについて
- 主要な
- 事前の
- 処理
- プロセッサ
- プロ
- 推進
- 提供します
- 提供
- は、大阪で
- Python
- 品質
- 範囲
- むしろ
- Raw
- 現実の世界
- 記録
- 記録
- レッド
- 減らします
- 軽減
- 参照する
- 削除します
- 反復的な
- replace
- 必要とする
- リソース
- 結果
- 結果として
- return
- 職種
- ラン
- ランニング
- runs
- s
- セージメーカー
- 塩
- セールス
- ド電源のデ
- 規模
- スケジュール
- 予定の
- スケジューリング
- 科学者たち
- スコープ
- SDDK
- SDN
- 秒
- セクション
- 安全に
- シニア
- サービス
- ショート
- すべき
- 表示する
- 作品
- 重要
- 簡単な拡張で
- 単一環境
- So
- ソフトウェア
- 売ら
- 溶液
- ソリューション
- 解決する
- ソース
- スパーク
- 特化
- 仕様
- 指定の
- スポーツ
- start
- 開始
- スタートアップ
- 都道府県
- Status:
- ステップ
- ストレージ利用料
- 店舗
- データを保存する
- 文字列
- 強い
- 構造化された
- 研究
- 提出する
- 続いて
- 成功した
- 首尾よく
- そのような
- 適当
- テーブル
- より
- それ
- ステート
- アプリ環境に合わせて
- それら
- その後
- ボーマン
- この
- 三
- 時間
- <font style="vertical-align: inherit;">回数</font>
- 〜へ
- あまりに
- top
- 追跡する
- 追跡
- トレーニング
- トレーニング
- トランザクション
- 最適化の適用
- 変換
- 変換
- 変換
- 変換
- 旅行
- トレンド
- チュートリアル
- 2
- type
- ui
- 下
- 根本的な
- アンロック
- 更新しました
- us
- つかいます
- 使用事例
- 中古
- 貴重な
- 値
- 価値観
- さまざまな
- 車
- 、
- 詳しく見る
- ビジョン
- vs
- 暖かいです
- ました
- we
- ウェブ
- Webサービス
- which
- ワイド
- 広い範囲
- 意志
- 仕事
- 働いていました
- ワークフロー
- 書きます
- 年
- 年
- You
- あなたの
- ゼファーネット