第12章. PySparkにおけるフィーチャーエンジニアリング
この作品はAIを使って翻訳されている。ご意見、ご感想をお待ちしている:translation-feedback@oreilly.com
この章では、機械学習モデルを構築する際に、データの特徴(車の価格から遺伝子の値、ヘモグロビンカウント、教育レベルまで、測定可能なあらゆる属性)を扱うためのデザインパターン(特徴工学とも呼ばれる)を取り上げる。 これらのプロセス(特徴の抽出、変換、選択)は、効果的なマシン学習モデルの構築に不可欠である。 未来予測モデルの成否は、主に選択した特徴量に依存するからだ。
Sparkは、線形回帰、ロジスティック回帰、決定木を含む多くのよく知られたアルゴリズムのための包括的なマシン学習APIを提供する。本章のゴールは、あらゆる種類の機械学習パイプラインを構築するために使用できるPySparkの基本的なツールとテクニックを紹介することである。この章では、Sparkの強力な機械学習ツールとユーティリティを紹介し、PySpark APIを使用した例を提供する。ここで学ぶスキルは、データサイエンティストやデータエンジニアを目指す人にとって役に立つだろう。私のゴールは、線形回帰、プリンシパル分析、サポートベクターマシンといった有名な機械学習アルゴリズムに慣れ親しむことではなく、データのクリーニングや幅広い機械学習アルゴリズムのモデル構築に使えるツール(正規化、標準化、文字列インデクシングなど)を身につけることである。
どのアルゴリズムを使うにしても、特徴エンジニアリングは重要だ。 機械学習は、データからパターンを発見することを可能にする。モデルを構築することでパターンを発見し、構築したモデルを使って新しいデータ点(つまりクエリデータ)について予測を行う。これらの予測を正しく行うためには、データセットを構築し、データを正しく変換しなければならない。この章では、この2つの重要なステップについて説明する。
私たちが話し合うトピックは以下の通りである:
-
新しい派生機能を追加する
-
UDFの作成と適用
-
パイプラインの作成
-
データを2値化する
-
データ・インピュテーション
-
トークン化
-
標準化
-
ノーマライゼーション
-
文字列インデクシング
-
ベクターアセンブリ
-
バケット
-
対数変換
-
ワンホットエンコーディング
-
TF-IDF
-
フィーチャー・ハッシュ
-
SQL変換を適用する
しかし、まずはフィーチャー・エンジニアリングについてもう少し詳しく見てみよう。
フィーチャー・エンジニアリング入門
フィーチャー・エンジニアリングをマスターするための優れたブログ投稿で、Jason Brownleeはフィーチャー・エンジニアリングを「生データを、予測モデルにとって根本的な問題をよりよく表現するフィーチャーに変換するプロセスであり、その結果、未知のデータに対するモデルの精度が向上する」と定義している。この章では、より優れた予測モデルを構築するために使用できる、PySparkで利用可能な一般的なフィーチャー・エンジニアリングのテクニックを紹介することを目的とする。
データが行と列の行列で表現されているとしよう。機械学習では、列は特徴(年齢、性別、学歴、心拍数、血圧など)と呼ばれ、各行はデータセットのインスタンス(つまりレコード)を表す。 データの特徴は、あなたが構築し使用する予測モデルと、あなたが達成できる結果に直接影響する。データサイエンティストはデータ準備に約半分の時間を費やし、特徴エンジニアリングはその重要な一部である。 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access