Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Leer Ordinalencoder | Gegevens Preprocessen met Scikit-learn
ML-Introductie met Scikit-learn

bookOrdinalencoder

Het volgende probleem dat moet worden aangepakt is categorische data. Er zijn twee hoofdtypen categorische variabelen.

Ordinale data heeft een natuurlijke volgorde, terwijl nominale data dat niet heeft. Door deze volgorde kunnen categorieën als getallen worden gecodeerd op basis van hun rangschikking.

Bijvoorbeeld, een 'rate'-kolom met de waarden 'Terrible', 'Bad', 'OK', 'Good' en 'Great' kan als volgt worden gecodeerd:

  • 'Terrible' → 0
  • 'Bad' → 1
  • 'OK' → 2
  • 'Good' → 3
  • 'Great' → 4

Voor het coderen van ordinale data wordt de OrdinalEncoder gebruikt. Deze zet categorieën om in gehele getallen, beginnend bij 0.

OrdinalEncoder wordt op dezelfde manier toegepast als andere transformators. De belangrijkste uitdaging is het correct specificeren van het argument categories.

Beschouw bijvoorbeeld een dataset (niet de penguins dataset) die een 'education'-kolom bevat. De eerste stap is het controleren van de unieke waarden.

12345
import 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())
copy

Er moet een geordende lijst van categorische waarden worden gemaakt, variërend van 'HS-grad' tot 'Doctorate'.

1234567891011121314
import 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'])
copy

Bij het transformeren van meerdere kenmerken met OrdinalEncoder moeten de categorieën voor elke kolom expliciet worden gespecificeerd. Dit gebeurt via het argument categories:

encoder = OrdinalEncoder(categories=[col1_categories, col2_categories, ...])

1. Welke uitspraak beschrijft het beste het gebruik van de OrdinalEncoder voor het verwerken van categorische gegevens in een dataset?

2. Stel dat je een categorische kolom genaamd 'Color' hebt. Is het gepast om de OrdinalEncoder te gebruiken om de waarden te coderen?

question mark

Welke uitspraak beschrijft het beste het gebruik van de OrdinalEncoder voor het verwerken van categorische gegevens in een dataset?

Select the correct answer

question mark

Stel dat je een categorische kolom genaamd 'Color' hebt. Is het gepast om de OrdinalEncoder te gebruiken om de waarden te coderen?

Select the correct answer

Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 2. Hoofdstuk 5

Vraag AI

expand

Vraag AI

ChatGPT

Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.

Awesome!

Completion rate improved to 3.13

bookOrdinalencoder

Veeg om het menu te tonen

Het volgende probleem dat moet worden aangepakt is categorische data. Er zijn twee hoofdtypen categorische variabelen.

Ordinale data heeft een natuurlijke volgorde, terwijl nominale data dat niet heeft. Door deze volgorde kunnen categorieën als getallen worden gecodeerd op basis van hun rangschikking.

Bijvoorbeeld, een 'rate'-kolom met de waarden 'Terrible', 'Bad', 'OK', 'Good' en 'Great' kan als volgt worden gecodeerd:

  • 'Terrible' → 0
  • 'Bad' → 1
  • 'OK' → 2
  • 'Good' → 3
  • 'Great' → 4

Voor het coderen van ordinale data wordt de OrdinalEncoder gebruikt. Deze zet categorieën om in gehele getallen, beginnend bij 0.

OrdinalEncoder wordt op dezelfde manier toegepast als andere transformators. De belangrijkste uitdaging is het correct specificeren van het argument categories.

Beschouw bijvoorbeeld een dataset (niet de penguins dataset) die een 'education'-kolom bevat. De eerste stap is het controleren van de unieke waarden.

12345
import 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())
copy

Er moet een geordende lijst van categorische waarden worden gemaakt, variërend van 'HS-grad' tot 'Doctorate'.

1234567891011121314
import 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'])
copy

Bij het transformeren van meerdere kenmerken met OrdinalEncoder moeten de categorieën voor elke kolom expliciet worden gespecificeerd. Dit gebeurt via het argument categories:

encoder = OrdinalEncoder(categories=[col1_categories, col2_categories, ...])

1. Welke uitspraak beschrijft het beste het gebruik van de OrdinalEncoder voor het verwerken van categorische gegevens in een dataset?

2. Stel dat je een categorische kolom genaamd 'Color' hebt. Is het gepast om de OrdinalEncoder te gebruiken om de waarden te coderen?

question mark

Welke uitspraak beschrijft het beste het gebruik van de OrdinalEncoder voor het verwerken van categorische gegevens in een dataset?

Select the correct answer

question mark

Stel dat je een categorische kolom genaamd 'Color' hebt. Is het gepast om de OrdinalEncoder te gebruiken om de waarden te coderen?

Select the correct answer

Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 2. Hoofdstuk 5
some-alt