.fit()和.cross_validate()之间的区别-python

时间:2018-12-16 01:27:13

标签: python scikit-learn cross-validation scoring

我有一个包含四个数字列的数据框,它们是X1, X2, X3, Y。我将其分为80%的训练和20%的测试。整个数据帧中没有nan,现在我需要创建模型并对其进行评估(我是根据kaggle kernel建立此模型的):

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)

0 个答案:

没有答案