Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lära Ordinalencoder | Förbehandling av Data med Scikit-learn
ML-introduktion Med Scikit-learn

bookOrdinalencoder

Nästa fråga att ta itu med är kategoriska data. Det finns två huvudtyper av kategoriska variabler.

Ordinal data har en naturlig ordning, medan nominal data saknar detta. På grund av denna ordning kan kategorier kodas som siffror enligt deras rangordning.

Till exempel kan en 'rate'-kolumn med värdena 'Terrible', 'Bad', 'OK', 'Good' och 'Great' kodas som:

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

För att koda ordinal data används OrdinalEncoder. Den omvandlar kategorier till heltal med start från 0.

OrdinalEncoder används på samma sätt som andra transformatorer. Den största utmaningen är att ange argumentet categories korrekt.

Tänk till exempel på en datamängd (inte penguins-datamängden) som innehåller en 'education'-kolumn. Första steget är att kontrollera dess unika värden.

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

En ordnad lista över kategoriska värden måste skapas, från 'HS-grad' till '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

Vid transformering av flera funktioner med OrdinalEncoder måste kategorierna för varje kolumn anges explicit. Detta görs via argumentet categories:

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

1. Vilket påstående beskriver bäst användningen av OrdinalEncoder för att hantera kategoriska data i en datamängd?

2. Antag att du har en kategorisk kolumn med namnet 'Color'. Är det lämpligt att använda OrdinalEncoder för att koda dess värden?

question mark

Vilket påstående beskriver bäst användningen av OrdinalEncoder för att hantera kategoriska data i en datamängd?

Select the correct answer

question mark

Antag att du har en kategorisk kolumn med namnet 'Color'. Är det lämpligt att använda OrdinalEncoder för att koda dess värden?

Select the correct answer

Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 2. Kapitel 5

Fråga AI

expand

Fråga AI

ChatGPT

Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal

Suggested prompts:

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

bookOrdinalencoder

Svep för att visa menyn

Nästa fråga att ta itu med är kategoriska data. Det finns två huvudtyper av kategoriska variabler.

Ordinal data har en naturlig ordning, medan nominal data saknar detta. På grund av denna ordning kan kategorier kodas som siffror enligt deras rangordning.

Till exempel kan en 'rate'-kolumn med värdena 'Terrible', 'Bad', 'OK', 'Good' och 'Great' kodas som:

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

För att koda ordinal data används OrdinalEncoder. Den omvandlar kategorier till heltal med start från 0.

OrdinalEncoder används på samma sätt som andra transformatorer. Den största utmaningen är att ange argumentet categories korrekt.

Tänk till exempel på en datamängd (inte penguins-datamängden) som innehåller en 'education'-kolumn. Första steget är att kontrollera dess unika värden.

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

En ordnad lista över kategoriska värden måste skapas, från 'HS-grad' till '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

Vid transformering av flera funktioner med OrdinalEncoder måste kategorierna för varje kolumn anges explicit. Detta görs via argumentet categories:

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

1. Vilket påstående beskriver bäst användningen av OrdinalEncoder för att hantera kategoriska data i en datamängd?

2. Antag att du har en kategorisk kolumn med namnet 'Color'. Är det lämpligt att använda OrdinalEncoder för att koda dess värden?

question mark

Vilket påstående beskriver bäst användningen av OrdinalEncoder för att hantera kategoriska data i en datamängd?

Select the correct answer

question mark

Antag att du har en kategorisk kolumn med namnet 'Color'. Är det lämpligt att använda OrdinalEncoder för att koda dess värden?

Select the correct answer

Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 2. Kapitel 5
some-alt