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

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

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