Разница между .fit () и .cross_validate () - python - PullRequest
0 голосов
/ 16 декабря 2018

У меня есть данные из четырех числовых столбцов, и они X1, X2, X3, Y.Я разделил это на 80% поезд и 20% тест.Нет nan во всем фрейме данных, и теперь мне нужно создать модель и оценить ее (я построил это на основе этого ядра kaggle ):

from sklearn.ensemble import RandomForestRegressor
predictor_cols = ["X1","X2","X3"]
train_X = train[predictor_cols]
my_model = RandomForestRegressor()
my_model.fit(train_X, train_Y)

test_X = test[predictor_cols]
test_Y = test["Y"]  # the dependent variable is numeric
pred_test_Y = my_model.predict(test_X)

acc_rf = round(my_model.score(train_X, train_Y) * 100, 2)
acc_rf

Яборюсь с my_model.fit(), так как я не могу найти документацию об этом, но я знаю, что она обучает модель с RandomForestRegressor().Однако у меня есть несколько вопросов:

1) Как my_model.fit() тренирует модель?Используется ли перекрестная проверка для повышения производительности?Если да, какой метод оценки используется для оценки перекрестной проверки?

1.2) Если my_model.fit() не использует перекрестную проверку, как она вообще обучает модель?

1.3) Если my_model.fit() не использует перекрестную проверку, какМогу ли я использовать метод RandomForestRegressor () с перекрестной проверкой, способный выбрать метод оценки?

2) Предполагается, что строка ниже оценивает прогноз, но это не так (так как прогноз находится в переменной pred_test_Y, и я получил точность 98% с этой строкой кода (это вообще точность?). Я имею в виду, что означает эта строка?

acc_rf = round(my_model.score(train_X, train_Y) * 100, 2)
...