Аномалии, дубликаты и пропуски — ещё не все поводы удалять что-то из массива. Иногда команда delete нужна, чтобы убрать некоторые столбцы и исключить линейную зависимость между входными признаками. Как вы знаете, она может плохо повлиять на работу модели линейной регрессии.

В одном из уроков прошлой темы вы изучали корреляцию. Напомним, что коэффициент корреляции Пирсона между living_area и total_area — чуть меньше 0.9. Это говорит о высокой прямой линейной связи. Чтобы модель отработала хорошо, один из этих признаков нужно удалить.

В прошлом задании вы добавили в матрицу matrix_X_train признак living_to_total. Поскольку он содержит в себе информацию и living_area, и total_area, данные ничуть не пострадают, если удалить любой из них.

Удалите лишний столбец с информацией о жилой площади квартир. Сейчас он третий по порядку.

Выведите первые пять строк матрицы, которая получилась.

# необходимые импорты
import numpy as np
# считывание npy-файла
matrix_X_train = np.load('matrix_X_train.npy')
# общая и жилая площади квартир, их соотношение
total_area = matrix_X_train[:, 0]
living_area = matrix_X_train[:, 1]
living_to_total = living_area / total_area
# добавление нового столбца в matrix_X_train
matrix_X_train = np.insert(matrix_X_train, 1, living_to_total, axis=1)
# удаление столбца с жилой площадью из matrix_X_train
matrix_X_train = np.delete(matrix_X_train, 2, axis=1)
# вывод первых пяти строк полученной матрицы
print(matrix_X_train[:5])