Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Impara Ordinalencoder | Sezione
Practice
Projects
Quizzes & Challenges
Quiz
Challenges
/
Fondamenti di Machine Learning

bookOrdinalencoder

Il prossimo aspetto da affrontare riguarda i dati categorici. Esistono due principali tipologie di variabili categoriche.

I dati ordinali possiedono un ordine naturale, mentre i dati nominali ne sono privi. Grazie a questo ordine, le categorie possono essere codificate come numeri in base alla loro posizione.

Ad esempio, una colonna 'rate' con i valori 'Terrible', 'Bad', 'OK', 'Good' e 'Great' può essere codificata come:

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

Per codificare i dati ordinali si utilizza OrdinalEncoder. Questo trasforma le categorie in numeri interi a partire da 0.

OrdinalEncoder viene applicato nello stesso modo degli altri trasformatori. La principale difficoltà consiste nel specificare correttamente l'argomento categories.

Ad esempio, si consideri un dataset (diverso dal dataset penguins) che contiene una colonna 'education'. Il primo passo è verificare i suoi valori unici.

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

È necessario creare un elenco ordinato di valori categorici, che va da 'HS-grad' a '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

Durante la trasformazione di più caratteristiche con OrdinalEncoder, le categorie per ciascuna colonna devono essere specificate esplicitamente. Questo viene fatto tramite l'argomento categories:

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

1. Quale affermazione descrive meglio l'utilizzo di OrdinalEncoder per la gestione dei dati categorici in un dataset?

2. Supponiamo di avere una colonna categorica chiamata 'Color'. Sarebbe appropriato utilizzare OrdinalEncoder per codificare i suoi valori?

question mark

Quale affermazione descrive meglio l'utilizzo di OrdinalEncoder per la gestione dei dati categorici in un dataset?

Select the correct answer

question mark

Supponiamo di avere una colonna categorica chiamata 'Color'. Sarebbe appropriato utilizzare OrdinalEncoder per codificare i suoi valori?

Select the correct answer

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 1. Capitolo 10

Chieda ad AI

expand

Chieda ad AI

ChatGPT

Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione

bookOrdinalencoder

Scorri per mostrare il menu

Il prossimo aspetto da affrontare riguarda i dati categorici. Esistono due principali tipologie di variabili categoriche.

I dati ordinali possiedono un ordine naturale, mentre i dati nominali ne sono privi. Grazie a questo ordine, le categorie possono essere codificate come numeri in base alla loro posizione.

Ad esempio, una colonna 'rate' con i valori 'Terrible', 'Bad', 'OK', 'Good' e 'Great' può essere codificata come:

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

Per codificare i dati ordinali si utilizza OrdinalEncoder. Questo trasforma le categorie in numeri interi a partire da 0.

OrdinalEncoder viene applicato nello stesso modo degli altri trasformatori. La principale difficoltà consiste nel specificare correttamente l'argomento categories.

Ad esempio, si consideri un dataset (diverso dal dataset penguins) che contiene una colonna 'education'. Il primo passo è verificare i suoi valori unici.

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

È necessario creare un elenco ordinato di valori categorici, che va da 'HS-grad' a '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

Durante la trasformazione di più caratteristiche con OrdinalEncoder, le categorie per ciascuna colonna devono essere specificate esplicitamente. Questo viene fatto tramite l'argomento categories:

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

1. Quale affermazione descrive meglio l'utilizzo di OrdinalEncoder per la gestione dei dati categorici in un dataset?

2. Supponiamo di avere una colonna categorica chiamata 'Color'. Sarebbe appropriato utilizzare OrdinalEncoder per codificare i suoi valori?

question mark

Quale affermazione descrive meglio l'utilizzo di OrdinalEncoder per la gestione dei dati categorici in un dataset?

Select the correct answer

question mark

Supponiamo di avere una colonna categorica chiamata 'Color'. Sarebbe appropriato utilizzare OrdinalEncoder per codificare i suoi valori?

Select the correct answer

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 1. Capitolo 10
some-alt