Size: a a a

R (язык программирования)

2020 June 26

MM

Mikle Mikle in R (язык программирования)
Andrey
Первая часть долгостроя про деревянные модели
https://leanpub.com/treerpython_1
https://leanpub.com/treerpython_2
Рассмотрены теоретические основы построения деревьев решений, построение деревьев при помощи CHAID и сопутствующие темы типа импутации пропусков и метрик качества. Читать можно как новичкам, так и опытным при желании копать вглубь.
Интересно!
А можно какой-то сэмпл книги где-то найти? Главу там или параграф?
источник

A

Andrey in R (язык программирования)
Там же бесплатно все качается
источник

A

Andrey in R (язык программирования)
Две главы на 150 страниц суммарно
источник

MM

Mikle Mikle in R (язык программирования)
а, не заметил, спасибо!
источник

A

Andrey in R (язык программирования)
https://youtu.be/2H2WmzTtmjY это прекрасно
источник

MR

Muzaffar Rasulov in R (язык программирования)
ребят тут одна задачка есть можете помочь, хотя пытаюсь решить на мускуле, но было интересно и Ваше мнение
источник

MR

Muzaffar Rasulov in R (язык программирования)
между входом и выходом нет четкого порядка, т.е. там могут быть и другие пункты...
в таблице я пропустил время нахождения в каждом из пунктов.
скажем у гипермаркета есть несколько входов и выходов и конечно же есть множество магазинов, бутиков и т.д., объекты могут по разному себя вести но вход и выход будет почти одинаковыми т.е. уже определены.
З.Ы. мне надо найти всех объектов (где был и сколько) которые зашли из входа 1 и вышли из выхода 10
источник

MR

Muzaffar Rasulov in R (язык программирования)
Переслано от Muzaffar Rasulov
источник

AP

Anton Pysanka in R (язык программирования)
Muzaffar Rasulov
Переслано от Muzaffar Rasulov
хотя нет, вот так:
- записи в таблице должны быть упорядочены. в новом столбце по порядку нумеруем отдельно входы и отдельно выходы внутри каждого объекта. таким образом вход и выход одного визита объекта должны иметь один и тот же номер. допустим, называем стобец Номер визита
- фильтруем строки где всетрачется 1 + вход и 10 + выход и сохраняем в новую таблицу
- в новой таблице считаем к-во строк по каждому номеру визита и если к-во != 2, тогда удаляем такие строки. так мы избавимся от строк, где объект зашел, например, во вход 1, а вышел в 5
- находим уникальные пары значений по колонкам объект и номер визита
- исходную таблицу фильтруем по совпадению номера обекта и номера визита с теми, что зашли на ходе 1 и вышли на 10 (или делаем внутреннее соединение с уникальными парами объект-визит)
- по образовавшейся таким образом таблице считаем нужные агрегаты времени по колонке Пункт
источник

IS

Ivan Struzhkov in R (язык программирования)
Может я не понял условие - но что в прикуупе - есть объект - у него есть 3 характеристики
точка входа, точка выхода, пункты в которых был.  Создаем поле в которое записываем в виде массива {i,j} где i точка входа a j - точка выхода. По технике это join к исходной таблице таблицы выходов.

основноую таблицу группируем по массиву точке входа и выход и пихаем все точки в которых он был в массив - в посгре это будет

 select in_out , array_agg(пункт)
from main table
group by in_out


на выходе таблица из 2 полей - первая из которых это массив входа и выхода , вторая это массив пунктов - дальше можно уже группировать как угодно
источник
2020 June 27

AP

Anton Pysanka in R (язык программирования)
Ivan Struzhkov
Может я не понял условие - но что в прикуупе - есть объект - у него есть 3 характеристики
точка входа, точка выхода, пункты в которых был.  Создаем поле в которое записываем в виде массива {i,j} где i точка входа a j - точка выхода. По технике это join к исходной таблице таблицы выходов.

основноую таблицу группируем по массиву точке входа и выход и пихаем все точки в которых он был в массив - в посгре это будет

 select in_out , array_agg(пункт)
from main table
group by in_out


на выходе таблица из 2 полей - первая из которых это массив входа и выхода , вторая это массив пунктов - дальше можно уже группировать как угодно
по скрину по одному объекту может быть несколько входов и выходов — этот момент надо учесть
источник

IS

Ivan Struzhkov in R (язык программирования)
я неверное не четко прописал, но все равно работает - массив ин out будет  длинее
источник

MR

Muzaffar Rasulov in R (язык программирования)
Anton Pysanka
по скрину по одному объекту может быть несколько входов и выходов — этот момент надо учесть
так точно, даже может быть обратный ход это когда входом/выходом будет один и тот же пункт
источник

MR

Muzaffar Rasulov in R (язык программирования)
т.е. с А зашел прогулялся вышел с А
есть момент это когда заходит с А выходит с Г потом через некоторое время заходит с Г и выходит с А
источник

IS

Ivan Struzhkov in R (язык программирования)
ну и работает все равно
источник

MR

Muzaffar Rasulov in R (язык программирования)
при этом случае если по условию А и Г то должен учесть по направлению А -> Г
источник

MR

Muzaffar Rasulov in R (язык программирования)
Ivan Struzhkov
Может я не понял условие - но что в прикуупе - есть объект - у него есть 3 характеристики
точка входа, точка выхода, пункты в которых был.  Создаем поле в которое записываем в виде массива {i,j} где i точка входа a j - точка выхода. По технике это join к исходной таблице таблицы выходов.

основноую таблицу группируем по массиву точке входа и выход и пихаем все точки в которых он был в массив - в посгре это будет

 select in_out , array_agg(пункт)
from main table
group by in_out


на выходе таблица из 2 полей - первая из которых это массив входа и выхода , вторая это массив пунктов - дальше можно уже группировать как угодно
работает это?
источник

IS

Ivan Struzhkov in R (язык программирования)
да, маршрут будет учтен
источник

MR

Muzaffar Rasulov in R (язык программирования)
надо будет попробовать в мускуле... хотя не совсем понимаю как там реализовать
источник

IS

Ivan Struzhkov in R (язык программирования)
Muzaffar Rasulov
при этом случае если по условию А и Г то должен учесть по направлению А -> Г
Вообще хорошо бы формализивать образ результата. Я правильно понимаю что стоит задача найти пути всех объектов с определенным фильтром  по пунктам входа и выхода?

При это промежуточный выход тоже должен быть учтен и перемещение вне магазина к другому входу тоже должно быть учтено. То етсь реально весь путь от 1 до 10?
источник