用語比較
ColumnTransformerのremainder='drop'と'passthrough'の違い(Python3データ分析)
違いは、指定しなかった列の行き先です。既定の'drop'では出力から消え、'passthrough'では変換されないまま残ります。
Python3データ分析試験の公式の出題範囲には、scikit-learnの節(8問)があります。出題の形式は、受験前に公式の案内で確かめてください。
この記事の目次
この記事の根拠と出典
各セクションの見出しの下に、公式資料で確認した内容か編集部の整理かをラベルで示しています。 試験日・料金・申込条件・試験方式は変わることがあるため、申込前に公式サイトで確認してください。
remainder='drop'(既定)とremainder='passthrough'の要点
remainder='drop'(既定)
transformersに指定した列だけが変換されて出力に残る。指定しなかった列は捨てられ、列数が減る。
remainder='passthrough'
指定しなかった列も、変換されないまま出力に連結される。変換した列の右側に加わる。
違いを表で確認
| 比較軸 | remainder='drop'(既定) | remainder='passthrough' |
|---|---|---|
| 指定しなかった列 | 出力から捨てられる | 変換されずに出力へ連結される |
| 既定値かどうか | 既定値。remainderを省略するとこちらになる | remainder='passthrough' と明示したときだけ |
| 3列のデータで、列0と列1だけを指定したときの出力の列数 | 2列。指定した列の変換結果だけ | 3列。変換した2列に、指定しなかった1列が加わる |
| 残した列の位置 | 残る列がないので、位置の問題は起きない | 変換器の出力の右側に加わる。出力の列の順序は、transformersに指定した順に従う |
| 変換器の位置に書く同名の文字列 | transformersの中の'drop'は、その列を捨てる指定 | transformersの中の'passthrough'は、その列を変換せずに通す指定 |
Python3エンジニア認定データ分析試験の学習に使う書籍(Amazon)
PRどこで迷っているかを切り分ける
変換した列だけでよい人
remainderを省略した既定のまま使います。指定しなかった列は出力に出ないので、出力の列数は指定した列の変換結果の分だけです。
変換しない列も一緒に残したい人
remainder='passthrough' を付けます。指定しなかった列は、変換されずに出力の右側へ連結されます。
出力の列が減ったことに気づかなかった人
既定では、指定しなかった列は黙って捨てられます。出力の列数を、入力の列数と比べて確かめます。
具体例で使い分ける
例 1
3列のデータで、2列だけをStandardScalerにかける
X=[[0, 15, 7], [1, -10, 8]] の列0と列1だけを標準化し、列2は指定しない場面です。
- ColumnTransformer([('sc', StandardScaler(), [0, 1])]) とし、remainderを省略すると既定の'drop'です。
- 列0と列1の変換結果は [[-1, 1], [1, -1]] です(公式のGetting Startedの標準化の例と同じ値)。列2は捨てられるので、出力は2行2列になります。
結論: 既定の'drop'では、出力の列数は2。指定しなかった列2は出力に出ません。
例 2
同じデータで、残りの列を通す
同じXで、remainder='passthrough' を付ける場面です。
- 列0と列1の変換結果は同じ [[-1, 1], [1, -1]] です。
- 指定しなかった列2は変換されず、[7, 8] のまま出力の右側に加わります。出力は [[-1, 1, 7], [1, -1, 8]] の2行3列です。
結論: 'passthrough'では、出力の列数は3。残した列2は、変換した列の右に付きます。
問題文から答えを選ぶ手順
- 1
変換する列を決める
transformersに書く列(列の番号や列名)を決めます。
- 2
残りの列が必要か決める
指定しなかった列を出力に使うなら'passthrough'、使わないなら既定の'drop'のままにします。
- 3
出力の列数を確かめる
'drop'なら指定した列の変換結果の分だけ、'passthrough'ならそれに残りの列数を足した数です。
試験での見分け方
- 1remainderの既定値は'drop'。指定しなかった列は出力に出ない。
- 2指定しなかった列を変換せずに残すなら、remainder='passthrough'。
- 3'passthrough'で残した列は、変換器の出力の右側に加わる。
- 4transformersの中の'drop'・'passthrough'は、その列だけに対する指定。
- 5remainderには'drop'・'passthrough'のほか、推定器も渡せる。
誤答しやすい選択肢
指定しなかった列も、そのまま出力に残ると考える
修正: 既定のremainder='drop'では、指定しなかった列は出力から捨てられます。残したいときは'passthrough'を付けます。
'passthrough'で残した列が、元の位置に戻ると考える
修正: 残した列は変換器の出力の右側に連結されます。元の列の並びには戻りません。
remainderとtransformersの中の'drop'を同じものだと考える
修正: remainderは「指定しなかった列」全体の扱いです。transformersの中の'drop'は、列を指定したうえで捨てる指定です。
確認問題
Q1ColumnTransformerのremainderの既定値は何か?
答え: 'drop'
transformersに指定しなかった列は、既定では出力から捨てられます。
Q23列のデータの列0と列1だけを指定し、remainder='passthrough' にしたとき、出力は何列か?
答え: 3列
変換した2列に、指定しなかった1列が変換されずに連結されます。
Q3remainder='passthrough' で残した列は、出力のどこに加わるか?
答え: 変換器の出力の右側
公式文書では、指定しなかった列の部分集合が変換器の出力に連結されると説明されています。
到達チェック
- remainderの既定値が'drop'だと説明できる
- 'passthrough'で出力の列数がいくつになるか数えられる
- 残した列が出力の右側に加わると説明できる
関連ページで確認する
同じ資格で次に知りたいこと
- plt.figure()とplt.subplots()の違い|Axesの有無(Python3データ分析)
plt.figure()はAxesのない空のFigure、plt.subplots()はAxes付きのFigureを作ります。plt.subplots(2, 2)の格子、subplot_mosaicとの違い、戻り値の受け取り方を、Matplotlib公式のQuick start guideで照合してまとめます。
- Pipelineとmake_pipelineの違い(Python3データ分析)
scikit-learnのPipelineは(名前, 推定器)のタプルで工程に名前を付け、make_pipelineは推定器だけを渡して名前を型の小文字で自動に付けます。StandardScalerとSVCを例に、両者の書き方と名前の違いを公式文書で照合してまとめます。
- NumPyのaxis=0とaxis=1の違い|列ごとの集計と行ごとの集計(Python3データ分析試験)
NumPyのaxis=0は列ごと、axis=1は行ごとに計算します。3行4列の配列でsum・min・cumsumの結果を並べ、pandasのmean(axis=1)との対応、間違えやすい点と確認問題をまとめます。
よくある質問
QColumnTransformerのremainderとは何ですか?
transformersに指定しなかった列の扱いを決める引数です。scikit-learn公式文書では、既定値は'drop'で、指定しなかった列は捨てられます。'passthrough'にすると、残りの列が変換されずに出力へ連結されます。
Qremainderに推定器を渡せますか?
渡せます。公式文書では、remainderに推定器を渡すと、指定しなかった列にその推定器が使われます。推定器はfitとtransformに対応している必要があります。
Qremainderを使うときの注意はありますか?
公式文書では、remainderを推定器にする場合、fitとtransformで渡すDataFrameの列の順序が同じである必要があるとされています。
QPython3データ分析試験で問われますか?
公式の出題範囲にscikit-learnの節(8問)があります。ColumnTransformerの出題の形式は、受験前に公式の案内で確認してください。
次に見る比較
- G検定・DS検定・統計検定2級で重なる用語10語の比較
同じ名前の用語の定義と収録章を、資格ごとに並べます。
- ベイズの定理と条件付き確率の違い(統計検定2級の式と計算例)
求める確率の向きの違いと、陽性になる確率の計算例を確かめます。
- 紛らわしい用語ペア早見表
混同しやすい用語の違いと判定の手掛かりを、資格別の一覧で確かめます。
執筆: AI資格ドリル編集部(運営者情報を見る)
