Я использую последнюю версию 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 \ user-name \ Documents \ qlik-py-tools-6.2, и я запускаю файл «Qlik-Py-Start.bat».
Я запускаю файл .bat, а затем открываю приложение Qliksense Desktop, которое находится в C: \ Users \ user-name \ Documents \ Qlik \ Sense \ Apps.
Это просто отображается в командной строке:
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.
Вот данные, которые я использую:
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: среда, 15 января, 11:03:33 2020
Параметры Prophet: {'freq': 'M', 'debug': 'true'}
Параметры создания экземпляра: {}
Задайте параметры будущего кадра данных: {'period': 0, 'freq': '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 столбцы
Пустые столбцы DataFrame: [ds, y] Индекс: [] ... Пустые столбцы DataFrame: [ds, y] Индекс: []
Невозможно создать прогноз, так как запрос содержит менее двух строк, отличных от Null.
Когда я передаю эти данные:
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 столбцы
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 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
2020-01-15 11: 59: 36,511 - ОШИБКА - Итерационные ответы исключения: объект типа нельзя безопасно интерпретировать как целое число.
Отслеживание (последний вызов последним): Файл "C: \ Users \ user-name \ 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 аннотация интерпретируется как целое число
Во время обработки вышеуказанного исключения произошло другое исключение:
Отслеживание (последний вызов последним): файл "C: \ Users \ user-name \ Documents \ qlik-py-tools-6.3 \ qlik-py-env \ lib \ site-packages \ grpc_server.py", строка 453, в _take_response_from_response_iterator return next (response_iterator), Истина
Файл "main .py", строка 342, в _prophet прогноз = predictor.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 \ user-name \ Documents \ qlik-py-tools-6.3 \ qlik-py-env \ lib \ site-packages \ fbprophet \ forecaster.py", строка 1032, соответствует self.set_changepoints ()
Файл "C: \ Users \ user-name \ 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 internals> ", строка 6, в внутреннем пространстве
Файл "C: \ Users \ user-name \ Documents \ qlik-py-tools-6.3 \ qlik-py-env \ lib \ site-packages \ numpy \ core \ function_base.py", строка 121, в linspace .format ( тип (число)))
TypeError: объект типа нельзя безопасно интерпретировать как целое число.