Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Effektiv Datapreprocessering med Pipelines | Sektion
Grundlæggende Maskinlæring

bookEffektiv Datapreprocessering med Pipelines

Med muligheden for at transformere kolonner separat ved hjælp af funktionen make_column_transformer, er næste skridt at opbygge pipelines. En pipeline er en container, der organiserer forbehandlingsskridt og anvender dem sekventielt.

En pipeline i Scikit-learn kan oprettes enten ved hjælp af Pipeline-klassens konstruktør eller funktionen make_pipeline fra modulet sklearn.pipeline. Dette kursus vil fokusere på make_pipeline, da det er lettere at anvende.

Det eneste, der kræves, er at videregive alle transformere som argumenter til en funktion. Oprettelse af pipelines er så enkelt.

Når du imidlertid kalder metoden .fit_transform(X)Pipeline-objektet, anvender den .fit_transform(X)hver transformer i pipelinen, så hvis du ønsker at behandle nogle kolonner anderledes, bør du bruge en ColumnTransformer og videregive den til make_pipeline().

Opbyg en pipeline ved at bruge den samme fil som i det forrige kapitel. Pipen skal inkludere kodere til kategoriske træk sammen med SimpleImputer. Da datasættet indeholder både nominelle og ordinale træk, skal du bruge en ColumnTransformer til at 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 bruge en ColumnTransformer i en pipeline?

Select the correct answer

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 1. Kapitel 19

Spørg AI

expand

Spørg AI

ChatGPT

Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat

bookEffektiv Datapreprocessering med Pipelines

Stryg for at vise menuen

Med muligheden for at transformere kolonner separat ved hjælp af funktionen make_column_transformer, er næste skridt at opbygge pipelines. En pipeline er en container, der organiserer forbehandlingsskridt og anvender dem sekventielt.

En pipeline i Scikit-learn kan oprettes enten ved hjælp af Pipeline-klassens konstruktør eller funktionen make_pipeline fra modulet sklearn.pipeline. Dette kursus vil fokusere på make_pipeline, da det er lettere at anvende.

Det eneste, der kræves, er at videregive alle transformere som argumenter til en funktion. Oprettelse af pipelines er så enkelt.

Når du imidlertid kalder metoden .fit_transform(X)Pipeline-objektet, anvender den .fit_transform(X)hver transformer i pipelinen, så hvis du ønsker at behandle nogle kolonner anderledes, bør du bruge en ColumnTransformer og videregive den til make_pipeline().

Opbyg en pipeline ved at bruge den samme fil som i det forrige kapitel. Pipen skal inkludere kodere til kategoriske træk sammen med SimpleImputer. Da datasættet indeholder både nominelle og ordinale træk, skal du bruge en ColumnTransformer til at 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 bruge en ColumnTransformer i en pipeline?

Select the correct answer

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 1. Kapitel 19
some-alt