Preparar os Dados
Nesta etapa, você aprenderá como ler os dados de treinamento e teste de arquivos CSV e realizar a codificação de rótulos (label encoding) nas características não numéricas.
-
Abra o arquivo predict.py no seu editor de código.
-
Na função getData(), complete as seguintes tarefas:
- Leia os dados de treinamento do arquivo
credit_risk_train.csv usando pd.read_csv().
- Leia os dados de teste do arquivo
credit_risk_test.csv usando pd.read_csv().
- Chame a função
label() para realizar a codificação de rótulos nas características não numéricas, tanto nos dados de treinamento quanto nos de teste.
- Divida os dados de treinamento em
x_train, y_train, x_test e y_test.
def getData():
"""
Leia os dados de arquivos csv. E divida os dados de treinamento em treinamento e teste para validação.
"""
## passo 1. leia os dados de arquivos csv
data = pd.read_csv(trainfile)
test = pd.read_csv(testfile)
## passo 2. codificação de rótulos
data = label(data)
test = label(test)
## passo 3. divida os dados de treinamento em treinamento e teste
x_train, y_train = data.iloc[:, :-1].to_numpy(), data.iloc[:, -1].to_numpy()
x_test = test.iloc[:, :].to_numpy()
y_test = None
return x_train, y_train, x_test, y_test
- Na função
label(), complete a implementação do processo de codificação de rótulos:
- Itere por cada coluna nos dados.
- Se o tipo de dados da coluna for
object, crie uma instância de LabelEncoder e ajuste-a aos dados da coluna.
- Se o nome da coluna for
"RISK", armazene a instância de LabelEncoder na variável convertor.
- Transforme os dados da coluna usando a instância de
LabelEncoder e atualize a coluna nos dados.
- Retorne os dados atualizados.
def label(data):
"""
Use a codificação de rótulos para processar as características não numéricas.
"""
global convertor
for col in data.columns:
if data[col].dtype == "object":
le = LE()
if col == "RISK":
convertor = le
le.fit(data[col])
data[col] = le.transform(data[col])
return data
Após concluir esta etapa, você terá os dados de treinamento e teste prontos para a próxima etapa.