Порядковое кодирование — это преобразование категорийных признаков в количественные, сохраняющие присущую им упорядоченность. Порядковое кодирование успешно используется в работе с моделями машинного обучения, такими как нейронные сети, которые ожидают числовых входных данных.
Задача 1
Преобразуйте признаки техникой Ordinal Encoding. Импортируйте OrdinalEncoder из модуля sklearn.preprocessing.
Сохраните результат в переменной data_ordinal. Оформите данные в структуру DataFrame().
Напечатайте на экране первые пять строк таблицы (уже в прекоде).
import pandas as pd
from sklearn.preprocessing import OrdinalEncoder
data = pd.read_csv('/datasets/travel_insurance.csv')
encoder=OrdinalEncoder()
data_ordinal = pd.DataFrame(encoder.fit_transform(data),
columns=data.columns)
print(data_ordinal.head(5))
Задача 2
Обучите решающее дерево на преобразованных данных. Напечатайте на экране текст "Обучено!" (уже в прекоде). Так вы убедитесь, что код выполнился без ошибок.
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.tree import DecisionTreeClassifier
from sklearn.preprocessing import OrdinalEncoder
data = pd.read_csv('/datasets/travel_insurance.csv')
encoder = OrdinalEncoder()
data_ordinal = pd.DataFrame(encoder.fit_transform(data),
columns=data.columns)
target = data_ordinal['Claim']
features = data_ordinal.drop('Claim', axis=1)
features_train, features_valid, target_train, target_valid = train_test_split(features, target, test_size=0.25, random_state=12345)
model = DecisionTreeClassifier(random_state=12345)
model.fit(features_train, target_train)
print("Обучено!")