Бостонский набор данных предназначен для проблем регрессии. Определение в документах :
Загрузка и возврат набора данных по ценам на жилье в Бостоне (регрессия).
Таким образом, это не имеет смысла, еслиВы используете обычную кодировку, например, метки не являются образцами непрерывных данных. Например, вы кодируете 12.3 и 12.4 для совершенно разных меток, но они довольно близки друг к другу, и вы неправильно оцениваете результат, если классификатор предсказывает 12.4, когда реальная цель равна 12.3, но это не двоичная ситуация. В классификации прогноз является правильным или нет, но в регрессии он рассчитывается по-другому, например, среднеквадратическая ошибка.
Эта часть не является необходимой, но я хотел бы привести вам пример длятот же набор данных и исходный код. Простая идея округлить метки до нуля (до ближайшего целого числа до нуля) даст вам некоторую интуицию.
5.0-5.9 -> 5
6.0-6.9 -> 6
...
50.0-50.9 -> 50
Давайте немного изменим ваш код.
import numpy as np
def encode_func(labels):
return np.array([int(l) for l in labels])
...
train_label_encoded = encode_func(train_label)
test_label_encoded = encode_func(test_label)
Выход будет около 10%.