Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lära Ordinalenkodare | Förbehandling av Data med Scikit-learn
Quizzes & Challenges
Quizzes
Challenges
/
Introduktion till maskininlärning med Python

bookOrdinalenkodare

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

Ordinala data har en naturlig ordning, medan nominala 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 ordinala 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.

Till exempel, överväg 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

När flera funktioner transformeras med OrdinalEncoder måste kategorierna för varje kolumn anges explicit. Detta görs genom 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

bookOrdinalenkodare

Svep för att visa menyn

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

Ordinala data har en naturlig ordning, medan nominala 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 ordinala 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.

Till exempel, överväg 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

När flera funktioner transformeras med OrdinalEncoder måste kategorierna för varje kolumn anges explicit. Detta görs genom 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