我有一个包含四个数字列的数据框,它们是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)