「企業は、コードに集中するのではなく、信頼性が高く、効率的で、体系的な方法でデータを改善するための体系的なエンジニアリング プラクティスの開発に集中する必要があります。 つまり、企業はモデル中心のアプローチからデータ中心のアプローチに移行する必要があります。」 – アンドリュー・ング
データ中心の AI アプローチには、データの準備と機能エンジニアリングを含む高品質のデータを使用して AI システムを構築することが含まれます。 これは、データの収集、検出、プロファイリング、クレンジング、構造化、変換、強化、検証、およびデータの安全な保存を含む面倒な作業になる可能性があります。
AmazonSageMakerデータラングラー のサービスです Amazon SageMakerスタジオ コーディングをほとんどまたはまったく使用せずに、データをインポート、準備、変換、特徴付け、分析するためのエンドツーエンドのソリューションを提供します。 Data Wrangler のデータ準備フローを機械学習 (ML) ワークフローに統合して、データの前処理と機能エンジニアリングを簡素化し、PySpark コードの作成、Apache Spark のインストール、またはクラスターのスピンアップを必要とせずに、データの準備をより迅速に本番環境に移行できます。
データ変換用に独自のカスタム スクリプトを追加する必要があるシナリオでは、Pandas、PySpark、PySpark SQL で変換ロジックを記述できます。 Data Wrangler は、カスタム変換を作成して ML 用のテキスト データを準備し、制約の最適化を実行するために、NLTK および SciPy ライブラリをサポートするようになりました。
データ変換のために独自のカスタム スクリプトを追加する必要があるシナリオに遭遇する場合があります。 Data Wrangler のカスタム変換機能を使用すると、変換ロジックを Pandas、PySpark、PySpark SQL で記述できます。
この投稿では、NLTK でカスタム変換を記述して ML 用のテキスト データを準備する方法について説明します。 また、NLTK、NumPy、SciPy、scikit-learn などの他の一般的なフレームワークや AWS AI サービスを使用したカスタム コード変換の例も紹介します。 この演習では、 タイタニックデータセット、ML コミュニティで人気のあるデータセットで、現在は サンプルデータセット Data Wrangler 内。
ソリューションの概要
Data Wrangler には、データをインポートするための 40 を超える組み込みコネクタが用意されています。 データをインポートしたら、300 を超える組み込みの変換を使用して、データ分析と変換を構築できます。 次に、工業化されたパイプラインを生成して、機能をプッシュすることができます Amazon シンプル ストレージ サービス (Amazon S3)または Amazon SageMaker フィーチャーストア. 次の図は、エンド ツー エンドの高レベル アーキテクチャを示しています。
前提条件
Data Wrangler は、SageMaker 内で利用可能な機能です Amazon SageMakerスタジオ。 あなたはフォローすることができます Studio のオンボーディング プロセス Studio 環境とノートブックをスピンアップします。 いくつかの認証方法から選択できますが、Studio ドメインを作成する最も簡単な方法は、 クイックスタート手順. クイック スタートは、標準の Studio セットアップと同じデフォルト設定を使用します。 を使用してオンボーディングを選択することもできます AWS IAM アイデンティティ センター (AWS Single Sign-On の後継) 認証用 (参照 IAM Identity Center を使用して Amazon SageMaker ドメインにオンボード).
タイタニック データセットをインポートする
Studio 環境を開始し、新しい データラングラーフロー. 次のスクリーンショットに示すように、独自のデータセットをインポートするか、サンプル データセット (Titanic) を使用できます。 Data Wrangler では、さまざまなデータ ソースからデータセットをインポートできます。 このユースケースでは、S3 バケットからサンプル データセットをインポートします。
インポートすると、データ フローに XNUMX つのノード (ソース ノードとデータ型ノード) が表示されます。 Data Wrangler は、データセット内のすべての列のデータ型を自動的に識別します。
NLTK によるカスタム変換
Data Wrangler を使用したデータの準備と機能エンジニアリングでは、300 を超える組み込みの変換を使用するか、独自のカスタム変換を構築できます。 カスタム変換 Data Wrangler 内で別のステップとして記述できます。 これらは、Data Wrangler 内の .flow ファイルの一部になります。 カスタム変換機能は、コード スニペットの異なるステップとして Python、PySpark、および SQL をサポートします。 ノートブック ファイル (.ipynb) が .flow ファイルから生成されるか、または .flow ファイルがレシピとして使用されると、カスタム変換コード スニペットは変更を必要とせずに保持されます。 Data Wrangler のこの設計により、カスタム変換を SageMaker Processing ジョブの一部にして、カスタム変換で大量のデータセットを処理できます。
Titanic データセットには、テキスト情報を含むいくつかの機能 (name と home.dest) があります。 を使用しております NLTK 名前の列を分割して姓を抽出し、姓の頻度を出力します。 NLTK は、人間の言語データを扱う Python プログラムを構築するための主要なプラットフォームです。 使いやすいインターフェースを提供します。 50 を超えるコーパスと語彙リソース WordNet など、分類、トークン化、ステミング、タグ付け、解析、セマンティック推論用の一連のテキスト処理ライブラリ、および強力な自然言語処理 (NLP) ライブラリ用のラッパーを備えています。
新しい変換を追加するには、次の手順を実行します。
- プラス記号を選択し、 変換を追加.
- 選択する ステップを追加 選択して カスタム変換.
Pandas、PySpark、Python ユーザー定義関数、および SQL PySpark を使用してカスタム変換を作成できます。
- 選択する Python(パンダ) 次のコードを追加して、名前列から姓を抽出します。
- 選択する プレビュー 結果を確認します。
次のスクリーンショットは、 last_name
列を抽出しました。
- 次のコードを使用して、別のカスタム変換ステップを追加して、姓の頻度分布を識別します。
- 選択する プレビュー 頻度の結果を確認します。
AWS AI サービスによるカスタム変換
AWS の事前トレーニング済み AI サービスは、アプリケーションとワークフローに既成のインテリジェンスを提供します。 AWS AI サービスは、アプリケーションと簡単に統合して、多くの一般的なユースケースに対応します。 AWS AI サービスの機能を Data Wrangler のカスタム変換ステップとして使用できるようになりました。
Amazon Comprehend NLP を使用して、ドキュメントのコンテンツに関する洞察を抽出します。 ドキュメント内のエンティティ、キー フレーズ、言語、感情、およびその他の一般的な要素を認識することで、洞察を深めます。
Amazon Comprehend を使用して、名前列からエンティティを抽出します。 次の手順を完了します。
- カスタム変換ステップを追加します。
- 選択する Python(パンダ).
- 次のコードを入力して、エンティティを抽出します。
- 選択する プレビュー 結果を視覚化します。
Data Wrangler に XNUMX つのカスタム変換を追加しました。
- 選択する データフロー エンドツーエンドのデータ フローを視覚化します。
NumPy と SciPy によるカスタム変換
NumPy は、包括的な数学関数、乱数ジェネレーター、線形代数ルーチン、フーリエ変換などを提供する Python 用のオープンソース ライブラリです。 SciPy 科学計算および技術計算に使用されるオープンソースの Python ライブラリで、最適化、線形代数、積分、補間、特殊関数、高速フーリエ変換 (FFT)、信号および画像処理、ソルバーなどのモジュールが含まれています。
Data Wrangler カスタム変換を使用すると、Python、PySpark、および SQL を異なるステップとして組み合わせることができます。 次の Data Wrangler フローでは、Python パッケージ、NumPy、および SciPy のさまざまな関数が複数のステップとして Titanic データセットに適用されます。
NumPy 変換
タイタニック データセットの運賃列には、さまざまな乗客の乗車運賃が含まれています。 運賃列のヒストグラムは、最後のビンを除いて均一な分布を示しています。 対数や平方根などの NumPy 変換を適用することで、分布を変更できます (平方根変換で示されているように)。
次のコードを参照してください。
SciPy 変換
z-score などの SciPy 関数は、カスタム変換の一部として適用され、平均と標準偏差で料金分布を標準化します。
次のコードを参照してください。
NumPy と SciPy による制約の最適化
Data Wrangler カスタム変換は、SciPy 最適化関数を適用したり、SciPy と NumPy を組み合わせたりする制約の最適化などの高度な変換を処理できます。 次の例では、年齢の関数としての料金は、観察可能な傾向を示していません。 ただし、制約の最適化により、運賃を年齢の関数として変換できます。 この場合の制約条件は、新しい合計運賃が古い合計運賃と同じままであることです。 Data Wrangler カスタム変換を使用すると、SciPy 最適化関数を実行して、制約条件の下で料金を年齢の関数として変換できる最適な係数を決定できます。
SciPy と NumPy を使用して Data Wrangler カスタム トランスフォームで制約の最適化を策定する際に、最適化の定義、目的の定義、および複数の制約を異なる関数として挙げることができます。 カスタム変換は、SciPy 最適化パッケージの一部として利用できるさまざまなソルバー メソッドをもたらすこともできます。 最適な係数を元の列に掛けて、Data Wrangler の既存の列に追加することにより、新しい変換された変数を生成できます。 次のコードを参照してください。
Data Wrangler カスタム変換機能には、最適係数 (または複数の係数) の値などの SciPy 最適化関数の結果を表示する UI 機能があります。
scikit-learn によるカスタム変換
scikit-学ぶ SciPy の上に構築された機械学習用の Python モジュールです。 これは、教師あり学習と教師なし学習をサポートするオープンソースの ML ライブラリです。 また、モデルのフィッティング、データの前処理、モデルの選択、モデルの評価、およびその他の多くのユーティリティのためのさまざまなツールも提供します。
離散化
離散化 (別名 量子化 or ビニング) は、連続する特徴を離散値に分割する方法を提供します。 離散化は連続属性のデータセットを名目上の属性のみを持つデータセットに変換できるため、連続フィーチャを含む特定のデータセットは離散化の恩恵を受ける場合があります。 ワンホット エンコードされた離散化された特徴は、解釈可能性を維持しながら、モデルをより表現力豊かにすることができます。 たとえば、離散化器を使用した前処理により、線形モデルに非線形性が導入される可能性があります。
次のコードでは、 KBinsDiscretizer
age 列を 10 個のビンに離散化するには、次のようにします。
次のスクリーンショットに印刷されたビンの端を確認できます。
ワンホット エンコーディング
Embarked 列の値はカテゴリ値です。 したがって、モデルで分類を実行するには、これらの文字列を数値として表す必要があります。 ワンホット エンコーディング変換を使用してこれを行うこともできます。
Embarked には、S、C、および Q の XNUMX つの値があります。これらを数値で表します。 次のコードを参照してください。
クリーンアップ
Data Wrangler を使用していないときは、Data Wrangler が実行されているインスタンスをシャットダウンして、追加料金が発生しないようにすることが重要です。
Data Wrangler は、60 秒ごとにデータ フローを自動的に保存します。 作業が失われないように、Data Wrangler をシャットダウンする前にデータ フローを保存してください。
- データ フローを Studio に保存するには、次を選択します。 File、を選択します データラングラーの流れを保存.
- Data Wrangler インスタンスをシャットダウンするには、Studio で、 インスタンスとカーネルの実行.
- アプリの実行で、sagemaker-data-wrangler-1.0 アプリの横にあるシャットダウン アイコンを選択します。
- 選択する すべてシャットダウン 確認します。
Data Wrangler は ml.m5.4xlarge インスタンスで実行されます。 このインスタンスは インスタンスの実行 Data Wrangler アプリをシャットダウンしたとき。
Data Wrangler アプリをシャットダウンした後、次に Data Wrangler フロー ファイルを開くときに再起動する必要があります。 これには数分かかる場合があります。
まとめ
この投稿では、Data Wrangler でカスタム変換を使用する方法を示しました。 Data Wrangler コンテナ内のライブラリとフレームワークを使用して、組み込みのデータ変換機能を拡張しました。 この投稿の例は、使用されているフレームワークのサブセットを表しています。 Data Wrangler フローの変換は、DataOps のパイプラインにスケールインできるようになりました。
データラングラーでのデータフローの使用の詳細については、以下を参照してください。 データラングラーフローの作成と使用 および Amazon SageMakerの価格。 データラングラーの使用を開始するには、を参照してください。 Amazon SageMaker Data Wrangler で ML データを準備する. SageMaker の Autopilot と AutoML の詳細については、次の Web サイトをご覧ください。 AmazonSageMakerAutopilotを使用してモデル開発を自動化する.
著者について
ミーナクシスンダラム・タンダヴァラヤン AWSのシニアAI/MLスペシャリストです。 彼は、AIとMLの旅でハイテク戦略アカウントを支援しています。 彼はデータ駆動型AIに非常に情熱を注いでいます。
ソビック・クマール・ナス AWS の AI/ML ソリューション アーキテクトです。 彼は、機械学習のエンド ツー エンドの設計とソリューションにおいて豊富な経験を持っています。 財務、運用、およびマーケティング分析におけるビジネス分析。 健康管理; サプライチェーン; そしてIoT。 仕事以外では、Sovik は旅行や映画鑑賞を楽しんでいます。
アビゲイル Amazon SageMaker のソフトウェア開発エンジニアです。 彼女は、顧客が DataWrangler でデータを準備し、分散機械学習システムを構築するのを支援することに情熱を注いでいます。 余暇には、旅行、ハイキング、スキー、パン作りを楽しんでいます。
- SEO を活用したコンテンツと PR 配信。 今日増幅されます。
- Platoblockchain。 Web3メタバースインテリジェンス。 知識の増幅。 こちらからアクセスしてください。
- 未来を鋳造する w エイドリエン・アシュリー。 こちらからアクセスしてください。
- 情報源: https://aws.amazon.com/blogs/machine-learning/authoring-custom-transformations-in-amazon-sagemaker-data-wrangler-using-nltk-and-scipy/
- :持っている
- :は
- $UP
- 1
- 10
- 100
- 7
- 8
- 9
- a
- 私たちについて
- アカウント
- 追加されました
- NEW
- 住所
- 高度な
- 後
- 年齢
- AI
- AIサービス
- AI / ML
- すべて
- ことができます
- 沿って
- しかし
- Amazon
- Amazon Comprehend
- アマゾンセージメーカー
- AmazonSageMakerデータラングラー
- 分析
- 分析論
- 分析します
- および
- アンドルー
- 別の
- どれか
- アパッチ
- アプリ
- 適用された
- 適用
- アプローチ
- 建築
- です
- AS
- At
- 属性
- 認証
- 著者
- オーサリング
- 自動的に
- AutoML
- 利用できます
- AWS
- BE
- なぜなら
- になる
- き
- 恩恵
- BIN
- 搭乗
- 持って来る
- ビルド
- 建物
- 内蔵
- 内蔵
- ビジネス
- by
- 缶
- 機能
- 場合
- 例
- 一定
- チェーン
- 変化する
- 変更
- 選択する
- 分類
- コード
- コーディング
- コレクション
- コラム
- コラム
- 組み合わせる
- 結合
- コマンドと
- コミュニティ
- 企業
- コンプリート
- 理解する
- 包括的な
- コンピューティング
- 条件
- 条件
- 確認します
- デメリット
- 制約
- 含む
- コンテナ
- コンテンツ
- 連続的な
- 可能性
- カップル
- 作ります
- カスタム
- Customers
- データ
- データ分析
- データの準備
- データ駆動型の
- データセット
- デフォルト
- 実証
- 設計
- デザイン
- 決定する
- 開発
- 開発
- 開発
- 偏差
- 異なります
- 発見
- 話し合います
- 配布
- ディストリビューション
- ドキュメント
- ドキュメント
- そうではありません
- ドメイン
- ダウン
- 簡単に
- 使いやすい
- 効率的な
- どちら
- 要素は
- 端から端まで
- エンジニア
- エンジニアリング
- 濃縮
- エンティティ
- エンティティ
- 環境
- 評価
- あらゆる
- 例
- 例
- 除く
- 運動
- 既存の
- 体験
- 表現力豊かな
- 伸ばす
- 広範囲
- 豊富な経験
- エキス
- スピーディー
- 速いです
- 特徴
- 特徴
- 費用
- 少数の
- File
- ファイナンシャル
- フィッティング
- フロー
- 流れ
- フォーカス
- 焦点
- フォロー中
- 処方
- フレームワーク
- フレームワーク
- 無料版
- 周波数
- から
- 楽しいです
- function
- 機能
- 生成する
- 生成された
- 発電機
- 取得する
- ハンドル
- 持ってる
- he
- ヘルスケア
- 助け
- ことができます
- ハイテク
- ハイレベル
- ホーム
- 認定条件
- しかしながら
- HTML
- HTTP
- HTTPS
- 人間
- ICON
- 識別する
- 識別する
- アイデンティティ
- 画像
- import
- 重要
- インポート
- 改善
- in
- その他の
- 情報
- 洞察
- install
- 統合する
- 統合
- インテリジェンス
- インターフェース
- 紹介する
- IOT
- IT
- ジョブ
- 旅
- JPG
- キー
- 既知の
- 言語
- 姓
- 主要な
- LEARN
- 学習
- ライブラリ
- 図書館
- ような
- 少し
- 負け
- 機械
- 機械学習
- 保守
- make
- 多くの
- マーケティング
- 大規模な
- 数学的
- 五月..
- 言及した
- メソッド
- かもしれない
- 分
- ML
- モデル
- モジュール
- モジュール
- 他には?
- 動画
- の試合に
- 掛け算
- 名
- 名
- ナチュラル
- 自然言語処理
- 必要
- 新作
- 次の
- NLP
- ノード
- ノート
- 数
- 番号
- numpy
- 客観
- of
- 提供すること
- 古い
- on
- オンボード
- 新人研修
- ONE
- 開いた
- オープンソース
- オペレーショナル
- 最適な
- 最適化
- 最適化
- 注文
- オリジナル
- その他
- さもないと
- 私たちの
- 外側
- が
- 自分の
- パッケージ
- パッケージ
- パンダ
- 部
- 情熱的な
- 実行する
- フレーズ
- パイプライン
- プラットフォーム
- プラトン
- プラトンデータインテリジェンス
- プラトデータ
- さらに
- 人気
- ポスト
- プラクティス
- 準備
- 印刷物
- 処理
- 生産
- プロファイリング
- プログラム
- 提供します
- は、大阪で
- 目的
- プッシュ
- Python
- 品質
- クイック
- ランダム
- Raw
- 信頼性のある
- 残っている
- 表す
- 応答
- 結果
- return
- レビュー
- ルート
- ラン
- s
- セージメーカー
- 同じ
- サンプル データセット
- Save
- シナリオ
- 科学的な
- scikit-学ぶ
- スクリプト
- 秒
- しっかりと
- 選択
- シニア
- 別
- サービス
- サービス
- 設定
- シェアする
- すべき
- 表示する
- 示す
- 作品
- シャットダウン
- shutdown
- 符号
- シグナル
- 簡単な拡張で
- 簡素化する
- ソフトウェア
- ソフトウェア開発
- 溶液
- ソリューション
- 一部
- ソース
- ソース
- スパーク
- 特別
- 専門家
- スピン
- split
- 広場
- 標準
- start
- 開始
- 統計情報
- 手順
- ステップ
- ストレージ利用料
- 保存
- 戦略的
- 構造化
- 研究
- そのような
- スイート
- 供給
- サプライチェーン
- サポート
- システム
- テーブル
- 取る
- 取得
- 仕事
- 技術的
- それ
- ソース
- アプリ環境に合わせて
- したがって、
- ボーマン
- 三
- 時間
- 〜へ
- トークン
- トークン化
- トークン
- 豊富なツール群
- top
- トータル
- 最適化の適用
- 変換
- 変換
- 変換
- 変換
- 旅行
- トレンド
- ui
- 下
- つかいます
- 使用事例
- 中古
- 公益事業
- 値
- 価値観
- さまざまな
- 訪問
- 見ている
- 仕方..
- 方法
- WELL
- which
- while
- 意志
- 以内
- 無し
- 言葉
- 仕事
- ワークフロー
- 書きます
- 書かれた
- You
- あなたの
- ゼファーネット