Разделите входные и целевой признаки на тренировочную и тестовую выборки в соотношении 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,)\
Выборки готовы — теперь вы можете обучать модель!