Kolumntransformator
Vid anrop av .fit_transform(X) på en Pipeline tillämpas varje transformerare på alla kolumner, vilket inte alltid är önskvärt. Vissa kolumner kan kräva olika kodare — till exempel OrdinalEncoder för ordnade variabler och OneHotEncoder för nominella variabler.
ColumnTransformer löser detta genom att låta dig tilldela olika transformerare till specifika kolumner med hjälp av make_column_transformer.
make_column_transformer accepterar tupler av (transformer, [columns]).
Till exempel, tillämpa OrdinalEncoder på 'education' och OneHotEncoder på 'gender':
ct = make_column_transformer(
(OrdinalEncoder(), ['education']),
(OneHotEncoder(), ['gender']),
remainder='passthrough'
)
remainder styr vad som händer med ospecificerade kolumner.
Standard: 'drop'.
För att behålla alla andra kolumner oförändrade, ange remainder='passthrough'.
Till exempel, överväg filen exams.csv. Den innehåller flera nominala kolumner ('gender', 'race/ethnicity', 'lunch', 'test preparation course') och en ordinal kolumn, 'parental level of education'.
12345import 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())
Med hjälp av ColumnTransformer kan nominella data transformeras med OneHotEncoder och ordnala data med OrdinalEncoder i ett enda steg.
12345678910111213from 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))
ColumnTransformer är i sig själv en transformerare, så den tillhandahåller de standardiserade metoderna .fit(), .fit_transform() och .transform().
Tack för dina kommentarer!
Fråga AI
Fråga AI
Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal
Fantastiskt!
Completion betyg förbättrat till 3.13
Kolumntransformator
Svep för att visa menyn
Vid anrop av .fit_transform(X) på en Pipeline tillämpas varje transformerare på alla kolumner, vilket inte alltid är önskvärt. Vissa kolumner kan kräva olika kodare — till exempel OrdinalEncoder för ordnade variabler och OneHotEncoder för nominella variabler.
ColumnTransformer löser detta genom att låta dig tilldela olika transformerare till specifika kolumner med hjälp av make_column_transformer.
make_column_transformer accepterar tupler av (transformer, [columns]).
Till exempel, tillämpa OrdinalEncoder på 'education' och OneHotEncoder på 'gender':
ct = make_column_transformer(
(OrdinalEncoder(), ['education']),
(OneHotEncoder(), ['gender']),
remainder='passthrough'
)
remainder styr vad som händer med ospecificerade kolumner.
Standard: 'drop'.
För att behålla alla andra kolumner oförändrade, ange remainder='passthrough'.
Till exempel, överväg filen exams.csv. Den innehåller flera nominala kolumner ('gender', 'race/ethnicity', 'lunch', 'test preparation course') och en ordinal kolumn, 'parental level of education'.
12345import 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())
Med hjälp av ColumnTransformer kan nominella data transformeras med OneHotEncoder och ordnala data med OrdinalEncoder i ett enda steg.
12345678910111213from 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))
ColumnTransformer är i sig själv en transformerare, så den tillhandahåller de standardiserade metoderna .fit(), .fit_transform() och .transform().
Tack för dina kommentarer!