【问题标题】:How to apply one model for different categories of interest in python?如何将一种模型应用于python中不同类别的兴趣?
【发布时间】:2018-05-19 13:47:54
【问题描述】:

我有一个包含 4 件商品的每日销售数据集,这些商品在 4 个不同的特许经营店中销售。

我必须建立一个模型来预测所有特许经营权的所有这 4 件商品的每周销售额。

我打算使用一个基本模型进行预测

reg = linear_model.Ridge(alpha=1)

我的问题是如何编写代码以将该模型应用于所有 4 种产品和特许经营权。

感谢您的时间和精力来帮助我。谢谢

我的桌子如下所示

DepotName    Product    Date        SalesUnits  
    A           A1      2015-01-23  2.0 
    A           A2      2015-01-23  225.0   
    A           A3      2015-01-23  120.0   
    A           A4      2015-01-23  72.0    
    B           A1      2015-01-23  90.0    
    B           A2      2015-01-23  2.0 
    B           A3      2015-01-23  1.0 
    B           A4      2015-01-23  2.0 
    C           A1      2015-01-23  1.0 
    C           A2      2015-01-23  1.0 
    C           A3      2015-01-23  4.0 
    C           A4      2015-01-23  8040.0  
    D           A1      2015-01-23  1590.0  
    D           A2      2015-01-23  1.0     
    D           A3      2015-01-23  1590.0  
    D           A4      2015-01-23  1.0
    A           A1      2015-01-24  2.0 
    A           A2      2015-01-24  225.0   
    A           A3      2015-01-24  120.0   
    A           A4      2015-01-24  72.0    
    B           A1      2015-01-24  90.0    
    B           A2      2015-01-24  2.0 
    B           A3      2015-01-24  1.0 
    B           A4      2015-01-24  2.0 
    C           A1      2015-01-24  1.0 
    C           A2      2015-01-24  1.0 
    C           A3      2015-01-24  4.0 
    C           A4      2015-01-24  8040.0  
    D           A1      2015-01-24  1590.0  
    D           A2      2015-01-24  1.0     
    D           A3      2015-01-24  1590.0  
    D           A4      2015-01-24  1.0

【问题讨论】:

  • 如果您告诉我们您如何存储产品和特许经营权,将会有所帮助。
  • 好的,一会儿我会更新我的问题
  • @PaulaThomas 我已经更新了我的问题,请检查
  • 很抱歉再问一个问题!你从哪里得到linear_model.Ridge?
  • 没关系,我明白了,'from sklearn import linear_model'

标签: python pandas linearmodels


【解决方案1】:

只需对指标运行 groupby 操作:

for g in data.groupby(['DepotName', 'Product']):
   # g[0]: TUPLE OF CURRENT GROUP NAMES
   # g[1]: DATAFRAME OF CURRENT GROUP

   predictors = [... list of column names ...]

   reg = linear_model.Ridge(alpha=1)
   reg.fit(g[1][predictors], g[1]['SalesUnits'])

   y_pred = reg.predict(g[1][predictors])
   # ...

【讨论】:

  • 谢谢@Parfait,非常感谢您的帮助但是我稍后会尝试您的回答并更新结果
猜你喜欢
  • 1970-01-01
  • 2011-01-07
  • 2013-07-04
  • 1970-01-01
  • 2019-10-24
  • 1970-01-01
  • 2013-06-03
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多