Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele Tehokas Datan Esikäsittely Putkistojen Avulla | Osio
Practice
Projects
Quizzes & Challenges
Visat
Challenges
/
Koneoppimisen Perusteet

bookTehokas Datan Esikäsittely Putkistojen Avulla

Kun sarakkeita voidaan muuntaa erikseen käyttämällä make_column_transformer-funktiota, seuraava vaihe on rakentaa putkistoja. Putkisto on säiliö, joka järjestää esikäsittelyvaiheet ja soveltaa niitä peräkkäin.

Scikit-learnissa putkiston voi luoda joko Pipeline-luokan konstruktorilla tai make_pipeline-funktiolla, joka löytyy sklearn.pipeline-moduulista. Tässä kurssissa keskitytään make_pipeline-funktioon, koska sen käyttö on yksinkertaisempaa.

Sinun tarvitsee vain välittää kaikki muuntimet funktion argumentteina. Putkistojen luominen on näin yksinkertaista.

Kun kuitenkin kutsut .fit_transform(X)-metodia Pipeline-oliolle, se soveltaa .fit_transform(X) jokaiseen putkiston sisällä olevaan muuntimeen. Jos haluat käsitellä joitakin sarakkeita eri tavalla, sinun kannattaa käyttää ColumnTransformer-muunninta ja välittää se make_pipeline()-funktiolle.

Rakenna putki käyttäen samaa tiedostoa kuin edellisessä luvussa. Putken tulee sisältää kooderit kategorisille ominaisuuksille yhdessä SimpleImputer-luokan kanssa. Koska tietoaineistossa on sekä nominaalisia että ordinaalisia ominaisuuksia, käytä ColumnTransformer-luokkaa niiden erilliseen käsittelyyn.

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

Miksi käyttäisit ColumnTransformer-luokkaa putkessa?

Select the correct answer

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 1. Luku 19

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme

bookTehokas Datan Esikäsittely Putkistojen Avulla

Pyyhkäise näyttääksesi valikon

Kun sarakkeita voidaan muuntaa erikseen käyttämällä make_column_transformer-funktiota, seuraava vaihe on rakentaa putkistoja. Putkisto on säiliö, joka järjestää esikäsittelyvaiheet ja soveltaa niitä peräkkäin.

Scikit-learnissa putkiston voi luoda joko Pipeline-luokan konstruktorilla tai make_pipeline-funktiolla, joka löytyy sklearn.pipeline-moduulista. Tässä kurssissa keskitytään make_pipeline-funktioon, koska sen käyttö on yksinkertaisempaa.

Sinun tarvitsee vain välittää kaikki muuntimet funktion argumentteina. Putkistojen luominen on näin yksinkertaista.

Kun kuitenkin kutsut .fit_transform(X)-metodia Pipeline-oliolle, se soveltaa .fit_transform(X) jokaiseen putkiston sisällä olevaan muuntimeen. Jos haluat käsitellä joitakin sarakkeita eri tavalla, sinun kannattaa käyttää ColumnTransformer-muunninta ja välittää se make_pipeline()-funktiolle.

Rakenna putki käyttäen samaa tiedostoa kuin edellisessä luvussa. Putken tulee sisältää kooderit kategorisille ominaisuuksille yhdessä SimpleImputer-luokan kanssa. Koska tietoaineistossa on sekä nominaalisia että ordinaalisia ominaisuuksia, käytä ColumnTransformer-luokkaa niiden erilliseen käsittelyyn.

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

Miksi käyttäisit ColumnTransformer-luokkaa putkessa?

Select the correct answer

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 1. Luku 19
some-alt