Machine learning 使用sklearn'进行预测;随机回归器

Machine learning 使用sklearn'进行预测;随机回归器,machine-learning,scikit-learn,regression,random-forest,Machine Learning,Scikit Learn,Regression,Random Forest,这可能是个很愚蠢的问题,所以请对我放松点,但我来了 我的数据是这样的 date,locale,category,site,alexa_rank,sessions,user_logins 20170110,US,1,google,1,500,5000 20170110,EU,1,google,2,400,2000 20170111,US,2,facebook,2,400,2000 。。。等等这只是我提出的一个玩具数据集,但它与原始数据相似 我正在尝试建立一个模型,使用sklearn的random

这可能是个很愚蠢的问题,所以请对我放松点,但我来了

我的数据是这样的

date,locale,category,site,alexa_rank,sessions,user_logins
20170110,US,1,google,1,500,5000
20170110,EU,1,google,2,400,2000
20170111,US,2,facebook,2,400,2000
。。。等等这只是我提出的一个玩具数据集,但它与原始数据相似

我正在尝试建立一个模型,使用sklearn的
randomforestrestregressor
来预测一个特定站点将有多少用户登录和会话

我做了通常的事情,将类别编码到标签上,我在今年的前八个月训练了我的模型,现在我想预测第九个月的登录和会话。我创建了一个模型,一个是经过登录培训的,另一个是经过会话培训的

我的测试数据集的形式相同:

date,locale,category,site,alexa_rank,sessions,user_logins
20170910,US,1,google,1,500,5000
20170910,EU,1,google,2,400,2000
20170911,US,2,facebook,2,400,2000
理想情况下,我希望在没有需要预测的列的情况下通过测试数据集,但RandomForestRegressor抱怨训练集和测试集之间的维度不同

当我通过当前形式的测试数据集时,模型在大多数情况下预测
会话
用户登录
列中的准确值,否则预测的值变化很小

我将测试数据中的
会话
用户登录
列归零,并将其传递给模型,但模型预测的几乎都是零

  • 我的工作流程正确吗?我是否正确使用了随机变量
  • 当我的测试数据集包含实际值时,我怎么会如此接近实际值呢?预测中是否使用了测试数据中的实际值
  • 如果模型工作正常,如果我将要预测的列归零(
    sessions
    user\u logins
    ),是否应该得到相同的预测值

您不应该通过测试数据中要预测的列。您的工作流不正确

如果
X
是您拥有的信息的列集合, 如果
y
是要预测的信息的列集合, 然后,您应该在培训期间通过(
X\u-train
y\u-train
)(使用方法
fit
),并且仅在测试期间通过(
X\u-test
),使用方法
predict
)。您将获得
y_pred
,如果您有它,您可以与
y_test
进行比较

在您的示例中,如果要预测
用户登录数

X_train=array([[20170110]、[US]、[1]、[google]、[1]、[500],
['20170110','EU','1','google','2','400'],
['20170111'、'US'、'2'、'facebook'、'2'、'400']],

dtype='您不应该在测试数据中传递要预测的列。您的工作流不正确

如果
X
是您拥有的信息的列集合, 如果
y
是要预测的信息的列集合, 然后,您应该在培训期间通过(
X_-train
y_-train
)测试(使用方法
fit
),并且只在测试期间通过(
X_-test
)测试(使用方法
predict
)。您将获得
y_-pred
,如果您有它,您可以与
y_-test
进行比较

在您的示例中,如果要预测
用户登录数

X_train=array([[20170110]、[US]、[1]、[google]、[1]、[500],
['20170110','EU','1','google','2','400'],
['20170111'、'US'、'2'、'facebook'、'2'、'400']],

dtype='您可以添加代码吗?您可以添加代码吗?请添加一个使用OP数据的X_train和y_train示例。请添加一个使用OP数据的X_train和y_train示例。