Разделите входные и целевой признаки на тренировочную и тестовую выборки в соотношении 3:1. После этого выведите размерность получившихся частей датасета и убедитесь, что разделение произошло правильно:

  • количество наблюдений совпадает в парах X_train и y_train, X_test и y_test; тренировочная выборка больше тестовой;
  • в X лежат датафреймы pandas, а в y — серии.
# импорт библиотеки pandas
import pandas as pd
# импорт метода train_test_split
from sklearn.model_selection import train_test_split
# создание константы RANDOM_STATE
RANDOM_STATE = 42
# считывание CSV-файла в датафрейм pandas, сохранение признаков
df = pd.read_csv('real_estate_clean.csv')
X = df.drop('price', axis=1)
y = df['price']

# разделение на тренировочную и тестовую выборки
X_train, X_test, y_train, y_test = train_test_split(
    X, 
    y,
    test_size = 0.25,
    random_state=RANDOM_STATE
) 
# вывод необходимых размерностей
print(X_train.shape)
print(X_test.shape)
print(y_train.shape)
print(y_test.shape)

Результат

(7074, 6)
(2359, 6)
(7074,)
(2359,)\

Выборки готовы — теперь вы можете обучать модель!