Ordinalencoder
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.
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())
Er moet een geordende lijst van categorische waarden worden gemaakt, variërend van 'HS-grad'
tot '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'])
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?
Bedankt voor je feedback!
Vraag AI
Vraag AI
Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.
Awesome!
Completion rate improved to 3.13
Ordinalencoder
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.
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())
Er moet een geordende lijst van categorische waarden worden gemaakt, variërend van 'HS-grad'
tot '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'])
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?
Bedankt voor je feedback!