在QlikSense Desktop中使用Python(Pytools)进行预测

问题描述 投票:0回答:1

我正在使用QlikSense Desktop最新版本,并尝试使用Pytools.Prophet运行预测。

但是它没有显示输出。这是我使用的数据和功能。

PyTools.Prophet([Data_col.autoCalendar.Date],Avg(Shipments),'freq=M'). I am not getting the forecast line.

Qlik py工具位于C:\ Users \用户名\ Documents \ qlik-py-tools-6.2文件夹中,我启动文件“ Qlik-Py-Start.bat”。

我启动.bat文件,然后打开C:\ Users \用户名\ Documents \ Qlik \ Sense \ Apps中的Qliksense Desktop应用程序。

它仅在命令提示符下显示:

2020-01-13 21:49:45,114 - INFO - Adding to capabilities: Prophet_Multivariate(['a_date', 'b_value', 'c_holidays', 'd_added_regressors', 'e_regressor_args', 'f_other_args'])
2020-01-13 21:49:45,114 - INFO - Adding to capabilities: Prophet_Seasonality_Multivariate(['a_season', 'b_time_series', 'c_holidays', 'd_added_regressors', 'e_regressor_args', 'f_other_args'])
2020-01-13 21:49:45,114 - INFO - Adding to capabilities: sklearn_Calculate_Metrics_Sequence(['a_model_name', 'b_key', 'n_features'])
2020-01-13 21:54:15,378 - INFO - ipv6:[::1]:55612 - Capability 'Prophet' called by user Personal\Me from app C:\Users\user-name\Documents\Qlik\Sense\Apps\forecastv2.qvf
2020-01-13 21:54:15,379 - INFO - ExecuteFunction (functionId: 5, _prophet)
_

我还将两个位置的初始化文件都更改为:SSEPlugin=PyTools,localhost:50055;一个位于C:/ Users // Documents / Qlik / Sense /,另一个位于C:/ Users / AppData / Local / Programs / Qlik / Sense / Engine。将SSE设置添加到两个文件中。

enter image description here

这里是我正在使用的数据:

 Quarter    Shipments
1/1/1986    4009
2/1/1986    4123
3/1/1986    4493
4/1/1986    4595
5/1/1986    4245
6/1/1986    4321
7/1/1986    4522
8/1/1986    4806
9/1/1986    4799
10/1/1986   4900
11/1/1986   400
12/1/1986   5000
1/1/1987    3000
2/1/1987    2456
3/1/1987    1234
4/1/1987    3456
5/1/1987    7878

Here is the debug result:

ProphetForQlik日志:2020年1月15日星期三11:03:33

先知参数:{'freq':'M','debug':'true'}

实例创建参数:{}

制作未来的数据帧参数:{'句号':0,'频率':'M'}

添加季节性参数:{}

适合的参数:{}

请求数据帧:(17,2)行x列

      ds           y
   0 1986-01-01  4009.0
   1 1986-02-01  4123.0
   2 1986-03-01  4493.0
   3 1986-04-01  4595.0
   4 1986-05-01  4245.0
    ...
       ds       y
   12 1987-01-01  3000.0
   13 1987-02-01  2456.0
   14 1987-03-01  1234.0
   15 1987-04-01  3456.0
   16 1987-05-01  7878.0

[输入数据帧:(0,2)行x列]

空数据框列:[ds,y]索引:[]...空数据框列:[ds,y]索引:[]

无法生成预测,因为请求包含少于两个非空行

当我传递此数据时:

          Quarter   Shipments
1/1/1986    4009
2/1/1986    4123
3/1/1986    4493
4/1/1986    4595
5/1/1986    4245
6/1/1986    4321
7/1/1986    4522
8/1/1986    4806
9/1/1986    4799
10/1/1986   4900
11/1/1986   400
12/1/1986   5000
1/1/1987    3000
2/1/1987    2456
3/1/1987    1234
4/1/1987    3456
5/1/1987    7878
6/1/1987    
7/1/1987    
8/1/1987    

当我使用将来的值运行此数据时,Python会引发错误。

请求数据帧:(22,2)行x cols

      ds       y
  0 1986-01-01  4009.0
  1 1986-02-01  4123.0
  2 1986-03-01  4493.0
  3 1986-04-01  4595.0
  4 1986-05-01  4245.0
  ...
       ds   y
 17 1987-06-01 NaN
18 1987-07-01 NaN
19 1987-08-01 NaN
20 1987-09-01 NaN
21 1987-10-01 NaN

输入数据帧:(17,2)行x列

      ds       y
0 1986-01-01  4009.0
1 1986-02-01  4123.0
2 1986-03-01  4493.0
3 1986-04-01  4595.0
4 1986-05-01  4245.0

...DSÿ12 1987-01-01 3000.013 1987-02-01 2456.014 1987-03-01 1234.015 1987-04-01 3456.016 1987-05-01 7878.0

2020-01-15 11:59:36,511-错误-异常迭代响应:类型的对象不能安全地解释为整数。

追踪(最近通话):文件“ C:\ Users \用户名\ Documents \ qlik-py-tools-6.3 \ qlik-py-env \ lib \ site-packages \ numpy \ core \ function_base.py”,行117,在linspace中num = operator.index(num)TypeError:'numpy.float64'对象c不能解释为整数

在处理以上异常期间,发生了另一个异常:

追踪(最近通话):_take_response_from_response_iterator中的第453行的文件“ C:\ Users \用户名\ Documents \ qlik-py-tools-6.3 \ qlik-py-env \ lib \ site-packages \ grpc_server.py”返回next(response_iterator),真

文件“ main。py”,第342行,在_prophet中预测= dictor.predict()预测中的文件“ C:\ Users \用户名\ Documents \ qlik-py-tools-6.3 \ qlik-py-env \ core_prophet.py”,第272行self.model.fit(self.input_df,** self.fit_kwargs)

文件“ C:\ Users \用户名\ Documents \ qlik-py-tools-6.3 \ qlik-py-env \ lib \ site-packages \ fbprophet \ forecaster.py”,行1032,适合self.set_changepoints()

文件“ C:\ Users \用户名\ Documents \ qlik-py-tools-6.3 \ qlik-py-env \ lib \ site-packages \ fbprophet \ forecaster.py”,行347,在set_changepoints中np.linspace(0,hist_size-1,self.n_changepoints +1)

文件“ << [[array_function内部构件>”,第6行,在linspace中

文件“ C:\ Users \用户名\ Documents \ qlik-py-tools-6.3 \ qlik-py-env \ lib \ site-packages \ numpy \ core \ function_base.py”,行linspace中的第121行.format(type(num)))>

TypeError:类型的对象不能安全地解释为整数。

我正在使用QlikSense Desktop最新版本,并尝试使用Pytools.Prophet运行预测。但这没有显示输出。这是我使用的数据和功能。 PyTools.Prophet([...

python qliksense
1个回答
1
投票
终端显示您的函数正在执行,因此问题出在将数据发送到该函数。尝试在您的参数中传递debug=true(除freq之外),并跟踪通过Python执行的步骤。
© www.soinside.com 2019 - 2024. All rights reserved.