Пророк в 1С

16.07.18

Разработка - Инструментарий разработчика

Используем механизм прогнозирования от Facebook в 1С.

Скачать файлы

Наименование Файл Версия Размер
Пророк в 1С:
.cf 50,21Kb
6
.cf 50,21Kb 6 Скачать

Библиотека

Согласно статье Facebook Prophet, был разработан для прогнозирования большого числа различных бизнес-показателей и строит достаточно хорошие default'ные прогнозы. Кроме того, библиотека дает возможность, изменяя человеко-понятные параметры, улучшать прогноз и не требует от аналитиков глубоких знаний устройства предсказательных моделей.

Обновления

  1. Благодаря здравым наводкам stepa86, который тоже сейчас активно занимается прогнозированием. Решено было выложить исходники cf файла в свободный доступ. cf-файл уже получил дополнительную функциональность и готовится стать более дружелюбным для проведения тестов. Так что, если кому не безразлична эта тема, то репозиторий https://github.com/HardAndHeavy/eye-prophet-cf ждёт ваших пул реквестов.

Использование

  1. Загружаем последнюю версию собранного cf из репозитория. Файл cf сформировал на платформе 8.3.12.1469. А исходники выгруженные через EDT 1.8.4.9.
  2. Устанавливаем Docker. Если используется Windows 10 Pro сборки 14393 и выше, то Docker CE. Иначе — Docker Toolbox. [Замечание 1]
  3. Запускаем контейнер: 
    $ docker run -p 4000:80 hardandheavy/eye-prophet
    А для тех, кто уже имеет контейнер и хочет его обновить:
    $ docker pull hardandheavy/eye-prophet


    Таким образом мы получаем веб-сервер с уже установленным всем необходимым окружением и самой библиотекой от Facebook. Из рисунка выше видно, что сервер располагается по адресу 192.168.99.100 на 4000 порту. [Замечание 2]

  4. Нюанс в методе ИмяСервера общего модуля _Пророк:

    Функция ИмяСервера()
    	
    	Возврат "192.168.99.100:4000";
    	
    КонецФункции

    Если контейнер будет запущен на другом IP или порту, то возвращаемое значение надо будет исправить на правильное.

  5. Прогнозирование заключается в передаче таблицы истории с колонками Дата и Факт в метод _Пророк.ПолучитьПрогноз. Который возвращает таблицу прогноза с колонками: Дата, Тренд и Прогноз. В предоставленной конфигурации запускаем обработку "Демо прогноз просмотра страницы wiki" и наслаждаемся прогнозом: Все данные взяты из обучающего материала Facebook и полностью его повторяют.

Замечание

  1. Для тех, кто хочет узнать больше о Docker: Полное практическое руководство по Docker и конечно же Get Started.
  2. Об этой библиотеке я узнал из статьи на Хабре Предсказываем будущее с помощью библиотеки Facebook Prophet. Прочитал Quick Start. И реализовал веб-сервер, предварительно упаковав его в контейнер, чтобы можно было легко воспользоваться Пророком в 1С. Исходники можно найти здесь https://github.com/HardAndHeavy/eye-prophet

прогнозирование экстраполяция предсказание временной ряд тренд Пророк Prophet Фейсбук Facebook Питон Python Докер Docker

См. также

SALE! 20%

Infostart Toolkit: Инструменты разработчика 1С 8.3 на управляемых формах

Инструментарий разработчика Роли и права Запросы СКД Платформа 1С v8.3 Управляемые формы Запросы Система компоновки данных Конфигурации 1cv8 Платные (руб)

Набор инструментов программиста и специалиста 1С для всех конфигураций на управляемых формах. В состав входят инструменты: Консоль запросов, Консоль СКД, Консоль кода, Редактор объекта, Анализ прав доступа, Метаданные, Поиск ссылок, Сравнение объектов, Все функции, Подписки на события и др. Редактор запросов и кода с раскраской и контекстной подсказкой. Доработанный конструктор запросов тонкого клиента. Продукт хорошо оптимизирован и обладает самым широким функционалом среди всех инструментов, представленных на рынке.

10000 8000 руб.

02.09.2020    122415    673    389    

716

SALE! 25%

Infostart PrintWizard

Пакетная печать Печатные формы Инструментарий разработчика Платформа 1С v8.3 Запросы 1С:Зарплата и кадры бюджетного учреждения 1С:Конвертация данных 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 Платные (руб)

Инструмент, позволяющий абсолютно по-новому взглянуть на процесс разработки печатных форм. Благодаря конструктору можно значительно снизить затраты времени на разработку печатных форм, повысить качество и "прозрачность" разработки, а также навести порядок в многообразии корпоративных печатных форм.

18000 15300 руб.

06.10.2023    7343    22    6    

39

SALE! 20%

Infostart УДиФ: Управление данными и формами

Инструменты администратора БД Инструментарий разработчика Роли и права Платформа 1С v8.3 Конфигурации 1cv8 Россия Платные (руб)

Расширение позволяет без изменения кода конфигурации выполнять проверки при вводе данных, скрывать от пользователя недоступные ему данные, выполнять код в обработчиках. Не изменяет данные конфигурации, легко устанавливается практически на любую конфигурацию на управляемых формах.

10000 8000 руб.

10.11.2023    3640    11    1    

34

SALE! 30%

PowerTools

Инструментарий разработчика Инструменты администратора БД Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Россия Платные (руб)

Универсальный инструмент программиста для администрирования конфигураций. Сборник наиболее часто используемых обработок под единым интерфейсом.

3600 2520 руб.

14.01.2013    177839    1074    0    

852

Многопоточность. Универсальный «Менеджер потоков» 2.1

Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Россия Платные (руб)

Восстановление партий или взаиморасчетов, расчет зарплаты, пакетное формирование документов или отчетов - теперь все это стало доступнее. * Есть желание повысить скорость работы медленных алгоритмов! Но... * Нет времени думать о реализации многопоточности? * о запуске и остановке потоков? * о поддержании потоков в рабочем состоянии? * о передаче данных в потоки и как получить ответ из потока? * об организации последовательности? Тогда ЭТО - то что надо!!!

5000 руб.

07.02.2018    99381    239    97    

296

[ЕХТ] Фреймворк для Расширений 1С

Инструментарий разработчика Платформа 1С v8.3 Управляемые формы Платные (руб)

"Фреймворк для Расширений 1С" это универсальное и многофункциональное решение, упрощающее разработку и поддержку создаваемых Расширений. Поставляется в виде комплекта из нескольких Расширений с открытым исходным кодом. Работает в любых Конфигурациях в режиме Управляемого приложения с режимом совместимости 8.3.12 и выше без необходимости внесения изменений в Конфигурацию.

3000 руб.

27.08.2019    18141    6    8    

40

1С HTML Шаблоны / HTML Templates

Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Платные (руб)

Быстрая и удобная обработка для работы с шаблонами HTML. Позволяет легко и быстро формировать код HTML.

2040 руб.

27.12.2017    28124    3    10    

15

Выполнение произвольного кода или запроса с параметрами через Web-сервис (замена COM-подключений)

Инструментарий разработчика Обмен между базами 1C Платформа 1С v8.3 Платные (руб)

В процессе работы в 1С часто возникает потребность получить данные из другой базы.  Обычно это делается через COM-соединение, и время выполнения запроса при этом оставляет желать лучшего. В данной публикации представлено универсальное решение, позволяющее практически моментально выполнить произвольный код или запрос с параметрами в другой информационной базе через Web-сервис.

2400 руб.

24.09.2019    23610    15    15    

32
Отзывы
13. Stepa86 1521 09.07.18 21:09 Сейчас в теме
(6) [ЗанудаМод = вкл]

Предсказание рейтинга/загрузок это задача регрессии, а не прогнозирования временного ряда. Прогнозирование временного ряда это когда из всех данных есть только дата и число, когда как задача регрессии - по набору признаков получить некоторую цифру. Прогнозирование временного ряда можно свести к задаче регрессии ( когда дата распадается на признаки НомерГода, НомерМесяца, НомерНедели, НомерКватала, НомерСезона, НомерДня, ДеньНедели, ЭтоРабочийДень итп ). Когда кроме даты есть еще какие-либо заранее известные признаки - то регрессия даст более хороший вариант. Хотя в Пророке есть "Добавление регрессора" и механизм "Праздников".

Когда нужно спрогнозировать числа на период (продажи на несколько месяцев вперед или количество статей на инфостарте), то обычно с дополнительными признаками проблема - продажи может и будут зависеть от остатков на складах (или от новостей в индустрии, например, выход едт), но для этого их нужно знать в будущем, что так же сводится к задаче прогнозирования. Таким образом у нас остается только история.

Для предсказания популярности статьи лучше всего использовать подход "мешка слов" и линейную регрессию или Vowpal Wabbit. Аналогичная задача по хабру есть в качестве домашнего задания в курсе по машинному обучению.

[ЗанудаМод=выкл]
Shmell; DrAku1a; botokash; mrXoxot; kild; json; +6 Ответить
Остальные комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. Дмитрий74Чел 234 09.07.18 14:39 Сейчас в теме
А какой прикладной смысл / ценность для "обычных" баз 1С УТ и т.п.?
2. Soloist 545 09.07.18 14:45 Сейчас в теме
(1) Прогнозирование продаж и любые другие прогнозы для стратегического плана компании.
xioxao; Angry; +2 1 Ответить
35. Dementor 1015 11.07.18 12:39 Сейчас в теме
(1) мы в свое время строили прогнозную модель для складских остатков с учетом сезонности.
3. olegtymko 889 09.07.18 15:21 Сейчас в теме
Интересная технология. С каким объемом данных она может работать? В каком масштабе ее используете, если не секрет?
4. Stepa86 1521 09.07.18 15:49 Сейчас в теме
(3) Пророк это либа по предсказанию временного ряда, на вход подается дата и значение. 5 лет данных, то есть табличку 2 * 3800 чисто питоновский код обрабатывает секунд за 5 на слабеньком ноуте.

В основе лежит разделение на тренд, сезонности и вариации. Чтоб сезонность учитывалась корректно - нужно хотя бы 2 полных цикла. То есть, если есть недельная сезонность - нужно подать истории на 2 недели минимум. Если есть годовая сезонность - за 2 года минимум.

Для просто взять либо и построить прогноз - результаты очень хорошие у этого пророка.

Для промышленного использования могут быть ограничения- 1000 номенклатурных позиций будет обсчитываться минимум 5000 секунд, точность может быть по некоторым позициям хуже, чем другие подходы, типа простенькой регрессии, данные нужно предобрабатывать - чистить от выбросов, учитывать акции (Пророк это умеет, но текущая реализация еще нет), как нить изменить входные данные (Бокс-Кокс иногда очень хорошо улучшает точность, он в статье на хабре описан), ну и в конце нужно будет еще решить, а что же делать на основе этих данных.

Если сравнивать с самым "крутым алгоритмом по предсказанию временного ряда" SARIMA - этот намного проще и намного быстрее и требует меньше настроек гиперпараметров
olegtymko; Soloist; +2 Ответить
5. Soloist 545 09.07.18 15:58 Сейчас в теме
(3) Stepa86 правильно всё подметил. Добавлю то, что я прогнозировал по месяцам 20 000 позиций с глубиною в три года (это 36 точек на позицию) за ~5 часов.

Думаю можно всё распараллелить, но пока до этого руки не дошли. Т.е. веб-сервер должен держать... вот код 1С под это надо будет менять.
6. FesenkoA 57 09.07.18 16:07 Сейчас в теме
Уже рассчитали количество просмотров рейтинга/загрузок этого поста? Поделитесь, а мы проверим)
Dmitrith; Evil Beaver; +2 Ответить
10. Soloist 545 09.07.18 18:51 Сейчас в теме
(6) Нет, но могу сказать, что в моих тестах прогнозы были ~30%. Надо набрать историю. В целом, можно инфостарт спрогнозировать посещаемость. Но это я пока оставлю как домашнее задание;)
13. Stepa86 1521 09.07.18 21:09 Сейчас в теме
(6) [ЗанудаМод = вкл]

Предсказание рейтинга/загрузок это задача регрессии, а не прогнозирования временного ряда. Прогнозирование временного ряда это когда из всех данных есть только дата и число, когда как задача регрессии - по набору признаков получить некоторую цифру. Прогнозирование временного ряда можно свести к задаче регрессии ( когда дата распадается на признаки НомерГода, НомерМесяца, НомерНедели, НомерКватала, НомерСезона, НомерДня, ДеньНедели, ЭтоРабочийДень итп ). Когда кроме даты есть еще какие-либо заранее известные признаки - то регрессия даст более хороший вариант. Хотя в Пророке есть "Добавление регрессора" и механизм "Праздников".

Когда нужно спрогнозировать числа на период (продажи на несколько месяцев вперед или количество статей на инфостарте), то обычно с дополнительными признаками проблема - продажи может и будут зависеть от остатков на складах (или от новостей в индустрии, например, выход едт), но для этого их нужно знать в будущем, что так же сводится к задаче прогнозирования. Таким образом у нас остается только история.

Для предсказания популярности статьи лучше всего использовать подход "мешка слов" и линейную регрессию или Vowpal Wabbit. Аналогичная задача по хабру есть в качестве домашнего задания в курсе по машинному обучению.

[ЗанудаМод=выкл]
Shmell; DrAku1a; botokash; mrXoxot; kild; json; +6 Ответить
43. Boris_1c 39 02.08.18 21:42 Сейчас в теме
Пытаюсь докер запустить на линуксовой виртуалке

[2018-08-02 18:35:33 +0000] [6] [INFO] Starting gunicorn 19.9.0
[2018-08-02 18:35:34 +0000] [6] [INFO] Listening at: http://0.0.0.0:80 (6)
[2018-08-02 18:35:34 +0000] [6] [INFO] Using worker: sync
[2018-08-02 18:35:34 +0000] [9] [INFO] Booting worker with pid: 9
INFO:matplotlib.font_manager:font search path ['/usr/local/lib/python3.6/site-packages/matplotlib/mpl-data/fonts/ttf', '/usr/local/lib/python3.6/site-packages/matplotlib/mpl-data/fonts/afm', '/usr/local/lib/python3.6/site-packages/matplotlib/mpl-data/fonts/pdfcorefonts']
INFO:matplotlib.font_manager:generated new fontManager

Это последняя строка в консоли Ubuntu server
Судя по предыдущим постам не хватает вывода:
* Serving Flask app "app" (lazy loading)
* Environment: production
WARNING: Do not use the development server in a production environment.
Use a production WSGI server instead.
* Debug mode: off
INFO:werkzeug: * Running on http://0.0.0.0:80/ (Press CTRL+C to quit)

И подскажите как настроить докер что бы он был виден в локальной сети а не толькао на локальном хосте?
7. ImHunter 312 09.07.18 16:17 Сейчас в теме
По идее, это использование ф-буковской библиотеки на R. R, в свою очередь, уже встроен в MSSQL начиная с 2016. Так что, у кого есть лицензии, можно и в эту сторону покопать. И использовать не только Prophet, а еще уйму других библиотек.
8. Goleff74 214 09.07.18 16:25 Сейчас в теме
Там обычный персептрон или поглубже что-то в библиотеке?
11. Soloist 545 09.07.18 19:08 Сейчас в теме
(8) Думаю, что там чисто математика. Опираясь на статью https://habr.com/company/ods/blog/323730/ могу лишь сказать, что для меня, как новичка в этом деле, эта библиотека показывает очень хорошие результаты без каких-либо настроек.А если покрутить...

В общем, я воспринимаю его как чёрный ящик, который для меня даёт пока неплохие результаты, и я доволен.
12. пользователь 09.07.18 19:11
Сообщение было скрыто модератором.
...
9. RustIG 1382 09.07.18 16:40 Сейчас в теме
(0) картинку пострашнее не мог найти?
maksa2005; товарищ Ын; Soloist; artbear; +4 Ответить
14. McSim_ 09.07.18 21:49 Сейчас в теме
Как эксперимент, неплохо. Наверное, интересно было поразбираться.
Но без гиперпараметров, без добавления признаков (регрессия или нет, алгоритм позволяет, странно не воспользоваться). Следить за временным рядом без возможности внести корректировки в алгоритм расчёта прогноза особого смысла нет. Интересно-то как раз, что повлияло и насколько дополнительный признак добавляет точности в предсказание. А с подобной точностью и товаровед предскажет. :)

Можно хотя бы одну оценку точности прогноза вывести. Сразу будет видно, насколько полезен результат.
Не смотрел фейсбуковскую библиотеку, но наверняка там есть возможность.
15. Soloist 545 09.07.18 23:09 Сейчас в теме
(14) Согласен, регрессию добавить можно. Надо делать:)
23. Stepa86 1521 10.07.18 10:42 Сейчас в теме
(14) Гиперпараметров у Пророка не то, чтобы много

Init signature: Prophet(growth='linear', changepoints=None, n_changepoints=25, changepoint_range=0.8, yearly_seasonality='auto', weekly_seasonality='auto', daily_seasonality='auto', holidays=None, seasonality_mode='additive', seasonality_prior_scale=10.0, holidays_prior_scale=10.0, changepoint_prior_scale=0.05, mcmc_samples=0, interval_width=0.8, uncertainty_samples=1000)
Docstring:     
Prophet forecaster.

Parameters
----------
growth: String 'linear' or 'logistic' to specify a linear or logistic
    trend.
changepoints: List of dates at which to include potential changepoints. If
    not specified, potential changepoints are selected automatically.
n_changepoints: Number of potential changepoints to include. Not used
    if input `changepoints` is supplied. If `changepoints` is not supplied,
    then n_changepoints potential changepoints are selected uniformly from
    the first `changepoint_range` proportion of the history.
changepoint_range: Proportion of history in which trend changepoints will
    be estimated. Defaults to 0.8 for the first 80%. Not used if
    `changepoints` is specified.
Not used if input `changepoints` is supplied.
yearly_seasonality: Fit yearly seasonality.
    Can be 'auto', True, False, or a number of Fourier terms to generate.
weekly_seasonality: Fit weekly seasonality.
    Can be 'auto', True, False, or a number of Fourier terms to generate.
daily_seasonality: Fit daily seasonality.
    Can be 'auto', True, False, or a number of Fourier terms to generate.
holidays: pd.DataFrame with columns holiday (string) and ds (date type)
    and optionally columns lower_window and upper_window which specify a
    range of days around the date to be included as holidays.
    lower_window=-2 will include 2 days prior to the date as holidays. Also
    optionally can have a column prior_scale specifying the prior scale for
    that holiday.
seasonality_mode: 'additive' (default) or 'multiplicative'.
seasonality_prior_scale: Parameter modulating the strength of the
    seasonality model. Larger values allow the model to fit larger seasonal
    fluctuations, smaller values dampen the seasonality. Can be specified
    for individual seasonalities using add_seasonality.
holidays_prior_scale: Parameter modulating the strength of the holiday
    components model, unless overridden in the holidays input.
changepoint_prior_scale: Parameter modulating the flexibility of the
    automatic changepoint selection. Large values will allow many
    changepoints, small values will allow few changepoints.
mcmc_samples: Integer, if greater than 0, will do full Bayesian inference
    with the specified number of MCMC samples. If 0, will do MAP
    estimation.
interval_width: Float, width of the uncertainty intervals provided
    for the forecast. If mcmc_samples=0, this will be only the uncertainty
    in the trend using the MAP estimate of the extrapolated generative
    model. If mcmc.samples>0, this will be integrated over all model
    parameters, which will include uncertainty in seasonality.
uncertainty_samples: Number of simulated draws used to estimate
    uncertainty intervals.
Показать


Из тех, что у меня хоть как то повлияли на результат - принудительная установка сезонностей. Праздники я подсовывал, но чот они никак не повлияли на результат, а что добавить в качестве регрессоров я не смог придумать, поэтому не пробовал. Всех больше профита давала предобработка входных данных - чистка от выбросов, Бокс-Кокс и удаление интервалов, где случилась явная херня

Если есть знания/опыт в машинном обучении, есть нужный набор признаков и достаточная глубина истории - лучше использовать что-нибудь более мощное и быстрое. Вот пример предсказания аренды великов в зависимости от даты и погоды

тетрадка Юпитера: https://github.com/Yorko/mlcourse_open/blob/master/jupyter_russian/topic06_­features/lesson6_regression_bikes_inclass_march19.ipynb
видео: https://www.youtube.com/watch?v=c_EsDMF3rsI&t=5951s


В статье на хабре Пророк без настроек прогнозировал количество статей на хабре с MAPE 37.35% . Если же подтюнить вход преобразование Бокса-Кокаса, то MAPE 17%

У меня получались такие результаты MAPE на разных данных при планировании на месяцы вперед %: 3,4, 6, 6, 8, 9, 16, 18, 31, 34, 37, 38, 48, 50, 58
При прогнозировании по дням медиана MAPE была в лучшем случае 12%, а в среднем 20-50%. То есть результаты колебаются от "охренеть как точно" до "сойдет".
JohnyDeath; pbabincev; Soloist; +3 Ответить
16. mashinist 6 09.07.18 23:16 Сейчас в теме
установил Docker CE.

docker version
Client:
Version: 18.03.1-ce
API version: 1.37
Go version: go1.9.5
Git commit: 9ee9f40
Built: Thu Apr 26 07:12:48 2018
OS/Arch: windows/amd64
Experimental: false
Orchestrator: swarm

Server:
Engine:
Version: 18.03.1-ce
API version: 1.37 (minimum version 1.24)
Go version: go1.9.5
Git commit: 9ee9f40
Built: Thu Apr 26 07:21:42 2018
OS/Arch: windows/amd64
Experimental: false

Дальше делаю и получаю

docker run -p 4000:80 hardandheavy/eye-prophet
Unable to find image 'hardandheavy/eye-prophet:latest' locally
latest: Pulling from hardandheavy/eye-prophet
C:\Program Files\Docker\Docker\Resources\bin\docker.exe: image operating system "linux" cannot be used on this platform.
See 'C:\Program Files\Docker\Docker\Resources\bin\docker.exe run --help'.

что-то пошло не так...
17. пользователь 10.07.18 07:45
Сообщение было скрыто модератором.
...
18. Soloist 545 10.07.18 07:49 Сейчас в теме
(16) Возможно при установке докера была поставлена галочка использования Windows контейнеров взамен Linux https://www.screencast.com/t/i75Lof8xi
Но это всегда можно переключить обратно нажав на правую кнопку мыши по значку и запустив Linux машину.

Для примера можно набрать
docker run hello-world
Эта команда должна всегда работать
20. mashinist 6 10.07.18 09:19 Сейчас в теме
(18) Да. Получилось вот что

docker run -p 4000:80 hardandheavy/eye-prophet
Unable to find image 'hardandheavy/eye-prophet:latest' locally
latest: Pulling from hardandheavy/eye-prophet
C:\Program Files\Docker\Docker\Resources\bin\docker.exe: image operating system "linux" cannot be used on this platform.
See 'C:\Program Files\Docker\Docker\Resources\bin\docker.exe run --help'.
PS C:\Users\domiu> docker run -p 4000:80 hardandheavy/eye-prophet
Unable to find image 'hardandheavy/eye-prophet:latest' locally
latest: Pulling from hardandheavy/eye-prophet
911c6d0c7995: Pull complete
01a7b783f4b1: Pull complete
fd42853239cf: Pull complete
9a8472db1c97: Pull complete
dc0e7e688ba4: Pull complete
c21395580328: Pull complete
38a300e1f9f7: Pull complete
43bd7163e513: Pull complete
7a30d9838573: Pull complete
d50a5d67d0c0: Pull complete
18c3d6fd8daa: Pull complete
03efc69dec8c: Pull complete
83d81bcc8bba: Pull complete
44f1896e92fc: Pull complete
Digest: sha256:1832652258fb0df6514835a22d4f092c1226efdbe0857a5435a1eae63cb4­de62
Status: Downloaded newer image for hardandheavy/eye-prophet:latest
INFO:matplotlib.font_manager:font search path ['/usr/local/lib/python3.6/site-packages/matplotlib/mpl-data/fonts/ttf', '/usr/local/lib/python3.6/site-packages/matplotlib/mpl-data/fonts/afm', '/usr/local/lib/python3.6/site-packages/matplotlib/mpl-data/fonts/pdfcorefonts']
INFO:matplotlib.font_manager:generated new fontManager
* Serving Flask app "app" (lazy loading)
* Environment: production
WARNING: Do not use the development server in a production environment.
Use a production WSGI server instead.
* Debug mode: off
INFO:werkzeug: * Running on http://0.0.0.0:80/ (Press CTRL+C to quit)

я так понимаю, что http://0.0.0.0:80 это как-то не правильно....
21. Stepa86 1521 10.07.18 09:58 Сейчас в теме
(20) Это норм. 0.0.0.0:80 это внутри контейнера, а наружу смотрит как localhost:4000

Если Иван пересобрал мой вчерашний пулл-реквест, то работоспособность можно проверить зайдя по адресу localhost:4000/version , если все ок, то там будет 0.3 написано.
22. mashinist 6 10.07.18 10:07 Сейчас в теме
(21) переход в браузере http://localhost:4000/version выдает 0.3
типа все ок с docker

изменил

Функция ИмяСервера()

Возврат "localhost:4000";

КонецФункции

запускаю конфу

{ОбщийМодуль._Пророк.Модуль(150)}: Ошибка получения прогноза <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<title>405 Method Not Allowed</title>
<h1>Method Not Allowed</h1>
<p>The method is not allowed for the requested URL.</p>

ВызватьИсключение(СообщениеПриОшибке + " " + Ответ.ПолучитьТелоКакСтроку());
25. Soloist 545 10.07.18 11:38 Сейчас в теме
(22) Тысяча извинений, у вас всё хорошо. Скачайте пожалуйста новый cf. Я поменял немного ресурс по которому надо обращаться к сервису.
После того, как понял, что для исследований некоторым будет сложен докер я решил опубликовать сервер на heroku https://eye-prophet.herokuapp.com/ попозже статью обновлю для таких ребят.
26. mashinist 6 10.07.18 12:34 Сейчас в теме
(25) Ага. Все работает. Попробую на реальных данных в прошлом и сравню с настоящим :-)... интересно
19. пользователь 10.07.18 07:50
Сообщение было скрыто модератором.
...
24. comol 5051 10.07.18 11:10 Сейчас в теме
Очень приятно что в 1С стали появляться люди которые "не боятся", "интересуются" и "делают". Хотя бы только для тестового примера.
Несколько таких статей и видимо уже все поймут что пресловутое "машинное обучение" это что-то из разряда фантастики про "искусственный интеллект", а вполне конкретные библиотеки с удобным интерфейсом, которые вообще без проблем можно использовать в 1С.
kiv1c; JohnyDeath; ilyav; товарищ Ын; Soloist; +5 Ответить
27. mashinist 6 10.07.18 15:23 Сейчас в теме
Прогноз на первое полугодие 2018 года по данным 2017 года




Прогноз продаж на вторую половину 2018 года по данным 2017 и половины 2018



Не очень оно сходится... по прогнозу продажи к концу полугодия должны были приблизится к 20, а по факту не переползли за 15

Ради интереса попробую найти данные за последние 5 лет... Но интересно...
31. Soloist 545 11.07.18 09:28 Сейчас в теме
(27) Картинки к сожалению недоступны.

Ниже я ответил ilyav, что можно пробовать теперь как-то донастраивать Пророка. Вот после таких результатов надо крутить крутилки.
28. ilyav 10.07.18 19:56 Сейчас в теме
Очень странный прогноз, загрузил туда продажи по дням с 2017ого года а он прогноз однотипный выдал, хотя факт разный.
29. Stepa86 1521 10.07.18 22:36 Сейчас в теме
(28) Пророк строит прогноз как Тренд+ГодоваяСезонность+НедельнаяСезонность+ДневнаяСезонност­ь. Тренд определился как константа, для расчета годовой сезонности не хватило данных или она не была определена, дневная сезонность не актуальна. Вот и получилось, что результат прогнозирования состоит из Константа+НедельнаяСезонность
30. Soloist 545 11.07.18 09:21 Сейчас в теме
(28) В данной конфигурации ещё не всё реализовано, но можно попробовать сменить частоту на месяц. Для этого необходимо в метод _Пророк.ПолучитьПрогноз послать третьим параметром структуру с полем Частота равной Месяц

Так-то крутилок много, надо внедрять и крутить)
32. borda4ev 15 11.07.18 10:20 Сейчас в теме
Вопрос, почему модель строится без фичей, это ограничение библиотеки?
33. Stepa86 1521 11.07.18 10:28 Сейчас в теме
(32) А какие фичи вы хотите закинуть в эту модель?

В статье есть ссылка на документацию к библиотеке, там описаны все ее возможности. Эта же статья лишь о том, как можно скрестить ее с 1Ской
34. Soloist 545 11.07.18 12:37 Сейчас в теме
(32) Я с удовольствием бы добавил фичи, если бы их потрогал. Добавить не трудно. Для меня важно понять зачем они мне нужны. А вот понять я смогу, когда возникнет потребность. Сейчас мои задачи немного ушли в другую сторону и я решил выложить, что есть, чтобы не забыть.

Если кто-либо сможет быстрее разобраться, и поделится, то я с удовольствием добавлю с вой проект.

Я в прогнозирование дилетант, так что не обессудьте. Добавить что не попробовал не могу.
36. Hans 2 13.07.18 14:01 Сейчас в теме
почему файл конфигурции можно скачать с яндекс диска а не с Инфостарта?
37. Stepa86 1521 13.07.18 16:27 Сейчас в теме
(36) Последняя актуальная cf версия вообще на гитхабе https://github.com/HardAndHeavy/eye-prophet-cf
40. Soloist 545 16.07.18 08:34 Сейчас в теме
(37) Сделал одну точку через github
39. Soloist 545 16.07.18 08:31 Сейчас в теме
41. Hans 2 16.07.18 12:09 Сейчас в теме
42. Soloist 545 17.07.18 08:21 Сейчас в теме
(41) Утащил все ссылки на github. И ссылки только из одной точки, чтобы не было Яндекс.Диска, файлов публикации и github. Теперь все источники в открытом и свободном доступе.

Спасибо за замечание, думаю теперь не будет вопросов у Доржи. Никак не хотел на этом заработать, и всё старался сделать максимально публично.
38. Evgeniy_Bayd 14.07.18 20:55 Сейчас в теме
Класс!!! Давно пора догонять питон, а то скучно как то...
44. pbabincev 132 19.09.18 00:35 Сейчас в теме
Великолепная работа!
45. E_Babaylova 60 21.07.20 14:30 Сейчас в теме
Не удается воспользоваться по причине ошибки:
{ОбщийМодуль._Пророк.Модуль(173)}: Ошибка получения прогноза <!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta charset="utf-8">
<title>Application Error</title>
<style media="screen">
html,body,iframe {
margin: 0;
padding: 0;
}
html,body {
height: 100%;
overflow: hidden;
}
iframe {
width: 100%;
height: 100%;
border: 0;
}
</style>
</head>
<body>
<iframe src="//www.herokucdn.com/error-pages/application-error.html"></iframe>
</body>
</html>
ВызватьИсключение(СообщениеПриОшибке + " " + Ответ.ПолучитьТелоКакСтроку());
46. Soloist 545 22.07.20 09:04 Сейчас в теме
(45) После публикации контейнера, что вы видите в браузере, если зайдёте на имя сервера (или localhost) где была публикация плюс порт?
Прикрепленные файлы:
47. E_Babaylova 60 22.07.20 20:03 Сейчас в теме
Все работает без контейнера. Спасибо!
48. Soloist 545 23.07.20 08:11 Сейчас в теме
(47) Супер, хорошо, что получилось.
Оставьте свое сообщение