Scikit learn 时间序列回归-随机森林
为这些愚蠢的问题道歉-这里的总数为n00b 假设我有以下数据集Scikit learn 时间序列回归-随机森林,scikit-learn,time-series,regression,random-forest,Scikit Learn,Time Series,Regression,Random Forest,为这些愚蠢的问题道歉-这里的总数为n00b 假设我有以下数据集 date,site,category,locale,type,rank,sessions,logins 01/01/2017,google.com,search,US,free,1,3393093,50000 01/01/2017,google.com,overall,US,free,1,3393093,50000 01/01/2017,yahoo.com,search,US,3,free,core,393093,40000 01/
date,site,category,locale,type,rank,sessions,logins
01/01/2017,google.com,search,US,free,1,3393093,50000
01/01/2017,google.com,overall,US,free,1,3393093,50000
01/01/2017,yahoo.com,search,US,3,free,core,393093,40000
01/01/2017,yahoo.com,news,US,9,free,393093,40000
01/01/2017,yahoo.com,overall,US,23,free,393093,40000
01/01/2017,wsj.com,news,US,21,free,200000,180000
01/01/2017,wsj.com,news,US,21,subscription,200000,180000
01/01/2017,wsj.com,overall,US,93,free,200000,180000
其中rank是该站点的Alexa排名。可能有几个类别(搜索、电子邮件、电子商务等),排名与该类别中的排名相对应
我试图预测特定站点/地区/排名在特定日期的会话和登录次数,基本上将其归结为多元时间序列回归问题,我正在使用sklearn的RandomForestRegressor
现在我根本不把这当作一个时间序列问题——为了培训,我删除了日期
和站点
列,对类别
、地区
和排名
列进行编码,使用它们和排名
作为输入,并训练我的模型预测会话
和登录
。结果看起来不错,但我想知道:
会话
和登录
的移动平均值将是微不足道的,但由于这是一个因变量,我如何在测试集中捕获它我会在链接的博客文章中使用这种方法,如果使用像
shift
这样的向量化numpy操作,数据转换应该不会有问题
顺便说一句,如果你忽略了日期,你只是在计算每个组的平均数,也就是说,你在使用一个随机林来构建一个非常奇特的数据透视表;-) 我会在链接的博客文章中使用这种方法,如果使用像
shift
这样的向量化numpy操作,数据转换应该不会有问题
顺便说一句,如果你忽略了日期,你只是在计算每个组的平均数,也就是说,你在使用一个随机林来构建一个非常奇特的数据透视表;-) 谢谢,但是
shift
方法需要为每一行创建一列。看到大约有100万行,这将导致超过100万列-我不确定其中的效率你不为每一行做一列,你只需在一个窗口大小内做几个步骤(在链接的博客文章中,他们只为每一行使用上一个时间步)谢谢,但是shift
方法需要为每一行创建一列。看到大约有100万行,这将导致超过100万列-我不确定其中的效率你不为每一行做一列,你只需在一个窗口大小内做几个步骤(在链接的博客文章中,他们只为每一行使用上一个时间步)