Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
学ぶ ColumnTransformer | パイプライン
/
Pythonによる機械学習入門

bookColumnTransformer

メニューを表示するにはスワイプしてください

.fit_transform(X)Pipeline を呼び出すと、各トランスフォーマーがすべての列に適用されますが、これは常に望ましいとは限りません。列ごとに異なるエンコーダーが必要な場合があります。例えば、順序特徴量には OrdinalEncoder、名義特徴量には OneHotEncoder を使用します。 ColumnTransformer を使うことで、make_column_transformer を利用して特定の列に異なるトランスフォーマーを割り当てることができます。

make_column_transformer(transformer, [columns]) のタプルを受け取ります。 例えば、OrdinalEncoder'education' を、OneHotEncoder'gender' を適用する場合:

ct = make_column_transformer(
   (OrdinalEncoder(), ['education']),
   (OneHotEncoder(), ['gender']),
   remainder='passthrough'
)
Note
注意

remainder は指定されていない列に対して何を行うかを制御します。 デフォルト: 'drop'。 他のすべての列を変更せずに保持するには、remainder='passthrough' を設定します。

例えば、exams.csv ファイルを考える。複数の名義尺度の列('gender''race/ethnicity''lunch''test preparation course')と、1つの順序尺度の列('parental level of education')が含まれている。

12345
import pandas as pd df = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/a65bbc96-309e-4df9-a790-a1eb8c815a1c/exams.csv') print(df.head())
copy

ColumnTransformer を使用することで、名義データは OneHotEncoder で、順序データは OrdinalEncoder一度に変換可能。

12345678910111213
from sklearn.compose import make_column_transformer from sklearn.preprocessing import OneHotEncoder, OrdinalEncoder edu_categories = ['high school', 'some high school', 'some college', "associate's degree", "bachelor's degree", "master's degree"] ct = make_column_transformer( (OrdinalEncoder(categories=[edu_categories]), ['parental level of education']), (OneHotEncoder(), ['gender', 'race/ethnicity', 'lunch', 'test preparation course']), remainder='passthrough' ) print(ct.fit_transform(df))
copy

ColumnTransformer はそれ自体がトランスフォーマーであり、標準的なメソッド .fit().fit_transform()、および .transform() を提供します。

question mark

特徴量 'education''income''job' を持つデータセットがあるとします。次のコードを実行した場合、'income' 列はどうなりますか?(remainder 引数が指定されていないことに注意してください)

正しい答えを選んでください

すべて明確でしたか?

どのように改善できますか?

フィードバックありがとうございます!

セクション 3.  2

AIに質問する

expand

AIに質問する

ChatGPT

何でも質問するか、提案された質問の1つを試してチャットを始めてください

セクション 3.  2
some-alt