Ordinalenkooderi
Seuraava käsiteltävä asia on kategorinen data. Kategorisia muuttujia on kahta päätyyppiä.
Ordinaalisella datalla on luonnollinen järjestys, kun taas nominaalisella datalla ei ole. Tämän järjestyksen vuoksi kategoriat voidaan koodata numeroiksi niiden järjestyksen mukaan.
Esimerkiksi 'rate'
-sarakkeen arvot 'Terrible', 'Bad', 'OK', 'Good' ja 'Great' voidaan koodata seuraavasti:
- 'Terrible' → 0
- 'Bad' → 1
- 'OK' → 2
- 'Good' → 3
- 'Great' → 4
Ordinaalisen datan koodaamiseen käytetään OrdinalEncoder
-muunninta. Se muuntaa kategoriat kokonaisluvuiksi alkaen nollasta.
OrdinalEncoder
-muunninta käytetään samalla tavalla kuin muita muuntimia. Suurin haaste liittyy categories
-argumentin määrittelyyn oikein.
Esimerkiksi, tarkastellaan aineistoa (ei penguins-aineistoa), jossa on 'education'
-sarake. Ensimmäinen vaihe on tarkistaa sen uniikit arvot.
12345import pandas as pd df = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/a65bbc96-309e-4df9-a790-a1eb8c815a1c/adult_edu.csv') print(df['education'].unique())
Järjestetty luettelo kategorisista arvoista tulee luoda, alkaen 'HS-grad'
ja päättyen 'Doctorate'
.
1234567891011121314import pandas as pd from sklearn.preprocessing import OrdinalEncoder # Load the data and assign X, y variables df = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/a65bbc96-309e-4df9-a790-a1eb8c815a1c/adult_edu.csv') y = df['income'] # 'income' is a target in this dataset X = df.drop('income', axis=1) # Create a list of categories so HS-grad is encoded as 0 and Doctorate as 6 edu_categories = ['HS-grad', 'Some-college', 'Assoc', 'Bachelors', 'Masters', 'Prof-school', 'Doctorate'] # Initialize an OrdinalEncoder instance with the correct categories ord_enc = OrdinalEncoder(categories=[edu_categories]) # Transform the 'education' column and print it X['education'] = ord_enc.fit_transform(X[['education']]) print(X['education'])
Kun useita ominaisuuksia muunnetaan OrdinalEncoder
-luokan avulla, jokaisen sarakkeen kategoriat on määriteltävä selkeästi. Tämä tehdään categories
-argumentilla:
encoder = OrdinalEncoder(categories=[col1_categories, col2_categories, ...])
1. Mikä väittämä kuvaa parhaiten OrdinalEncoder
-luokan käyttöä kategoristen tietojen käsittelyssä aineistossa?
2. Oletetaan, että sinulla on kategorinen sarake nimeltä 'Color'
. Olisiko sopivaa käyttää OrdinalEncoder
-luokkaa sen arvojen koodaamiseen?
Kiitos palautteestasi!
Kysy tekoälyä
Kysy tekoälyä
Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme
Can you explain the difference between ordinal and nominal data in more detail?
How do I determine the correct order for ordinal categories?
What happens if I don't specify the categories argument correctly in OrdinalEncoder?
Awesome!
Completion rate improved to 3.13
Ordinalenkooderi
Pyyhkäise näyttääksesi valikon
Seuraava käsiteltävä asia on kategorinen data. Kategorisia muuttujia on kahta päätyyppiä.
Ordinaalisella datalla on luonnollinen järjestys, kun taas nominaalisella datalla ei ole. Tämän järjestyksen vuoksi kategoriat voidaan koodata numeroiksi niiden järjestyksen mukaan.
Esimerkiksi 'rate'
-sarakkeen arvot 'Terrible', 'Bad', 'OK', 'Good' ja 'Great' voidaan koodata seuraavasti:
- 'Terrible' → 0
- 'Bad' → 1
- 'OK' → 2
- 'Good' → 3
- 'Great' → 4
Ordinaalisen datan koodaamiseen käytetään OrdinalEncoder
-muunninta. Se muuntaa kategoriat kokonaisluvuiksi alkaen nollasta.
OrdinalEncoder
-muunninta käytetään samalla tavalla kuin muita muuntimia. Suurin haaste liittyy categories
-argumentin määrittelyyn oikein.
Esimerkiksi, tarkastellaan aineistoa (ei penguins-aineistoa), jossa on 'education'
-sarake. Ensimmäinen vaihe on tarkistaa sen uniikit arvot.
12345import pandas as pd df = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/a65bbc96-309e-4df9-a790-a1eb8c815a1c/adult_edu.csv') print(df['education'].unique())
Järjestetty luettelo kategorisista arvoista tulee luoda, alkaen 'HS-grad'
ja päättyen 'Doctorate'
.
1234567891011121314import pandas as pd from sklearn.preprocessing import OrdinalEncoder # Load the data and assign X, y variables df = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/a65bbc96-309e-4df9-a790-a1eb8c815a1c/adult_edu.csv') y = df['income'] # 'income' is a target in this dataset X = df.drop('income', axis=1) # Create a list of categories so HS-grad is encoded as 0 and Doctorate as 6 edu_categories = ['HS-grad', 'Some-college', 'Assoc', 'Bachelors', 'Masters', 'Prof-school', 'Doctorate'] # Initialize an OrdinalEncoder instance with the correct categories ord_enc = OrdinalEncoder(categories=[edu_categories]) # Transform the 'education' column and print it X['education'] = ord_enc.fit_transform(X[['education']]) print(X['education'])
Kun useita ominaisuuksia muunnetaan OrdinalEncoder
-luokan avulla, jokaisen sarakkeen kategoriat on määriteltävä selkeästi. Tämä tehdään categories
-argumentilla:
encoder = OrdinalEncoder(categories=[col1_categories, col2_categories, ...])
1. Mikä väittämä kuvaa parhaiten OrdinalEncoder
-luokan käyttöä kategoristen tietojen käsittelyssä aineistossa?
2. Oletetaan, että sinulla on kategorinen sarake nimeltä 'Color'
. Olisiko sopivaa käyttää OrdinalEncoder
-luokkaa sen arvojen koodaamiseen?
Kiitos palautteestasi!