Desafio
Tarefa
Swipe to start coding
Aqui está o conjunto de dados 'students.csv'
, que contém 4 colunas, sendo 3 delas categóricas. Sua tarefa é processar este conjunto de dados e codificar todas as variáveis categóricas.
- Determine para quais colunas usar codificação ordinal, codificação one-hot e para quais codificação de etiquetas.
- Converta as colunas.
- Dê saída ao conjunto de dados.
Solução
99
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
from sklearn.preprocessing import LabelEncoder
from sklearn.preprocessing import OrdinalEncoder
import pandas as pd
# Read the dataset
dataset = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/9c23bf60-276c-4989-a9d7-3091716b4507/datasets/students.csv')
# Sorting categorical variables (for ordinal encoding)
categories = [[None, 'Freshman', 'Sophomore', 'Junior',
'Senior']]
# Create label encoder and ordinal encoder
# Ordinal encoder is with 'categories' argument
label_e = LabelEncoder()
ordinal_e = OrdinalEncoder(categories=categories)
# Fit and transform the categorical variables
# HINT: label encoder usually is used for the output variable
dataset['Favorite Subject'] = label_e.fit_transform(dataset['Favorite Subject'])
dataset[['Grade Level']] = ordinal_e.fit_transform(dataset[['Grade Level']])
# We'll end with one-hot encoding
# Perform one-hot encoding
one_hot_encoded = pd.get_dummies(dataset['Gender'])
# Drop column that we transformed with one-hot encoding
dataset = dataset.drop('Gender', axis=1)
# Join the encoded columns
dataset = dataset.join(one_hot_encoded)
# Print the transformed dataset
print(dataset)
Tudo estava claro?
Obrigado pelo seu feedback!
Seção 3. Capítulo 5
single
99
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
from sklearn.preprocessing import LabelEncoder
from sklearn.preprocessing import OrdinalEncoder
import pandas as pd
# Read the dataset
dataset = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/9c23bf60-276c-4989-a9d7-3091716b4507/datasets/students.csv')
# Sorting categorical variables (for ordinal encoding)
categories = [[None, 'Freshman', 'Sophomore', 'Junior',
'Senior']]
# Create label encoder and ordinal encoder
# Ordinal encoder is with 'categories' argument
label_e = LabelEncoder()
ordinal_e = ___(categories=categories)
# Fit and transform the categorical variables
# HINT: label encoder usually is used for the output variable
dataset['Favorite Subject'] = label_e.___(dataset['Favorite Subject'])
dataset[['Grade Level']] = ordinal_e.fit_transform(dataset[['Grade Level']])
# We'll end with one-hot encoding
# Perform one-hot encoding
one_hot_encoded = pd.___(dataset['Gender'])
# Drop column that we transformed with one-hot encoding
dataset = dataset.___('Gender', axis=1)
# Join the encoded columns
dataset = dataset.___(one_hot_encoded)
# Print the transformed dataset
print(dataset)
Pergunte à IA
Pergunte à IA
Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo