<jupyter_start><jupyter_text>Тема “Обучение с учителем” Задание 2Создайте модель под названием model с помощью RandomForestRegressor из модуля sklearn.ensemble.Сделайте агрумент n_estimators равным 1000,max_depth должен быть равен 12 и random_state сделайте равным 42.Обучите модель на тренировочных данных аналогично тому, как вы обучали модель LinearRegression,но при этом в метод fit вместо датафрейма y_train поставьте y_train.values[:, 0],чтобы получить из датафрейма одномерный массив Numpy,так как для класса RandomForestRegressor в данном методе для аргумента y предпочтительно применение массивов вместо датафрейма.Сделайте предсказание на тестовых данных и посчитайте R2. Сравните с результатом из предыдущего задания.Напишите в комментариях к коду, какая модель в данном случае работает лучше.<jupyter_code>import pandas as pd
import numpy as nm
from sklearn.datasets import load_boston
BP = load_boston()
X = pd.DataFrame(BP.data, columns=BP.feature_names)
y = pd.DataFrame(BP.target, columns=['price'])
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)
from sklearn.ensemble import RandomForestRegressor
# ?RandomForestRegressor
model = RandomForestRegressor(n_estimators=1000, max_depth=12, random_state=42)<jupyter_output><empty_output><jupyter_text>>Обучите модель на тренировочных данных аналогично тому, как вы обучали модель LinearRegression, но при этом в метод fit вместо датафрейма y_train поставьте y_train.values[:, 0], чтобы получить из датафрейма одномерный массив Numpy, так как для класса RandomForestRegressor в данном методе для аргумента y предпочтительно применение массивов вместо датафрейма.<jupyter_code>model.fit(X_train, y_train.values[:,0])
y_pred=model.predict(X_test)<jupyter_output><empty_output><jupyter_text>>Сделайте предсказание на тестовых данных и посчитайте R2. Сравните с результатом из предыдущего задания. Напишите в комментариях к коду, какая модель в данном случае работает лучше.<jupyter_code>from sklearn.metrics import r2_score
r2_score(y_test, y_pred)<jupyter_output><empty_output>
StarcoderdataJupyterStructuredCleanDedup