Préparer les données
Dans cette étape, vous allez apprendre à lire les données d'entraînement et de test à partir de fichiers CSV, et à effectuer un codage d'étiquette sur les fonctionnalités non numériques.
-
Ouvrez le fichier predict.py
dans votre éditeur de code.
-
Dans la fonction getData()
, complétez les tâches suivantes :
- Lire les données d'entraînement à partir du fichier
credit_risk_train.csv
à l'aide de pd.read_csv()
.
- Lire les données de test à partir du fichier
credit_risk_test.csv
à l'aide de pd.read_csv()
.
- Appeler la fonction
label()
pour effectuer un codage d'étiquette sur les fonctionnalités non numériques dans les données d'entraînement et de test.
- Diviser les données d'entraînement en
x_train
, y_train
, x_test
et y_test
.
def getData():
"""
Read data from csv files. And split the train data into train and test for validation.
"""
## étape 1. lire les données à partir des fichiers CSV
data = pd.read_csv(trainfile)
test = pd.read_csv(testfile)
## étape 2. codage d'étiquette
data = label(data)
test = label(test)
## étape 3. diviser les données d'entraînement en train et test
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
- Dans la fonction
label()
, complétez la mise en œuvre du processus de codage d'étiquette :
- Itérer sur chaque colonne dans les données.
- Si le type de données de la colonne est
object
, créer une instance LabelEncoder
et l'ajuster aux données de la colonne.
- Si le nom de la colonne est
"RISK"
, stocker l'instance LabelEncoder
dans la variable convertor
.
- Transformer les données de la colonne à l'aide de l'instance
LabelEncoder
et mettre à jour la colonne dans les données.
- Retourner les données mises à jour.
def label(data):
"""
Use label encoding to process the non-numeric features.
"""
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
Après avoir terminé cette étape, vous disposerez des données d'entraînement et de test prêtes pour l'étape suivante.