Побудуйте дерево ймовірностей шляху для подорожей через веб-сайт


10

В даний час я роблю аналіз на веб-сайті, який вимагає створити схему дерева рішень, яка показує ймовірний маршрут, який люди проходять, коли вони приходять на веб-сайт. Я маю справу з тим, data.frameякий показує шляхи всіх клієнтів до сайту, починаючи з домашньої сторінки. Наприклад, клієнт може піти таким шляхом:

Homepage - pg 1
Kitchen Items page - pg 2
Pots and Pans page - pg 3

тож цей клієнт мав би подорож на 3 сторінки. Те, що я хочу спробувати зробити в R, - це об'єднати всі шляхи клієнтів і тим самим призначити ймовірність клієнту слідуючи певному шляху на сайті. Наприклад, якби я вивчив усі шляхи, я міг би виявити, що 34% людей, які приїжджають на домашню сторінку, переходять на сторінку "Кухонні предмети". У R є цей заклад?

Я шукав різні методи через пакети rpart та partykit, але вони, здається, не допомогли.

Будь-який кермо в правильному напрямку для цього дуже вдячний!


1
Я мало знаю про цю область, але igraphпакет здається досить вичерпним.
richiemorrisroe

3
yup, igraph - це шлях для візуалізації. Ви повинні заздалегідь обчислити ймовірності переходу самостійно. Взагалі я
порекомендував

1
Чи можете ви розмістити деякі зразкові дані? Це допоможе нам краще зрозуміти ситуацію.
curious_cat

Відповіді:


1

Це не один із способів початку - мати матрицю (скажімо, M n × n ), де n - кількість сторінок. Потім виходячи з вашого елемента матриці збільшення необроблених даних M r c по одному, коли ви користувач переходите зі сторінки r на сторінку c . Це дає вам ймовірність переходу.н×нMn×nнМrcrc

На ваше перше запитання вже відповів такий: "Який відсоток користувачів на домашній сторінці (скажімо, сторінка 1) подорожує поруч із, скажімо, предметами кухні (скажімо, сторінка 2)?"

М12cМ1c

Або це занадто спрощено?


1
Ні, це правильно. Звідси, однак - чи є спосіб динамічно зафіксувати кожне з цього на дереві в R? Якщо ні, чи є інший інструмент, який я міг би використати?
nellington

@nellington: Яке дерево ти маєш на увазі?
curious_cat

1
Переважно дерево ймовірностей, коли головна сторінка є домашньою сторінкою (але якщо я можу змінити кореневий вузол, на іншу сторінку на сайті - це було б чудовою особливістю), кожна гілка кореневого вузла представляла б наступну сторінку, яку відвідували після кореневий вузол. В ідеалі до кожної гілки буде додана% вірогідність. Це було б динамічно в тому сенсі, що я повинен мати можливість розширюватись і стискатись на кожному підвузлі. Чи знаєте ви яке-небудь програмне забезпечення для візуалізації, яке могло б це впоратися?
nellington

@nellington: Для чистої візуалізації ви можете спробувати graphviz. Це дерево буде спрямований графік, і для цього вдається багато інструментів, орієнтованих на графік.
curious_cat

0

Схоже, ви намагаєтесь відтворити алгоритм PageRank Google. Більшість алгоритмів PageRank було розроблено за допомогою ланцюгів Маркова. У Р. можна знайти багато згадок про розробку методів PageRank.

igraph.sourceforge.net/doc/R/page.rank.htm


1
Наскільки я бачу, це не про pagerank. IMHO, єдине перекриття полягає в тому, що шляхи користувачів, швидше за все, співвідносяться з дизайном сайту (посиланнями), але це все. У стороні надане посилання не працює.
steffen

1
Я думаю, що я знайшов посилання, воно, певно, було на веб-сторінці igraph в якийсь момент, оскільки, схоже, він використовує igraph сильно. stat.berkeley.edu/users/vigre/undergrad/reports/…
geneorama

О, я бачу ... і page.rank - це функція в igraph. Деяка документація: link1 link2 link3
geneorama

Після короткого перегляду першого звіту, я вважаю, що це дуже гарна відповідь, і я його проголосував (хоча, можливо, він міг би використати певну розробку!). Начебто, відповідь на функціональність рейтингу сторінки.
генеорама

0

З того, що я бачу тут, я погоджуюся, що іграфи / Марківські ланцюги - це, мабуть, шлях, але ви, безумовно, можете використовувати rpart та / або partykit.

Мені важко дати просту відповідь вашим обмеженим прикладом, але я можу пояснити взагалі, як би ви це зробили.

Ви хочете подивитися, де були всі ваші користувачі, і підсумуйте, наприклад, рядок

"Home / product4 / product3 / product4 / buynow"
"Home / product3 / buynow"
"Home / product3 / product4"

Потім ви можете сегментувати своїх користувачів на категорії, наприклад, тих, хто потрапив на сторінку "купити зараз", і тих, хто цього не зробив. Тоді ви можете просто почати прогнозувати цей термінальний результат. У цьому прикладі, можливо, ви дізнаєтесь, що люди, які зробили найбільше порівняльний магазин, щось не купували / не купували.

Ви також можете зробити більше змінних, наприклад "яка була сторінка перед сторінкою buynow", "скільки сторінок вони відвідали, перш ніж щось придбати" або "коли вони створили свій перший обліковий запис", і ви можете додати ці показники до свого аналізу.

Ви можете пройти багато різних шляхів, і це починає відповідати на різні запитання, але я можу сказати, що ви можете використовувати дерева, а для деяких проблем це може бути швидшим і простішим шляхом до розуміння.

До речі, вам потрібно буде зробити нечислові коефіцієнти змінних, використовуючи factorабо as.factor, якщо ви збираєтесь використовувати party. Вечірка має кілька приємних віньєток для початку роботи.


1
Якщо чесно, я хочу оптимізувати домашню сторінку, тому передбачення того, куди люди переходять із домашньої сторінки на сторінку 2, а потім зі сторінки 2 на третю сторінку - це найважливіший розділ даних, який я хотів би. Сторінка терміналу не викликає особливого інтересу. Я маю URL-адреси сторінок і номери сторінок у подорожі, тому ймовірність переходу виглядає як спосіб зробити це. Незважаючи на це, це здається трохи посібником, і я, хоча R, можливо, зможе надати більш ітеративне рішення ...
nellington

Перечитавши своє запитання та останній коментар, я думаю, що ви просто хочете таблицю того, що люди роблять із домашньої сторінки. (для початку)
генеорама

Що робити з домашньої сторінки та сторінки після домашньої сторінки є найважливішим, але можливість об'єднати всі дані користувачів у r та призначити ймовірності - це найскладніше. Можливо, excel - це шлях? Я спускаюся по вершинах / краях в igraph, але, здається, це завдає більше шкоди, ніж допомоги.
nellington

Я додав контактну інформацію до свого профілю. Може, ми могли б говорити офлайн?
генеорама

це було б дуже корисно, подяка - надіслана пошта
nellington
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.