Найти тему
ЦифроПроф

Порядковое кодирование

Порядковое кодирование — это преобразование категорийных признаков в количественные, сохраняющие присущую им упорядоченность. Порядковое кодирование успешно используется в работе с моделями машинного обучения, такими как нейронные сети, которые ожидают числовых входных данных.

Задача 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("Обучено!")