Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Effektiv Dataprosessering med Pipelines | Seksjon
Practice
Projects
Quizzes & Challenges
Quizer
Challenges
/
Grunnleggende Maskinlæring

bookEffektiv Dataprosessering med Pipelines

Med muligheten til å transformere kolonner separat ved hjelp av funksjonen make_column_transformer, er neste steg å bygge pipelines. En pipeline er en beholder som organiserer forhåndsbehandlingssteg og anvender dem sekvensielt.

En pipeline i Scikit-learn kan opprettes enten ved å bruke Pipeline-klassekonstruktøren eller funksjonen make_pipeline fra modulen sklearn.pipeline. Dette kurset vil fokusere på make_pipeline, da den er enklere å bruke.

Du trenger bare å sende alle transformere som argumenter til en funksjon. Å lage pipelines er så enkelt.

Når du imidlertid kaller metoden .fit_transform(X)Pipeline-objektet, anvender den .fit_transform(X)hver transformer inne i pipelinen, så hvis du ønsker å behandle noen kolonner annerledes, bør du bruke en ColumnTransformer og sende den til make_pipeline().

Bygg en pipeline ved å bruke den samme filen som i forrige kapittel. Pipen skal inkludere enkodere for kategoriske variabler sammen med SimpleImputer. Siden datasettet inneholder både nominelle og ordinale variabler, bruk en ColumnTransformer for å behandle dem separat.

1234567891011121314151617
import pandas as pd from sklearn.compose import make_column_transformer from sklearn.preprocessing import OneHotEncoder, OrdinalEncoder from sklearn.impute import SimpleImputer from sklearn.pipeline import make_pipeline df = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/a65bbc96-309e-4df9-a790-a1eb8c815a1c/exams.csv') # Making a column transformer 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' ) # Making a Pipeline pipe = make_pipeline(ct, SimpleImputer(strategy='most_frequent')) print(pipe.fit_transform(df))
copy
question mark

Hvorfor ville du brukt en ColumnTransformer i en pipeline?

Select the correct answer

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 1. Kapittel 19

Spør AI

expand

Spør AI

ChatGPT

Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår

bookEffektiv Dataprosessering med Pipelines

Sveip for å vise menyen

Med muligheten til å transformere kolonner separat ved hjelp av funksjonen make_column_transformer, er neste steg å bygge pipelines. En pipeline er en beholder som organiserer forhåndsbehandlingssteg og anvender dem sekvensielt.

En pipeline i Scikit-learn kan opprettes enten ved å bruke Pipeline-klassekonstruktøren eller funksjonen make_pipeline fra modulen sklearn.pipeline. Dette kurset vil fokusere på make_pipeline, da den er enklere å bruke.

Du trenger bare å sende alle transformere som argumenter til en funksjon. Å lage pipelines er så enkelt.

Når du imidlertid kaller metoden .fit_transform(X)Pipeline-objektet, anvender den .fit_transform(X)hver transformer inne i pipelinen, så hvis du ønsker å behandle noen kolonner annerledes, bør du bruke en ColumnTransformer og sende den til make_pipeline().

Bygg en pipeline ved å bruke den samme filen som i forrige kapittel. Pipen skal inkludere enkodere for kategoriske variabler sammen med SimpleImputer. Siden datasettet inneholder både nominelle og ordinale variabler, bruk en ColumnTransformer for å behandle dem separat.

1234567891011121314151617
import pandas as pd from sklearn.compose import make_column_transformer from sklearn.preprocessing import OneHotEncoder, OrdinalEncoder from sklearn.impute import SimpleImputer from sklearn.pipeline import make_pipeline df = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/a65bbc96-309e-4df9-a790-a1eb8c815a1c/exams.csv') # Making a column transformer 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' ) # Making a Pipeline pipe = make_pipeline(ct, SimpleImputer(strategy='most_frequent')) print(pipe.fit_transform(df))
copy
question mark

Hvorfor ville du brukt en ColumnTransformer i en pipeline?

Select the correct answer

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 1. Kapittel 19
some-alt