Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Вивчайте OrdinalEncoder | Попередня Обробка Даних Із Scikit-learn
Вступ до ML з Scikit-learn

bookOrdinalEncoder

Наступне питання, яке потрібно розглянути, — це категоріальні дані. Існує два основних типи категоріальних змінних.

Порядкові дані мають природний порядок, тоді як номінальні — ні. Завдяки цьому порядку категорії можна кодувати числами відповідно до їхнього ранжування.

Наприклад, стовпець 'rate' зі значеннями 'Terrible', 'Bad', 'OK', 'Good' та 'Great' можна закодувати так:

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

Для кодування порядкових даних використовується OrdinalEncoder. Він перетворює категорії на цілі числа, починаючи з 0.

OrdinalEncoder застосовується так само, як і інші трансформери. Основна складність полягає у правильному зазначенні аргументу categories.

Наприклад, розглянемо набір даних (не penguins), який містить стовпець 'education'. Перший крок — перевірити його унікальні значення.

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

Необхідно створити впорядкований список категоріальних значень у діапазоні від 'HS-grad' до '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

Під час перетворення декількох ознак за допомогою OrdinalEncoder категорії для кожного стовпця мають бути явно вказані. Це здійснюється через аргумент categories:

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

1. Яке твердження найкраще описує використання OrdinalEncoder для обробки категоріальних даних у наборі даних?

2. Припустимо, у вас є категоріальний стовпець з назвою 'Color'. Чи доцільно використовувати OrdinalEncoder для кодування його значень?

question mark

Яке твердження найкраще описує використання OrdinalEncoder для обробки категоріальних даних у наборі даних?

Select the correct answer

question mark

Припустимо, у вас є категоріальний стовпець з назвою 'Color'. Чи доцільно використовувати OrdinalEncoder для кодування його значень?

Select the correct answer

Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 2. Розділ 5

Запитати АІ

expand

Запитати АІ

ChatGPT

Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат

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

Свайпніть щоб показати меню

Наступне питання, яке потрібно розглянути, — це категоріальні дані. Існує два основних типи категоріальних змінних.

Порядкові дані мають природний порядок, тоді як номінальні — ні. Завдяки цьому порядку категорії можна кодувати числами відповідно до їхнього ранжування.

Наприклад, стовпець 'rate' зі значеннями 'Terrible', 'Bad', 'OK', 'Good' та 'Great' можна закодувати так:

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

Для кодування порядкових даних використовується OrdinalEncoder. Він перетворює категорії на цілі числа, починаючи з 0.

OrdinalEncoder застосовується так само, як і інші трансформери. Основна складність полягає у правильному зазначенні аргументу categories.

Наприклад, розглянемо набір даних (не penguins), який містить стовпець 'education'. Перший крок — перевірити його унікальні значення.

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

Необхідно створити впорядкований список категоріальних значень у діапазоні від 'HS-grad' до '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

Під час перетворення декількох ознак за допомогою OrdinalEncoder категорії для кожного стовпця мають бути явно вказані. Це здійснюється через аргумент categories:

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

1. Яке твердження найкраще описує використання OrdinalEncoder для обробки категоріальних даних у наборі даних?

2. Припустимо, у вас є категоріальний стовпець з назвою 'Color'. Чи доцільно використовувати OrdinalEncoder для кодування його значень?

question mark

Яке твердження найкраще описує використання OrdinalEncoder для обробки категоріальних даних у наборі даних?

Select the correct answer

question mark

Припустимо, у вас є категоріальний стовпець з назвою 'Color'. Чи доцільно використовувати OrdinalEncoder для кодування його значень?

Select the correct answer

Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 2. Розділ 5
some-alt